Object-oriented software testing

Slides:



Advertisements
Similar presentations
Chapter 10 Software Testing
Advertisements

4. Object-Oriented Programming Procedural programming Structs and objects Object-oriented programming Concepts and terminology Related keywords.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
1 Object-Oriented Testing CIS 375 Bruce R. Maxim UM-Dearborn.
Testing. What is Testing? Definition: exercising a program under controlled conditions and verifying the results Purpose is to detect program defects.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
MT311 Java Application Development and Programming Languages Li Tak Sing( 李德成 )
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Software testing techniques Software testing techniques Object-oriented software testing Presentation on the seminar Kaunas University of Technology.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Unified Modeling Language, Version 2.0 Chapter 2.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 14b: Software Testing Techniques Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Static and Integration Testing. Static Testing vs Dynamic Testing  To find defects  This testing includes verification process  without executing.
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
Software Testing. Purpose: Find errors! not prove that the program does not have them Types of tests: Unit Test Integration Test Function Test Load Test.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
COTS testing Torbjørn Skramstad.
DDC 2223 SYSTEM SOFTWARE DDC2223 SYSTEM SOFTWARE.
Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Testing Tutorial 7.
Business System Development
Integration Testing.
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
The Movement To Objects
Systems Analysis and Design
Sections Basic Concepts of Programming
Object-Oriented Analysis and Design
Software Engineering (CSI 321)
Levels of testing.
Systems Analysis and Design With UML 2
Introduction to Design Patterns
Chapter 8 – Software Testing
OOP What is problem? Solution? OOP
CS101 Introduction to Computing Lecture 19 Programming Languages
Systems Analysis and Design With UML 2
PRINCIPALES OF OBJECT ORIENTED PROGRAMMING
The Object Oriented Approach to Design
COTS testing Tor Stålhane.
Chapter 9: Class Tournament
Some Important Techniques For Regression Testing That You Must Know.
INFS 6225 – Object-Oriented Systems Analysis & Design
Introduction to Software Testing
Chapter 24 Testing Object-Oriented Applications
The Object-Oriented Thought Process Chapter 05
Software testing.
CIS 375 Bruce R. Maxim UM-Dearborn
Chapter 19 Testing Object-Oriented Applications
Systems Analysis and Design
CS240: Advanced Programming Concepts
Analysis models and design models
Baisc Of Software Testing
Chapter 14 Software Testing Techniques
Chapter 13: Construction
Chapter 19 Testing Object-Oriented Applications
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Object Oriented Analysis and Design
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CIS 375 Bruce R. Maxim UM-Dearborn
TYPES OF TESTING.
Chapter 7 Software Testing.
Software Testing Techniques
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

Object-oriented software testing Paulius Urbonas IFM-0/2 2011-05-11

Theme overview Object-oriented software testing purposes Different testing levels Testing methods Benefits of object-oriented software testing Object-oriented software testing issues

The purposes of object-oriented software testing It is used for testing object-oriented systems. It is necessary for testing system objects interactions and behavior in various situations. It tests interfaces of the system components that are put together.

Object-oriented software testing levels Testing an object Testing sets of objects Testing an entire system

Testing an object (unit testing) Unit is a smallest component that can be compiled and executed. There are two options for selecting single unit in object- oriented software: treat each class as unit; treat each method within a class as unit. Unit is normally a component which is only assigned to one programmer.

Single unit testing in object-oriented software Smallest testable unit is the encapsulated class. Test each operation as part of a class. Identify all object attributes. Test all object states behavior. Inheritance leads to a lot of difficulty for testing classes, because of lack of information localization.

Testing sets of objects (integration testing) Integration testing is the testing of the interaction between two or more object-oriented components by sending a message. Integration testing assumes that unit testing has been done on the components and defects have been removed. The goal of integration testing is to find defects that arise when object-oriented components interact with each other in an incorrect way.

Testing an entire system Black box testing Creating test cases by using user requirements or specifications. White box testing Creating test cases by using software code.

Use cases testing Random testing Partitioning testing Testing methods Use cases testing Random testing Partitioning testing

Use cases testing Based on use cases. Focus on user interaction, but not on system interaction. Describes a specific user needs.

Random testing Identify operations applicable to a class. Define constraints on operations use. Identify a minimum test sequence. Generate a variety of random valid test sequences.

Partitioning testing State-based partitioning: Categorize and test operations based on their ability to change the state of a class. Attribute-based partitioning: Categorize and test operations based on the attributes that they use. Category-based partitioning: Categorize and test operations based on the generic function each performs (state changing, queries, termination).

Object-oriented software testing benefits Allows to test individual software objects and their interaction. Allows to detect errors in the initial phase of system implementation. Allows easily automated testing with special tools.

Object-oriented software testing problems Integration testing may add a large cost (time resources) to software development process. Polymorphism - attribute may have more than one set of values and an operation may be implemented by more than one method. Inheritance - object may have more than one super class. Encapsulation - information hiding.

Questions Object-oriented software testing levels? Benefits of object-oriented software testing? Drawbacks of object-oriented software testing?