A state-based approach to integration testing based on UML models

Correct functioning of object-oriented software depends upon the successful integration of classes. While individual classes may function correctly, several new faults can arise when these classes are integrated together. In this paper, we present a technique to enhance testing of interactions among modal classes. The technique combines UML collaboration diagrams and statecharts to automatically generate an intermediate test model, called SCOTEM (State COllaboration TEst Model). The SCOTEM is then used to generate valid test paths. We also define various coverage criteria to generate test paths from the SCOTEM model. In order to assess our technique, we have developed a tool and applied it to a case study to investigate its fault detection capability. The results show that the proposed technique effectively detects all the seeded integration faults when complying with the most demanding adequacy criterion and still achieves reasonably good results for less expensive adequacy criteria.

[1]  Lionel C. Briand,et al.  A UML-Based Approach to System Testing , 2001, Software and Systems Modeling.

[2]  Simone do Rocio Senger de Souza,et al.  Mutation Testing Applied to Estelle Specifications , 2004, Software Quality Journal.

[3]  Diego Latella,et al.  Formal test-case generation for UML statecharts , 2004, Proceedings. Ninth IEEE International Conference on Engineering of Complex Computer Systems.

[4]  Bernd Bruegge,et al.  Object-Oriented Software Engineering: Using UML, Patterns and Java, Second Edition , 2003 .

[5]  Guoliang Zheng,et al.  Generating test cases from UML activity diagram based on Gray-box method , 2004, 11th Asia-Pacific Software Engineering Conference.

[6]  Ji Wang,et al.  Property-oriented test generation from UML Statecharts , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[7]  Lionel C. Briand,et al.  Is mutation an appropriate tool for testing experiments? , 2005, ICSE.

[8]  Sergiu M. Dascalu,et al.  A UML-Based Approach for Testing Web Applications , 2004, CATA.

[9]  Stephan Herrmann,et al.  Using Object Teams for State-Based Class Testing , 2004 .

[10]  Ana R. Cavalli,et al.  From UML models to automatic generated tests for the dotLRN e-learning platform , 2005, Electron. Notes Theor. Comput. Sci..

[11]  Rainer Unland,et al.  Objects, Components, Architectures, Services, and Applications for a Networked World , 2003, Lecture Notes in Computer Science.

[12]  Lionel C. Briand,et al.  Towards Automated Support for Deriving Test Data from UML Statecharts , 2003, UML.

[13]  Frank Maurer,et al.  Using UML to Partially Automate Generation of Scenario-Based Test Drivers , 2001, OOIS.

[14]  Alfredo Benso,et al.  System-level functional testing from UML specifications in end-of-production industrial environments , 2005, International Journal on Software Tools for Technology Transfer.

[15]  Sigrid Eldh Software Testing Techniques , 2007 .

[16]  Boris Beizer,et al.  Software testing techniques (2. ed.) , 1990 .

[17]  Jirí Adámek On a Description of Terminal Coalgebras and Iterative Theories , 2003, CMCS.

[18]  A. Jefferson Offutt,et al.  Using UML Collaboration Diagrams for Static Checking and Test Generation , 2000, UML.

[19]  Jean-Marc Jézéquel,et al.  Selecting an Efficient OO Integration Testing Strategy: An Experimental Comparison of Actual Strategies , 2001, ECOOP.

[20]  P. Chevalley,et al.  Automated generation of statistical test cases from UML state diagrams , 2001, 25th Annual International Computer Software and Applications Conference. COMPSAC 2001.

[21]  Xie Xiao-dong Testing based on sequence diagrams , 2008 .

[22]  Shaoying Liu,et al.  Generating test data from state‐based specifications , 2003, Softw. Test. Verification Reliab..

[23]  Jean Hartmann,et al.  UML-Based integration testing , 2000, ISSTA '00.

[24]  Alessandro Orso,et al.  Automated Testing of Classes , 2000, ISSTA '00.

[25]  Jean-Marc Jézéquel,et al.  Efficient object-oriented integration and regression testing , 2000, IEEE Trans. Reliab..

[26]  Doo-Hwan Bae,et al.  Test cases generation from UML state diagrams , 1999, IEE Proc. Softw..

