Increasing Class-Component Testability

Testability has many effects on software. In general, increasing testability makes detecting faults easier. However, increasing testability of third party software components is difficult because the source is usually not available. This paper introduces a method to increase component testability. This method helps a user test when the component is reused during integration. First, we analyze a component to gather definition and use information about method and class variables. Then, this information is used to increase component testability to support component testing. Increased testability helps to detect errors, and helps testers observe state variables and generate inputs for testing. This paper uses an example to report the effort (in terms of test cases) and effectiveness (in terms of killed mutants).

[1]  A. Jefferson Offutt,et al.  Coupling-based Criteria for Integration Testing , 1998, Softw. Test. Verification Reliab..

[2]  Sigrid Eldh Software Testing Techniques , 2007 .

[3]  Elaine J. Weyuker,et al.  Selecting Software Test Data Using Data Flow Information , 1985, IEEE Transactions on Software Engineering.

[4]  A. Jefferson Offutt,et al.  UML-Based Integration Testing for Component-Based Software , 2003, ICCBSS.

[5]  Janusz W. Laski,et al.  A Data Flow Oriented Program Testing Strategy , 1983, IEEE Transactions on Software Engineering.

[6]  A. Jefferson Offutt,et al.  Integration testing of object‐oriented components using finite state machines , 2006, Softw. Test. Verification Reliab..

[7]  Robert V. Binder,et al.  Design for testability in object-oriented systems , 1994, CACM.

[8]  M. J. Harrold,et al.  Using Component Metadata to Support the Regression Testing of Component-Based Software , 2001 .

[9]  J. Voas,et al.  Software Testability: The New Verification , 1995, IEEE Softw..

[10]  Simon Stobart,et al.  Employing data flow testing on object-oriented classes , 2001, IEE Proc. Softw..

[11]  Gregg Rothermel,et al.  Performing data flow testing on classes , 1994, SIGSOFT '94.

[12]  Aditya P. Mathur,et al.  Interface Mutation: An Approach for Integration Testing , 2001, IEEE Trans. Software Eng..

[13]  Gregg Rothermel,et al.  Using component metacontent to support the regression testing of component-based software , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[14]  Roy S. Freedman,et al.  Testability of Software Components , 1991, IEEE Trans. Software Eng..