This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Automatic Test Generation: A Use Case Driven Approach
March 2006 (vol. 32 no. 3)
pp. 140-155
Use cases are believed to be a good basis for system testing. Yet, to automate the test generation process, there is a large gap to bridge between high-level use cases and concrete test cases. We propose a new approach for automating the generation of system test scenarios in the context of object-oriented embedded software, taking into account traceability problems between high-level views and concrete test case execution. Starting from a formalization of the requirements based on use cases extended with contracts, we automatically build a transition system from which we synthesize test cases. Our objective is to cover the system in terms of statement coverage with those generated tests: An empirical evaluation of our approach is given based on this objective and several case studies. We briefly discuss the experimental deployment of our approach in the field at Thalès Airborne Systems.

[1] P. Gibson, “Formal Requirements Models: Simulation, Validation, and Verification,” technical report, Computer Science Dept., Nat'l Univ. of Maynooth, Ireland, 2001.
[2] C. Heitmeyer, J. Kirby, and B. Labaw, “Tools for Formal Specification, Verification and Validation of Requirements,” Proc. 12th Ann. Conf. Computer Assurance, 1997.
[3] S. Helke, T. Neustupny, and T. Santen, “Automating Test Case Generation from Z Specifications with Isabelle,” ZUM '97: The Z Formal Specification Notation, LNCS 1212, pp. 52-71. J.P. Bowen, M.G. Hinchey and D. Till, eds. Springer-Verlag, 1997.
[4] B. Legeard, F. Peureux, and M. Utting, “Automated Boundary Testing from Z and B,” Proc. Conf. Formal Methods Europe, 2002.
[5] L. Tahat, B. Vaysburg, B. Koreland, and A. Bader, “Requirement-Based Automated Black-Box Test Generation,” Proc. 25th Ann. Int'l Computer Software and Applications Conf., 2001.
[6] A. Gargantini and C. Heitmeyer, “Using Model Checking to Generate Tests from Requirements Specifications,” Proc. Seventh European Eng. Conf. with Seventh ACM SIGSOFT Int'l Symp. Foundations of Software Eng., 1999.
[7] D. D'Souza and A. Wills, “Interaction Models: Uses, Case Actions, and Collaborations,” Objects, Components, and Frameworks with UML: The Catalysis Approach, Addison-Wesley, 1999.
[8] A. Cockburn, “Structuring Use Cases with Goals,” J. Object-Oriented Programming, pp. 35-40, 56-62, Sept./Oct., Nov./Dec. 1997.
[9] B. Meyer, “Applying Design by Contract,” Computer, vol. 25, no. 10, pp. 40-51, Oct. 1992.
[10] P. Kruchten, Rational Unified Process: An Introduction. Reading, Mass.: Addison-Wesley, 1998.
[11] L. Briand and Y. Labiche, “A UML-Based Approach to System Testing,” J. Software and Systems Modeling, pp. 10-42, 2002.
[12] F. Basanieri, A. Bertolino, and E. Marchetti, “The Cow_Suite Approach to Planning and Deriving Test Suites in UML Projects,” Proc. Fifth Int'l Conf. Unified Modeling Language: Model Eng. Languages, Concepts, and Tools, pp. 383-397, 2002.
[13] J. Ryser and M. Glinz, “Using Dependency Charts to Improve Scenario-Based Testing,” Proc. 17th Int'l Conf. Testing Computer Software, June 2000.
[14] P. Cousot and R. Cousot, “Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints,'' Proc. Conf. Fourth Ann. ACM SIGPLAN-SIGACT Symp. Principles of Programming Languages, pp. 283-252, 1977.
[15] M. Fowler, “Use and Abuse Cases,” Distributed Computing, Apr. 1998.
[16] C. Nebut, F. Fleurey, Y. Le Traon, and J.-M. Jézéquel, “A Requirement-Based Approach to Test Product Families,” Proc. Fifth Workshop Product Families Eng., 2003.
[17] C. Jard, “Synthesis of Distributed Testers from True-Concurrency Models of Reactive Systems,” Information and Software Technology, vol. 45, no. 12, pp. 805-814, 2003.
[18] C. Jard and T. Jéron, “TGV: Theory, Principles and Algorithms,” Proc. Sixth World Conf. Integrated Design and Process Technology, 2002.
[19] D. Lugato, C. Bigot, and Y. Valot, “Validation and Automatic Test Generation on UML Models: The AGATHA Approach,” Electronics Notes in Theorical Computer Science, vol. 66, no. 2, 2002.
[20] K. Weidenhaupt, K. Pohl, M. Jarke, and P. Haumer, “Scenario Usage in System Development: A Report on Current Practice,” IEEE Software, Mar. 1998.
[21] Recommendation ITU-TS Z.120, Message Sequence Chart (MSC), Geneva: Int'l Telecommunication Union— Telecomm. Standardization Sector, 1999.
[22] “Unified Modeling Language: OCL,” Object Management Group, http://www.omg.org/docs/ptc03-08-08.pdf, 2005.
[23] J. Warmer and A. Kleppe, The Object Constraint Language: Precise Modeling with UML. Addison-Wesley, 1998.
[24] E. Gamma and K. Beck, “JUnit,” http:/junit.org, 2005.
[25] L. Briand, W. Dzidek, and Y. Labiche, “Using Aspect-Oriented Programming to Instrument OCL Contracts in Java,” Technical Report SCE-04-03, Carleton Univ., 2004.
[26] OCL Toolkit, http:/dresden-ocl.sourceforge.net, 2005.
[27] K. Marriott and P.J. Stuckey, Programming with Constraints. MIT Press, 2000.
[28] R. Bjork, “An ATM Simulation,” http://www.math-cs.gordon. edu/local/courses/ cs211ATMExample, 2005.
[29] F. Cueto, http://cqs.dyndns.org:81javaftp, 2005.
[30] F. Fleurey, “A Framework to Trace Execution of Java Programs,” http://franck.fleurey.free.frjtracor, 2005.
[31] I. Jacobson, M. Christerson, P. Jonsson, and G. Övergaard, Object-Oriented Softaware Engineering: A Use Case Driven Approach. Addison-Wesley, 1992.
[32] R. Binder, Testing Object-Oriented Systems. Addison-Wesley, 2000.
[33] G. Bernot, M.-C. Gaudeland, B. Marre, “Software Testing Based on Formal Specifications: A Theory and a Tool,” Software Eng. J., vol. 6, no. 6, pp. 387-405, 1991.
[34] J. Dick and A. Faivre, “Automating the Generation and Sequencing of Test Cases from Modelbased Specifications,” Proc. Int'l Symp. Formal Methods Europe, pp. 268-284, 1993.
[35] J. Ryser, S. Berner, and M. Glinz, “On the State of the Art in Requuirements-Based Validation and Test of Software,” technical report, Inst. Für Informatik, Univ. of Zurich, 1998.
[36] J. Offutt and A. Abdurazik, “Generating Tests from UML Specifications,” Proc. Second Int'l Conf. Unified Modeling Language: Beyond the Standard, 1999.
[37] Y. Kim, H. Honh, S. Cho, D. Bae, and S. Cha, “Test Cases Generation from UML State Diagrams,” IEE Proc. Software, vol. 146, no. 4, pp. 187-192, Aug. 1999.
[38] P. Fröhlich and J. Link, “Automated Test Case Generation from Dynamic Models,” Proc. 14th European Conf. Object-Oriented Programming, 2000.
[39] J. Ryser and M. Glinz, “A Scenario-Based Approach to Validating and Testing Software Systems Using Statecharts,” Proc. 12th Int'l Conf. Software and Systems Eng. and Their Applications, Dec. 1999.
[40] M. Riebisch, I. Philippow, and M. Götze, “UML-Based Statistical Test Case Generation,” Proc. Int'l Conf. Net.ObjectDays, vol. 2591, pp. 394-411, 2002.
[41] C. Nebut, F. Fleurey, Y. Le Traon, and J.-M. Jézéquel, “Requirements by Contracts Allow Automated System Testing,” Proc. 14th IEEE Int'l Symp. Software Reliability Eng., 2003.
[42] R.H. Carver and K.-C. Tai, “Use of Sequencing Constraints for Specification-Based Testing of Concurrent Programs,” IEEE Trans. Software Eng., vol. 24, no. 6, pp. 471-490, June 1998.
[43] F. Daniels and K. Tai, “Measuring the Effectiveness of Method Test Sequences Derived from Sequencing Constraints,” Proc. Technology of Object-Oriented Languages and Systems, pp. 74-83, 1999.
[44] Y. Cheon and G.T. Leavens, “A Simple and Practical Approach to Unit Testing: The JML and JUnit Way,” Technical Report 01-12, 2001, http://citeseer.nj.nec.comcheon01simple.html .
[45] M. Benattou, J.-M. Brueland, N. Hameurlain, “Generating Test Data from OCL Specification,” Proc. ECOOP Workshop Integration and Transformation of UML Models, 2002.
[46] “Programme de Recherche CARROLL,” Thalès, INRIA, and CEA, http:/www.carroll-research.org, 2005.

Index Terms:
Use case, test generation, scenarios, contracts, UML.
Citation:
Cl?mentine Nebut, Franck Fleurey, Yves Le Traon, Jean-Marc J?z?quel, "Automatic Test Generation: A Use Case Driven Approach," IEEE Transactions on Software Engineering, vol. 32, no. 3, pp. 140-155, March 2006, doi:10.1109/TSE.2006.22
Usage of this product signifies your acceptance of the Terms of Use.