1 / 8

Testing OO Software

Explore the importance of encapsulation in testing object-oriented software, ensuring code quality, and adhering to the Law of Demeter. Learn about testing strategies, separation of concerns, and the benefits of aspect-oriented programming.

ruggeri
Download Presentation

Testing OO Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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.

  2. Testing OO Software • Perry/Kaiser:Adequate Testing and Object-Oriented Programming • Retest everything when context changes

  3. 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

  4. Testing OO Software • Wilde/Huitt: Maintenance Support for Object-Oriented Programs • Law of Demeter • Propagation patterns • Abstracting propagation patterns

  5. 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

  6. 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?

  7. Encapsulation

  8. Two definitions of AOP • NU definition: Collaborating units, loosely coupled, each unit enhancing other units, change in one: minimal changes in others: cross cutting • Xerox PARC: new: an aspect is modular unit that cross-cuts other modular units. Old: Aspect: what is not a component

More Related