OBJECT ORIENTED SW TESTING SYSTEM TESTING UNIT TESTING INTEGRATION TESTING INHERITANCE POLYMORPHISM ENCAPSULATION By Skirmantas Sinkus IFM 2/2.

Slides:



Advertisements
Similar presentations
OBJECT ORIENTED TESTING SYSTEM TESTING UNIT TESTING INTEGRATION TESTING INHERITANCE POLYMORPHISM ENCAPSULATION By Maj Nicko Petchiny.
Advertisements

Introduction to Object Oriented Programming Java.
Systems development life cycle & development methodologies
1 Software Testing and Quality Assurance Lecture 28 – Testing Class Hierarchies.
Fall 2007ACS-1805 Ron McFadyen1 Programming Concepts Chapter 4 introduces more advanced OO programming techniques. Construction of a programs usually requires:
Requirements Analysis 9. 1 OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Object.
Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Themes and Variations abstraction -- the object metaphor modeling -- understanding.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
Object Oriented Programming
Programming Languages and Paradigms Object-Oriented Programming.
Eclipse – making OOP Easy
BCS 2143 Introduction to Object Oriented and Software Development.
OOPs Object oriented programming. Based on ADT principles  Representation of type and operations in a single unit  Available for other units to create.
CS 403 – Programming Languages Class 25 November 28, 2000.
School of Computer Science & Information Technology G6DICP - Lecture 22 The Theory of Object Oriented Programming.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Guided Notes Ch. 9 ADT and Modules Ch. 10 Object-Oriented Programming PHP support for OOP and Assignment 4 Term project proposal C++ and Java Designer.
Chapter 12 Support for Object oriented Programming.
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.
Information System Design (IT60105) Lecture 26 Object-Oriented System Testing.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
Software Waterfall Life Cycle
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Midterm Study Guide COP 4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of EE and Computer Science University of Central.
Basic Concepts of Object Orientation Object-Oriented Analysis CIM2566 Bavy LI.
Object-Oriented Programming Chapter Chapter
Inheritance Revisited Other Issues. Multiple Inheritance Also called combination--not permitted in Java, but is used in C++ Also called combination--not.
OOPs Object oriented programming. Abstract data types  Representationof type and operations in a single unit  Available for other units to create variables.
ISBN Object-Oriented Programming Chapter Chapter
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Object Oriented Programming Lecture 3: Things OO.
Testing in OO Environment The reasons for testing is not any different for any of the design and implementation methodologies, including OO methodology.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (2/2)
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
CSCE 240 – Intro to Software Engineering Lecture 3.
Chapter 12: Support for Object- Oriented Programming Lecture # 18.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
ISTM 280, GWU1 Introduction to Systems Analysis and Design Lecture 1 Courtesy Subhasish Dasgupta.
Object-Oriented Programming
Object-Oriented Programming
Object-Oriented Design
Object-Oriented Modeling
Sachin Malhotra Saurabh Choudhary
Chapter 1: Introduction to Systems Analysis and Design
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
Business System Development
Chapter ? Quality Assessment
Design (2).
Systems Analysis and Design With UML 2
Object-Oriented Database Management System (ODBMS)
OOP What is problem? Solution? OOP
Object Oriented Concepts -II
Object Oriented Programming in Java
Object-Oriented Programming
Week 4 Object-Oriented Programming (1): Inheritance
Types of Programming Languages
Inheritance B.Ramamurthy 11/7/2018 B.Ramamurthy.
3 Fundamentals of Object-Oriented Programming
MSIS 670 Object-Oriented Software Engineering
The Object-Oriented Thought Process Chapter 07
Object Oriented Programming
Object Oriented Programming
Testing with OO OO has several key concepts:
Chapter 1: Introduction to Systems Analysis and Design
Basic OOP Concepts and Terms
What Is Good Software(Program)?
Object Oriented Analysis and Design
Object-Oriented Programming
Chapter 1: Introduction to Systems Analysis and Design
Object Oriented Programming(OOP)
Presentation transcript:

OBJECT ORIENTED SW TESTING SYSTEM TESTING UNIT TESTING INTEGRATION TESTING INHERITANCE POLYMORPHISM ENCAPSULATION By Skirmantas Sinkus IFM 2/2

OUTLINE TRADITIONAL VS OO SW DEVELOPMENT AND TESTING OO CONCEPTS/EFFECT ON TESTING PROPOSED OO INTEGRATION TESTING APPROACH EXAMPLE USING TEST APPROACH CONCLUSION

TRADITIONAL DEVELOPMENT & TESTING (WATERFALL LIFE CYCLE) REQUIREMENTS SPEC SYSTEM TESTING PRELIMINARY DESIGN INTEGRATION TESTING – FUNCTIONAL – DECOMPOSITION DETAILED DESIGN UNIT TESTING

