70 likes | 215 Views
Testing OO Software. Encapsulation means modeling and storing with an object the parts and the operations. Interactions become implicit in code. Makes difficult to understand interactions and to prepare test cases for them. Testing OO Software.
E N D
Testing OO Software • Encapsulation means modeling and storing with an object the parts and the operations. • Interactions become implicit in code. • Makes difficult to understand interactions and to prepare test cases for them.
Testing OO Software • Perry/Kaiser:Adequate Testing and Object-Oriented Programming • Retest everything when context changes
Testing OO Software • Smith/Robson: Object-Oriented Programming - The Problems of Validation • Quality of a collection of classes • Test not only for correctness but quality of code • Code written with a consistent method (such as the Demeter Method) should have a higher quality than ad-hoc written code
Testing OO Software • Wilde/Huitt: Maintenance Support for Object-Oriented Programs • Law of Demeter • Propagation patterns • Abstracting propagation patterns
Small methods problem of OO • In 3 large scale studies: 50% of methods are less than 2 C++ statements or 4 Smalltalk statements • Law of Demeter connection
Testing OO Software • Robert Binder: Design for Testability in Object-Oriented Systems • Separation of concerns • avoid entwined capabilities, makes testing easier • user interface capabilities should not be entwined with basic functions • Law of Demeter • Demeter Compliance: reduces number of interfaces?