[27]  Eda Marchetti,et al.  Introducing a Reasonably Complete and Coherent Approach for Model-based Testing , 2005, TACoS.

[28]  Jean-Marc Jézéquel,et al.  Test Synthesis from UML Models of Distributed Software , 2007, IEEE Transactions on Software Engineering.

[29]  A. Bertolino,et al.  CoWTeSt : A Cost Weighted Test Strategy , 2001 .

[30]  Peter Fröhlich,et al.  Automated Test Case Generation from Dynamic Models , 2000, ECOOP.

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

[32]  Aamer Nadeem,et al.  A state-based approach to integration testing for object-oriented programs , 2005 .

[33]  A. Jefferson Offutt,et al.  Coverage criteria for logical expressions , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[34]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[35]  M. Scheetz,et al.  Generating test cases from an OO model with an AI planning system , 1999 .

[36]  Simon Burton Towards Automated Unit Testing of Statechart Implementations , 1999 .

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

[38]  Wanchai Rivepiboon,et al.  Automated-generating test case using UML statechart diagrams , 2003 .

[39]  Lionel C. Briand,et al.  Automating impact analysis and regression test selection based on UML designs , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[40]  Roger Duke,et al.  A UML approach to the generation of test sequences for Java-based concurrent systems , 2005, 2005 Australian Software Engineering Conference.

[41]  Gregg Rothermel,et al.  Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis , 2004 .

[42]  Massimiliano Di Penta,et al.  Assessing and improving state-based class testing: a series of experiments , 2004, IEEE Transactions on Software Engineering.

[43]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[44]  Robert B. France,et al.  Generating test cases from an OO model with an AI planning system , 1999, Proceedings 10th International Symposium on Software Reliability Engineering (Cat. No.PR00443).

[45]  Lionel C. Briand,et al.  An Investigation of Graph-Based Class Integration Test Order Strategies , 2003, IEEE Trans. Software Eng..

[46]  A. Jefferson Offutt,et al.  Generating Tests from UML Specifications , 1999, UML.

[47]  Huaikou Miao,et al.  A UML-Based Approach to Testing Web Applications , 2008, 2008 International Symposium on Computer Science and Computational Technology.

[48]  Ashok Sreenivas,et al.  A Technique for Model-Based Testing of Classes , 2001 .

[49]  Mourad Badri,et al.  A Use Case Driven Testing Process: Towards a Formal Approach Based on UML Collaboration Diagrams , 2003, FATES.

[50]  A. S. M. Sajeev,et al.  UML Modeling for Regression Testing of Component Based Systems , 2003, Electron. Notes Theor. Comput. Sci..

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

[52]  Kirill Bogdanov Automated testing of Harel's statecharts , 2000 .

[53]  Ilka Philippow,et al.  UML-Based Statistical Test Case Generation , 2002, NetObjectDays.

[54]  Alan Hartman,et al.  The AGEDIS tools for model based testing , 2004, ISSTA '04.

[55]  A. Bertolino,et al.  A Practical approach to UML-based derivation of integration tests , 2000 .

[56]  Zhichang Qi,et al.  Test selection from UML Statecharts , 1999, Proceedings Technology of Object-Oriented Languages and Systems (Cat. No.PR00393).

[57]  Alessandro Orso,et al.  Interclass testing of object oriented software , 2002, Eighth IEEE International Conference on Engineering of Complex Computer Systems, 2002. Proceedings..

[58]  Robert B. France,et al.  Rigorous Testing by Merging Structural and Behavioral UML Representations , 2003, UML.

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

[60]  Bernd Bruegge,et al.  Object-Oriented Software Engineering Using UML, Patterns, and Java , 2009 .

[61]  Falk Fraikin,et al.  SeDiTeC-testing based on sequence diagrams , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[62]  A. Jefferson Offutt,et al.  Maintaining evolving component-based software with UML , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[63]  Antonio Bucchiarone,et al.  TESTOR: deriving test sequences from model-based specifications , 2005, CBSE'05.

[64]  David Chenho Kung,et al.  Object-oriented software testing-some research and development , 1998, Proceedings Third IEEE International High-Assurance Systems Engineering Symposium (Cat. No.98EX231).