Datamorphic Testing: A Methodology for Testing AI Applications

With the rapid growth of the applications of machine learning (ML) and other artificial intelligence (AI) techniques, adequate testing has become a necessity to ensure their quality. This paper identifies the characteristics of AI applications that distinguish them from traditional software, and analyses the main difficulties in applying existing testing methods. Based on this analysis, we propose a new method called datamorphic testing and illustrate the method with an example of testing face recognition applications. We also report an experiment with four real industrial application systems of face recognition to validate the proposed approach.

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

[2]  M. M. Lehman Uncertainty in computer application is certain-software engineering as a control , 1990, COMPEURO'90: Proceedings of the 1990 IEEE International Conference on Computer Systems and Software Engineering@m_Systems Engineering Aspects of Complex Computerized Systems.

[3]  Huai Liu,et al.  Metamorphic Testing , 2018, ACM Comput. Surv..

[4]  Hong Zhu,et al.  JFuzz: A Tool for Automated Java Unit Testing Based on Data Mutation and Metamorphic Testing Methods , 2015, 2015 Second International Conference on Trustworthy Systems and Their Applications.

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

[6]  Shiguang Shan,et al.  Arbitrary Facial Attribute Editing: Only Change What You Want , 2017, ArXiv.

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

[8]  Tsong Yueh Chen,et al.  Metamorphic Testing: A New Approach for Generating Next Test Cases , 2020, ArXiv.