TRADITIONAL TESTING SYSTEM – VERIFY SW SATISFIES ALL SW REQRS INTEGRATION – BASED ON STRUCTURE OF DESIGN – TOP DOWN OR BOTTOM UP APPROACH UNIT – ENCAPSULATES FUNCTIONALITY

OO DEVELOPMENT & TESTING DEVELOPMENT BASED ON BEHAVIOUR COMPOSITION TYPICALLY RAPID PROTOTYPING INCREMENTAL APPROACH 3 TRADITIONAL TESTING LEVELS ARE NOT AS CLEARLY DEFINED

OBJECT ORIENTED TESTING SYSTEM – SAME AS TRADITIONAL – STILL BASED ON REQRS SPEC UNIT – TWO COMMON STRUCTURES USED METHOD* CLASS – SAME AS TRADITIONAL(DRIVERS & STUBS)

METHOD 2 METHOD 1 METHOD OBJECT CLASS A BCD E F

METHOD 2 METHOD 1 METHOD OBJECT CLASS A B C D E F

OO INTEGRATION TESTING MAIN PROGRAM IS MINIMIZED MOST COMPLICATED PART OF OO TESTING TESTING BASED ON COMPOSITION IN BOTTOM UP APPROACH USE OF CLUSTERS ORD - CLASS DEPENDENCIES

OO CONCEPTS/EFFECTS ON TESTING ENCAPSULATION POLYMORPHISM INHERITANCE

ENCAPSULATION CLASS STRUCTURE INTERFACE DEFINED BY PUBLIC METHODS BEHAVIOR DEFINED BY METHODS THAT OPERATE ON ITS INSTANCE DATA (IN CONVENTIONAL SEPARATE) HELPS ENFORCE INFO HIDING

ENCAPSULATION TESTING ISSUES MINIMIZES RIPPLE EFFECT (AT THE UNIT LEVEL) OF MAKING A CHANGE HIGHLY DELOCALIZED – CHANGE COULD RESULT IN SIGNIFICANT REGRESSION TESTING ORDER OF TESTING IS IMPORTANT (CAN REDUCE TESTING EFFORT)

METHOD CLASS A CLASS B CLASS C METHOD USES

POLYMORPHISM AN ATTRIBUTE MAY HAVE MORE THAN ONE SET OF VALUES AN OPERATION MAY BE IMPLEMENTED BY MORE THAN ONE METHOD ( e.g GRAPHICS ) OVERLOADING (type or number of variables) DYNAMIC BINDING

OO TESTING ISSUES POLYMORPHISM – DO YOU TEST ONE VARIANT ? – DO YOU TEST ALL VARIATIONS ? – IF ALL, DO YOU TEST ALL VARIANTS AT ALL LEVELS UNIT “INTEGRATION” OR SYSTEM LEVEL – REUSE DRIVERS AND STUBS

INHERITANCE STRUCTURES BASE SUBCLASS SINGLE BASE SUBCLASS BASE MULTIPLEMULTIPLE LEVELS

INHERITANCE PARENT CLASS MODIFIER + RESULT CLASS

INHERITANCE A B C M2 + A M1 + B C A B + B M2 + C

INHERITANCE MODIFIERS NONE (ONLY INHERITED ATTRIBUTE) ADD NEW ATTRIBUTE(S) REDEFINE PARENT’S ATTRIBUTE(S) VIRTUAL ATTRIBUTE (THREADS IN JAVA)

OO TESTING ISSUES INHERITANCE – DO YOU COMPLETELY TEST ALL BASE CLASSES AND THEIR SUB-CLASSES ? – DO YOU COMPLETELY TEST ALL BASE CLASSES AND ONLY TEST THE CHANGES OR MODIFICATIONS IN THEIR SUB-CLASSES ? – AT WHAT LEVELS DO YOU TEST? – IN WHICH ORDER DO YOU TEST?

INHERITED TESTING

OO TESTING METHODOLOGY JORGENSEN AND ERICKSEN PROPOSE 5 LEVELS A METHOD- UNIT TESTING MESSAGE QUIESCENCE- INTEGRATION EVENT QUIESCENCE- INTEGRATION THREAD TESTING- SYSTEM THREAD INTERACTION-SYSTEM

CONCLUSION OO TESTING LEVELS- UNIT &SYSTEM SAME AS TRADITIONAL LEVELS OO INTEGRATION TESTING IS DIFFERENT AND MORE COMPLEX OPTIMAL TEST ORDER SAVES TOOLS REQUIRED TO SCALE UP OO TESTING LIMIT DESIGNERS TO STRAIGHT INHERITANCE (NO REDEFINING)

QUESTIONS? 1.What 3 testing levels are used in OO SW testing? 2.What two common structures used in Unit testing? 3.What is the most complicated part of OO testing? 4.Is order of testing important? 5.How many levels of testing Jorgensen and Ericksen proposing?