Department or Administrative Unit
As we move toward developing object‐oriented (OO) programs, the complexity traditionally found in functions and procedures is moving to the connections among components. Different faults occur when components are integrated to form higher‐level structures that aggregate the behavior and state. Consequently, we need to place more effort on testing the connections among components. Although OO technologies provide abstraction mechanisms for building components that can then be integrated to form applications, it also adds new compositional relations that can contain faults. This paper describes techniques for analyzing and testing the polymorphic relationships that occur in OO software. The techniques adapt traditional data flow coverage criteria to consider definitions and uses among state variables of classes, particularly in the presence of inheritance, dynamic binding, and polymorphic overriding of state variables and methods. The application of these techniques can result in an increased ability to find faults and to create an overall higher quality software.
Alexander, R.T., Offutt, J. and Stefik, A. (2010), Testing coupling relationships in object‐oriented programs. Softw. Test. Verif. Reliab., 20: 291-327. doi:10.1002/stvr.417
Software Testing Verification & Reliability
Copyright © 2010 John Wiley & Sons, Ltd.