Automation of Datamorphic Testing

This paper presents an automated tool called Morphy for datamorphic testing. It classifies software test artefacts into test entities and test morphisms, which are mappings on testing entities. In addition to datamorphisms, metamorphisms and seed test case makers, Morphy also employs a set of other test morphisms including test case metrics and filters, test set metrics and filters, test result analysers and test executers to realise test automation. In particular, basic testing activities can be automated by invoking test morphisms. Test strategies can be realised as complex combinations of test morphisms. Test processes can be automated by recording, editing and playing test scripts that invoke test morphisms and strategies. This paper proposes a set of test strategies that combine datamorphisms to generate test sets that adequately cover various types of mutant test cases. These strategies are formally defined. Their implementation algorithms are provided. The correctness of the algorithms are proved. The paper also illustrates their uses for testing both traditional software and AI applications with three case studies.

[1]  Hong Zhu,et al.  OBU-ECM-AFM-2019-01 Morphy : A Datamorphic Software Test Automation Tool Version 1 , 2019 .

[2]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[3]  Marie-Claude Gaudel,et al.  Software testing based on formal specifications: a theory and a tool , 1991, Softw. Eng. J..

[4]  Hong Zhu,et al.  Generating Structurally Complex Test Cases By Data Mutation: A Case Study Of Testing An Automated Modelling Tool , 2009, Comput. J..

[5]  Yuanyuan Zhang,et al.  Search-based software engineering: Trends, techniques and applications , 2012, CSUR.

[6]  Mark Harman,et al.  An Analysis and Survey of the Development of Mutation Testing , 2011, IEEE Transactions on Software Engineering.

[7]  Fabio Cuzzolin,et al.  Datamorphic Testing: A Methodology for Testing AI Applications , 2019, ArXiv.

[8]  Shiguang Shan,et al.  AttGAN: Facial Attribute Editing by Only Changing What You Want , 2017, IEEE Transactions on Image Processing.

[9]  Myra B. Cohen,et al.  An orchestrated survey of methodologies for automated software test case generation , 2013, J. Syst. Softw..

[10]  Xin Zhang,et al.  Monic Testing of Web Services Based on Algebraic Specifications , 2016, 2016 IEEE Symposium on Service-Oriented System Engineering (SOSE).

[11]  Pedram Amini,et al.  Fuzzing: Brute Force Vulnerability Discovery , 2007 .

[12]  Yu Liu,et al.  An Experimental Evaluation of the Reliability of Adaptive Random Testing Methods , 2008, 2008 Second International Conference on Secure System Integration and Reliability Improvement.

[13]  Rachel Harrison,et al.  Datamorphic Testing: A Method for Testing Intelligent Applications , 2019, 2019 IEEE International Conference On Artificial Intelligence Testing (AITest).

[14]  Tsong Yueh Chen,et al.  TACCLE: a methodology for object-oriented software testing at the class and cluster levels , 2001, TSEM.

[15]  Mark Harman,et al.  Regression testing minimization, selection and prioritization: a survey , 2012, Softw. Test. Verification Reliab..

[16]  Hong Zhu A note on test oracles and semantics of algebraic specifications , 2003, Third International Conference on Quality Software, 2003. Proceedings..

[17]  Lionel C. Briand,et al.  Random Testing: Theoretical Results and Practical Implications , 2012, IEEE Transactions on Software Engineering.

[18]  Gerard Meszaros,et al.  xUnit Test Patterns: Refactoring Test Code , 2007 .

[19]  Suman Jana,et al.  DeepTest: Automated Testing of Deep-Neural-Network-Driven Autonomous Cars , 2017, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).

[20]  Rashmi Agrawal,et al.  Search based techniques and mutation analysis in automatic test case generation: A survey , 2015, 2015 IEEE International Advance Computing Conference (IACC).

[21]  Paul Hamill Unit Test Frameworks , 2004 .

[22]  Hareton K. N. Leung,et al.  A survey of combinatorial testing , 2011, CSUR.

[23]  Bin Zhou,et al.  Automated Testing EJB Components Based on Algebraic Specifications , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[24]  I. K. Mak,et al.  Adaptive Random Testing , 2004, ASIAN.

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