RTCM: a natural language based, automated, and practical test case generation framework

Based on our experience of collaborating with industry, we observed that test case generation usually relies on test case specifications (TCSs), commonly written in natural language, specifying test cases of a System Under Test at a high level of abstraction. In practice, TCSs are commonly used by test engineers as reference documents to perform these activities: 1) Manually executing test cases in TCSs; 2) Manually coding test cases in a test scripting language for automated test case execution. In the latter case, the gap between TCSs and executable test cases has to be filled by test engineers, requiring a significant amount of coding effort and domain knowledge. Motivated by the above observations from the industry, we first propose, in this paper, a TCS language, named as Restricted Test Case Modeling (RTCM), which is based on natural language and composed of an easy-to-use template, a set of restriction rules and keywords. Second, we propose a test case generation tool (aToucan4Test), which takes TCSs in RTCM as input and generates either manual test cases or automatically executable test cases, based on various coverage criteria defined on RTCM. To assess the applicability of RTCM, we manually modeled two industrial case studies and examined 30 automatically generated TCSs. To evaluate aToucan4Test, we modeled three subsystems of a Video Conferencing System developed by Cisco Systems, Norway and automatically generated executable test cases. These test cases were successfully executed on two commercial software versions. In the paper, we also discuss our experience of applying RTCM and aToucan4Test in an industrial context and compare our approach with other model-based testing methodologies.

[1]  Ji Wu,et al.  Zen-RUCM: A Tool for Supporting a Comprehensive and Extensible Use Case Modeling Framework , 2013, Demos/Posters/StudentResearch@MoDELS.

[2]  Abdeslam En-Nouaary,et al.  Test development for communication protocols: towards automation , 1999, Comput. Networks.

[3]  Kurt Bittner,et al.  Use Case Modeling , 2002 .

[4]  Lionel C. Briand,et al.  Facilitating the transition from use case models to analysis models: Approach and experiments , 2013, TSEM.

[5]  Lionel C. Briand,et al.  Modeling robustness behavior using aspect-oriented modeling to support robustness testing of industrial systems , 2011, Software & Systems Modeling.

[6]  B. Algayres,et al.  GOAL: Observing SDL behaviors with GEODE , 1995 .

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

[8]  Rob Miller,et al.  Translating keyword commands into executable code , 2006, UIST.

[9]  Yinglin Wang,et al.  A genetic algorithm for optimized feature selection with resource constraints in software product lines , 2011, J. Syst. Softw..

[10]  Shokoofeh Hesari,et al.  Towards a systematic requirement-based test generation framework: Industrial challenges and needs , 2013, 2013 21st IEEE International Requirements Engineering Conference (RE).

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

[12]  Bogdan Korel,et al.  Requirement-based automated black-box test generation , 2001, 25th Annual International Computer Software and Applications Conference. COMPSAC 2001.

[13]  Lionel C. Briand,et al.  aToucan: An Automated Framework to Derive UML Analysis Models from Use Case Models , 2015, TSEM.

[14]  Johannes RyserÊÊÊÊÊÊÊÊÊÊÊÊÊÊMartin Glinz,et al.  A Scenario-Based Approach to Validating and Testing Software Systems Using Statecharts , 1999 .

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

[16]  Alexandre Petrenko,et al.  Automating the process of test derivation from SDL specifications , 1997, SDL Forum.

[17]  Shaukat Ali,et al.  Formalizing the ISO/IEC/IEEE 29119 Software Testing Standard , 2015, 2015 ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[18]  Lionel C. Briand,et al.  Automatic generation of system test cases from use case specifications , 2015, ISSTA.

[19]  Hadi Hemmati,et al.  Model-Based Testing of Video Conferencing Systems: Challenges, Lessons Learnt, and Results , 2014, 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation.

[20]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.

[21]  Lionel C. Briand,et al.  Automated Transition from Use Cases to UML State Machines to Support State-Based Testing , 2011, ECMFA.

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

[23]  Flávia de Almeida Barros,et al.  The ucsCNL: A Controlled Natural Language for Use Case Specifications , 2011, SEKE.

[24]  Andrea Arcuri,et al.  Improving the performance of OCL constraint solving with novel heuristics for logical operations: a search-based approach , 2016, Empirical Software Engineering.

[25]  G. Myers,et al.  The Art of Software Testing: Myers/Art , 2012 .

[26]  Clémentine Nebut,et al.  Requirements by contracts allow automated system testing , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[27]  Saurabh Sinha,et al.  Automating test automation , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[28]  Dave Astels,et al.  The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends , 2010 .

[29]  L. C. Briand,et al.  Model Transformations as a Strategy to Automate Model-Based Testing - A Tool and Industrial Case Studies, Version 1.0 , 2010 .

[30]  Dieter Hogrefe,et al.  Tesdl: experience with generating test cases from sdl specifications , 1989 .

[31]  Ji Wu,et al.  A Systematic Approach to Automatically Derive Test Cases from Use Cases Specified in Restricted Natural Languages , 2014, SAM.

[32]  A. Zoitl,et al.  Agile testing concepts based on keyword-driven testing for industrial automation systems , 2012, IECON 2012 - 38th Annual Conference on IEEE Industrial Electronics Society.

[33]  Rick Mugridge,et al.  Fit for Developing Software: Framework for Integrated Tests (Robert C. Martin) , 2005 .

[34]  Lionel C. Briand,et al.  An Automated Approach to Transform Use Cases into Activity Diagrams , 2010, ECMFA.

[35]  Xiaohua Cao,et al.  Towards adaptive framework of keyword driven automation testing , 2008, 2008 IEEE International Conference on Automation and Logistics.

[36]  Lionel C. Briand,et al.  A Use Case Modeling Approach to Facilitate the Transition towards Analysis Models: Concepts and Empirical Evaluation , 2009, MoDELS.

[37]  Anthony Moore,et al.  What's the Story? , 2014 .

[38]  Shaukat Ali,et al.  Bridging the Gap between Requirements and Aspect State Machines to Support Non-functional Testing: Industrial Case Studies , 2012, ECMFA.