
Research Article
Metamorphic Testing for Plant Identification Mobile Applications Based on Test Contexts
@INPROCEEDINGS{10.1007/978-3-030-64214-3_15, author={Hongjing Guo and Chuanqi Tao and Zhiqiu Huang}, title={Metamorphic Testing for Plant Identification Mobile Applications Based on Test Contexts}, proceedings={Mobile Computing, Applications, and Services. 11th EAI International Conference, MobiCASE 2020, Shanghai, China, September 12, 2020, Proceedings}, proceedings_a={MOBICASE}, year={2020}, month={12}, keywords={Test context AI-based software Metamorphic testing}, doi={10.1007/978-3-030-64214-3_15} }
- Hongjing Guo
Chuanqi Tao
Zhiqiu Huang
Year: 2020
Metamorphic Testing for Plant Identification Mobile Applications Based on Test Contexts
MOBICASE
Springer
DOI: 10.1007/978-3-030-64214-3_15
Abstract
With the fast growth of artificial intelligence and big data technologies, AI-based mobile apps are widely used in people’s daily life. However, the quality problem of apps is becoming more and more prominent. Many AI-based mobile apps often demonstrate inconsistent behaviors for the same input data when context conditions are changed. Nevertheless, existing work seldom focuses on performing testing and quality validation for AI-based mobile apps under different context conditions. To automatically test AI-based plant identification mobile apps, this paper introduces TestPlantID, a novel metamorphic testing approach based on test contexts. First, TestPlantID constructs seven test contexts for mimicking contextual factors of plant identification usage scenarios. Next, TestPlantID defines test-context-based metamorphic relations for performing metamorphic testing to detect inconsistent behaviors. Then, TestPlantID generates follow-up images with various test contexts for testing by applying image transformations and photographing real-world plants. Moreover, a case study on three plant identification mobile apps shows that TestPlantID could reveal more than five thousand inconsistent behaviors, and differentiate the capability of detecting inconsistent behaviors with different test contexts.