Arunkumar Khannur's Software Testing Knowledge Center

10.2. Object-oriented Systems and State Graphs

In object oriented software development, a class is the basic unit of semantic abstraction, a component is a closely related collection of classes, and a system is a collection of components designed to solve a problem. An object is an instance of a class. Each object consists of states and behaviour, where state is determined by the values of state variables identified in the class definition, and behaviour is determined by methods (i.e. functions or procedures), defined in the class, that operate on one or more object instances to read or modify their state variables. The behaviour of a component involves instantiation of objects; and establishing communication among those objects by invocation of methods so as to have proper messaging. Such instantiation and messaging cause changes on the state variables of the object. Thus in object oriented testing, we have to focus on: Unit Testing, Component Testing, System Testing, and Integration Testing. Unit testing in object oriented system focuses in implementation of methods in class for proper instantiation of objects.

Component testing in object oriented system focuses on behaviour of component and it addresses two points. Firstly, it checks whether methods in the component behave as per specified rules, Secondly, checks whether messages are being sent properly to external objects.

System testing in object-oriented system checks whether behaviour of entire system is as specified by system functional specification.

Integration Testing, which has very crucial role in both component testing and system testing, ensures that messages from objects in one class or component are sent and received in the proper order and have the intended effect on the state of external objects that receive the messages.

All these tests heavily depend on model based testing where in a single class is represented as a finite State Graph.
Khannur's Book
Arunkumar Khannur, Software Testing - Techniques and Applications, Published by Pearson Publications, 2011 (ISBN:978-81-317-5836-6; Pages:341 + xxii)
Follow Khannur
Khannur's Company
ISQT Process & Consulting Services Pvt. Ltd., Bangalore, INDIA
Khannur's Software Testing Forum
 Contact Khannur
ISQT Process & Consulting Services Pvt. Ltd.
#732, 1st Floor, 12th Main,
3rd Block, Rajajinagar,
Bangalore - 560010, INDIA
Phone: +91 80 23012511
Skype: arun.isqt