Page 16 - 《软件学报》2020年第12期
P. 16
3682 Journal of Software 软件学报 Vol.31, No.12, December 2020
4 结束语
随着移动设备的普及,移动应用程序获得了广泛使用.然而,移动应用的界面和逻辑功能日益复杂,增加了
软件测试的难度.目前,主流的移动应用界面测试技术存在着许多不足:人工编写脚本和录制回放技术需要消耗
大量的人力成本,自动化测试在移动应用界面测试的应用场景上受到了诸多限制.针对这些问题,本文提出了一
种基于手绘制导的移动应用界面测试方法.该方法定义了一种简单直观且具有较强表达能力的手绘测试语言.
测试人员仅需按照该语言定义的语法,在待测应用程序的界面图像上作简单绘制,即可准确表达其测试意图.本
文框架会将这些绘制的元素图形自动转换成测试模型,并高效生成符合要求的测试用例.由于用户的手绘图形
明确定义了当前的测试意图,因此本文方法不需要对所有可能的事件组合进行遍历,从而使得生成的测试用例
更为有效且具有针对性.我们以近年来在相关文献中已经用作移动应用界面测试的评估用例集为基准来评估
本文方法的测试效果,评估结果表明:在提供很少人力成本的条件下,手绘图形所表达的用户测试意图在制导移
动应用界面测试上能够起到关键作用.
References:
[1] Statista. Number of available applications in the google play store from December 2009 to June 2019|Statista. 2019. https://www.
statista.com/statistics/266210/number-of-available-applications-in-the-google-play-store/
[2] Baek Y, Bae D. Automated model-based Android GUI testing using multi-level GUI comparison criteria. In: Proc. of the 31st
IEEE/ACM Int’l Conf. on Automated Software Engineering. New York: Academic Press, 2016. 238−249.
[3] Imparato G. A combined technique of GUI ripping and input perturbation testing for Android apps. In: Proc. of the 37th Int’l Conf.
on Software Engineering. New York: IEEE Press, 2015. 760−762.
[4] Yang W, Prasad MR, Xie T. A grey-box approach for automated GUI model generation of mobile applications. In: Proc. of the 16th
Int’l Conf. on Fundamental Approaches to Software Engineering. Berlin: Springer-Verlag, 2013. 250−265.
[5] Choi W, Necula G, Sen K. Guided GUI testing of Android apps with minimal restart and approximate learning. In: Proc. of the
2013 ACM SIGPLAN Int’l Conf. on Object Oriented Programming Systems Languages & Applications. New York: Academic
Press, 2013. 623−640.
[6] Memon AM. An event-flow model of GUI-based applications for testing. Software Testing, Verification and Reliability, 2007,17(3):
137−157.
[7] Memon AM, Pollack ME, Soffa ML. Hierarchical GUI test case generation using automated planning. IEEE Trans. on Software
Engineering, 2001,27(2):144−155.
[8] Amalfitano D, Fasolino AR, Tramontana P, De Carmine S, Memon AM. Using GUI ripping for automated testing of Android
applications. In: Proc. of the 27th IEEE/ACM Int’l Conf. on Automated Software Engineering. New York: Academic Press, 2012.
258−261.
[9] Amalfitano D, Fasolino AR, Tramontana P, Ta BD, Memon AM. MobiGUITAR: Automated model-based testing of mobile apps.
IEEE Trans. on Software Engineering, 2015,32(5):53−59.
[10] Nguyen BN, Robbins B, Banerjee I, Memon AM. GUITAR: An innovative tool for automated testing of GUI-driven software.
Automated Software Engineering, 2014,21(1):65−105.
[11] Choudhary SR, Gorla A, Orso A. Automated test input generation for Android: Are we there yet? In: Proc. of the 2015 30th IEEE/
ACM Int’l Conf. on Automated Software Engineering. New York: Academic Press, 2015. 429−440.
[12] Monkey. UI/Application exerciser monkey. 2018. https://developer.android.com/studio/test/monkey
[13] SwiftHand. GitHub-Wtchoi/SwiftHand: Automated testing tool for android applications. 2015. https://github.com/wtchoi/
SwiftHand
[14] Clapp L, Bastani O, Anand S, et al. Minimizing GUI event traces. In: Proc. of the 2016 24th ACM SIGSOFT Int’l Symp. on
Foundations of Software Engineering. New York: Academic Press, 2016. 422−434.
[15] Machiry A, Tahiliani R, Naik M. Dynodroid: An input generation system for Android apps. In: Proc. of the 2013 9th Joint Meeting
on Foundations of Software Engineering. New York: Academic Press, 2013. 224−234.