Test Sequence Generation For Integration Testing Of Component Software

Ensuring high object interoperability is a goal of integration testing for object-oriented (OO) software. When messages are sent, objects that receive them should respond as intended. Ensuring this is especially difficult when software uses components that are developed by different vendors, in different languages, and the implementation sources are not all available. A finite state machines model of inter-operating OO classes was presented in a previous paper. The previous paper presented details of the method and empirical results from an automatic tool. This paper presents additional details about the tool itself, including how test sequences are generated, how several difficult problems were solved and the introduction of new capabilities to help automate the transformation of test specifications into executable test cases. Although the test method is not 100% automated, it represents a fresh approach to automated testing. It follows accepted theoretical procedures while operating directly on OO software specifications. This yields a data flow graph and executable test cases that adequately cover the graph according to classical graph coverage criteria. The tool supports specification-based testing and helps to bridge the gap between theory and practice.

[1]  S. F. Lundstrom Adaptive random data generation for computer software testing , 1978, AFIPS National Computer Conference.

[2]  A. Jefferson Offutt,et al.  Coupling-based Testing of O-O Programs , 2004, J. Univers. Comput. Sci..

[3]  A. Jefferson Offutt,et al.  Analysis techniques for testing polymorphic relationships , 1999, Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278).

[4]  Allen Goldberg,et al.  Applications of feasible path analysis to program testing , 1994, ISSTA '94.

[5]  David Chenho Kung,et al.  An object-oriented web test model for testing Web applications , 2000, Proceedings First Asia-Pacific Conference on Quality Software.

[6]  S. N. Weiss,et al.  All-Uses versus Mutation Testing : An ExperimentalComparison of E ectiveness , 1996 .

[7]  C. V. Ramamoorthy,et al.  On the Automated Generation of Program Test Data , 1976, IEEE Transactions on Software Engineering.

[8]  Tsun S. Chow,et al.  Testing Software Design Modeled by Finite-State Machines , 1978, IEEE Transactions on Software Engineering.

[9]  Simeon C. Ntafos,et al.  On Required Element Testing , 1984, IEEE Transactions on Software Engineering.

[10]  Tsong Yueh Chen,et al.  In black and white: An integrated approach to class-level testing , 1998 .

[11]  A. Jefferson Offutt,et al.  An Experimental Evaluation of Data Flow and Mutation Testing , 1996 .

[12]  Elaine J. Weyuker,et al.  Data flow analysis techniques for test data selection , 2015, ICSE '82.

[13]  A. Jefferson Offutt,et al.  Coupling‐based criteria for integration testing , 1998 .

[14]  A. Jefferson Offutt,et al.  Criteria for testing polymorphic relationships , 2000, Proceedings 11th International Symposium on Software Reliability Engineering. ISSRE 2000.

[15]  W. Eric Wong,et al.  An empirical comparison of data flow and mutation‐based test adequacy criteria , 1994, Softw. Test. Verification Reliab..

[16]  Phyllis G. Frankl,et al.  Case studies on testing object-oriented programs , 1991, TAV4.

[17]  Lori A. Clarke,et al.  A Formal Evaluation of Data Flow Path Selection Criteria , 1989, IEEE Trans. Software Eng..

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

[19]  Phyllis G. Frankl,et al.  All-uses vs mutation testing: An experimental comparison of effectiveness , 1997, J. Syst. Softw..

[20]  Phyllis G. Frankl,et al.  An Experimental Comparison of the Effectiveness of Branch Testing and Data Flow Testing , 1993, IEEE Trans. Software Eng..

[21]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[22]  A. Jefferson Offutt,et al.  A fault model for subtype inheritance and polymorphism , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[23]  Thomas J. Ostrand,et al.  Experiments on the effectiveness of dataflow- and control-flow-based test adequacy criteria , 1994, Proceedings of 16th International Conference on Software Engineering.

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

