Transformation Rules for Platform Independent Testing: An Empirical Study

Most Model-Driven Development projects focus on model-level functional testing. However, our recent study found an average of 67% additional logic-based test requirements from the code compared to the design model. The fact that full coverage at the design model level does not guarantee full coverage at the code level indicates that there are semantic behaviors in the model that model-based tests might miss, e.g., conditional behaviors that are not explicitly expressed as predicates and therefore not tested by logic-based coverage criteria. Avionics standards require that the structure of safety critical software is covered according to logic-based coverage criteria, including MCDC for the highest safety level. However, the standards also require that each test must be derived from the requirements. This combination makes designing tests hard, time consuming and expensive to design. This paper defines a new model that uses transformation rules to help testers define tests at the platform independent model level. The transformation rules have been applied to six large avionic applications. The results show that the new model reduced the difference between model and code with respect to the number of additional test requirements from an average of 67% to 0% in most cases and less than 1% for all applications.

[1]  Ajitha Rajan,et al.  The effect of program and model structure on mc/dc test adequacy coverage , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[2]  István Gergely Czibula,et al.  Using a fUML Action Language to Construct UML Models , 2009, 2009 11th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.

[3]  John Joseph Chilenski,et al.  An Investigation of Three Forms of the Modified Condition Decision Coverage (MCDC) Criterion , 2001 .

[4]  Anders Eriksson,et al.  Model transformation impact on test artifacts: an empirical study , 2012, MoDeVVa '12.

[5]  Mark Harman,et al.  Testability transformation , 2004, IEEE Transactions on Software Engineering.

[6]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[7]  Steven S. Muchnick,et al.  Advanced Compiler Design and Implementation , 1997 .

[8]  Jordi Cabot,et al.  Verifying Action Semantics Specifications in UML Behavioral Models , 2009, CAiSE.

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

[10]  Raimund Kirner,et al.  Automatic calculation of coverage profiles for coverage-based testings , 2009 .

[11]  Mario Friske,et al.  Improving Test Coverage for UML State Machines Using Transition Instrumentation , 2007, SAFECOMP.

[12]  Raimund Kirner Towards Preserving Model Coverage and Structural Code Coverage , 2009, EURASIP J. Embed. Syst..