Metamorphic Model-Based Testing Applied on NASA DAT -- An Experience Report

Testing is necessary for all types of systems, but becomes difficult when the tester cannot easily determine whether the system delivers the correct result or not. NASA's Data Access Toolkit allows NASA analysts to query a large database of telemetry data. Since the user is unfamiliar with the data and several data transformations can occur, it is impossible to determine whether the system behaves correctly or not in full scale production situations. Small scale testing was already conducted manually by other teams and unit testing was conducted on individual functions. However, there was still a need for full scale acceptance testing on a broad scale. We describe how we addressed this testing problem by applying the idea of metamorphic testing [1]. Specifically, we base it on equivalence of queries and by using the system itself for testing. The approach is implemented using a model-based testing approach in combination with a test data generation and test case outcome analysis strategy. We also discuss some of the issues that were detected using this approach.

[1]  Alex Groce,et al.  Randomized Differential Testing as a Prelude to Formal Verification , 2007, 29th International Conference on Software Engineering (ICSE'07).

[2]  Thomas L. Clune,et al.  Software Testing and Verification in Climate Model Development , 2011 .

[3]  Larry Apfelbaum,et al.  Model Based Testing , 1997 .

[4]  Rance Cleaveland,et al.  Assessing model-based testing: an empirical study conducted in industry , 2014, ICSE Companion.

[5]  Christoph Schulze,et al.  An initial evaluation of model-based testing , 2013, 2013 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW).

[6]  Mikael Lindvall,et al.  An introduction to agile methods , 2004, Adv. Comput..

[7]  Aldo Dagnino,et al.  Agile Software Development in Large Organizations , 2004, Computer.

[8]  Christoph Schulze,et al.  Model-based testing of NASA's OSAL API — An experience report , 2013, 2013 IEEE 24th International Symposium on Software Reliability Engineering (ISSRE).

[9]  Huai Liu,et al.  How Effectively Does Metamorphic Testing Alleviate the Oracle Problem? , 2014, IEEE Transactions on Software Engineering.

[10]  Andreas Hoffmann,et al.  Model-Based Testing , 2012, IEEE Software.