OO testing using CK metrics (CKM ) To improve the development of the software & measure complexity of system Object Oriented metrics 1. number of children in class - Trade Off Find the number of classes which inherit from parent class ( immediate subclasses only ) 2. Depth of inheritance tree - Trade off (0-4) Find the maximum distance between the root and leaf node ( more dit…more complex design ) 3. Weighted method per class - Low Sum of complexities of methods of the class. ( it predicts how much time and effort is required to develop and maintain the object ) 4. Coupling between the object class - Low Number of classes which are interdependent on each other (coupled) 5. Response for the class - Low Number of methods of class + Number of methods called by any of those methods 6. Lack of Cohesion methods - Low Measures how much different the methods are to each other Unit Testing Focus on the smallest unit/element of software-modules, components, class, methods. Done using 1. Black box testing ( tester is unknown to the internal structure ) 2. White box testing ( internal structure is known to tester ) 3. Grey box testing ( White + Black ) ( internal structure is partially known ) ( This includes access to internal data structures and algorithms for purpose of designing the test cases. ) Integration testing After unit testing, integration Testing is done immediately. How all units work together is checked. Performed between two modules ( eg. Compose email & Checking sent box ) 1. Random Integration Testing - Testing using random inputs 2. Cluster (Integration) Testing - Testing a system by dividing it into clusters or groups of related components ( based on functionality, priority or complexity )