[25]  Stuart H. Zweben,et al.  Analysis and Refinement of Software Test Data Adequacy Properties , 1991, IEEE Trans. Software Eng..

[26]  Hong Zhu,et al.  Software unit test coverage and adequacy , 1997, ACM Comput. Surv..

[27]  A. Jefferson Offutt,et al.  Detecting equivalent mutants and the feasible path problem , 1996, Proceedings of 11th Annual Conference on Computer Assurance. COMPASS '96.

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

[29]  Mary Lou Soffa,et al.  Selecting and using data for integration testing , 1991, IEEE Software.

[30]  Keith E. Williamson,et al.  Test data generation and feasible path analysis , 1994, ISSTA '94.

[31]  P. M. Herman,et al.  A Data Flow Analysis Approach to Program Testing , 1976, Aust. Comput. J..

[32]  C. Q. Lee,et al.  The Computer Journal , 1958, Nature.

[33]  James M. Bieman,et al.  Fault detection capabilities of coupling-based OO testing , 2002, 13th International Symposium on Software Reliability Engineering, 2002. Proceedings..

[34]  Tsong Yueh Chen,et al.  TACCLE: a methodology for object-oriented software testing at the class and cluster levels , 2001, TSEM.

[35]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[36]  A. Jefferson Offutt,et al.  MuJava: an automated class mutation system , 2005, Softw. Test. Verification Reliab..

[37]  Janusz W. Laski On data flow guided program testing , 1982, SIGP.

[38]  David Chenho Kung,et al.  Structural testing of Web applications , 2000, Proceedings 11th International Symposium on Software Reliability Engineering. ISSRE 2000.

[39]  David Chenho Kung,et al.  On object state testing , 1994, Proceedings Eighteenth Annual International Computer Software and Applications Conference (COMPSAC 94).

[40]  David J. Robson,et al.  The state-based testing of object-oriented programs , 1993, 1993 Conference on Software Maintenance.

[41]  A. Jefferson Offutt,et al.  Inter-class mutation operators for Java , 2002, 13th International Symposium on Software Reliability Engineering, 2002. Proceedings..

[42]  Lori A. Clarke,et al.  A System to Generate Test Data and Symbolically Execute Programs , 1976, IEEE Transactions on Software Engineering.

[43]  David Chenho Kung,et al.  A test strategy for object-oriented programs , 1995, Proceedings Nineteenth Annual International Computer Software and Applications Conference (COMPSAC'95).

[44]  Michael A. Hennell,et al.  The causes and effects of infeasible paths in computer programs , 1985, ICSE '85.

[45]  MaYu-Seung,et al.  MuJava: an automated class mutation system , 2005 .

[46]  Elaine J. Weyuker,et al.  An Applicable Family of Data Flow Testing Criteria , 1988, IEEE Trans. Software Eng..

[47]  Kuo-Chung Tai,et al.  Test order for inter-class integration testing of object-oriented software , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[48]  Yong Rae Kwon,et al.  Testing of object-oriented programs based on finite state machines , 1995, Proceedings 1995 Asia Pacific Software Engineering Conference.

[49]  Claude Caci,et al.  Testing object-oriented systems , 2000, SOEN.

[50]  K. V. Hanford,et al.  Automatic Generation of Test Cases , 1970, IBM Syst. J..

[51]  A. Jefferson Offutt,et al.  Constraint-Based Automatic Test Data Generation , 1991, IEEE Trans. Software Eng..

[52]  Mei-Hwa Chen,et al.  Testing object-oriented programs - an integrated approach , 1999, Proceedings 10th International Symposium on Software Reliability Engineering (Cat. No.PR00443).

[53]  Bogdan Korel,et al.  Dynamic method for software test data generation , 1992, Softw. Test. Verification Reliab..

[54]  Byoungju Choi,et al.  Effective test case selection for component customization and its application to Enterprise JavaBeans , 2004, Softw. Test. Verification Reliab..