一种基于录制/重放的Android应用众包测试方法  被引量:1

Crowdsourcing Test Method for Android Applications Based on Recording/Replay

在线阅读下载全文

作  者:曹羽中 吴国全[1,3,4,5] 陈伟 魏峻[1,3,4,5] 黄涛 王溯[2] CAO Yu-Zhong;WU Guo-Quan;CHEN Wei;WEI Jun;HUANG Tao;WANG Su(Technology Center of Software Engineering,Institute of Software,Chinese Academy of Sciences,Beijing 100190,China;Department of Information,Beijing City University,Beijing 100083,China;State Key Laboratory of Computer Science(Institute of Software,Chinese Academy of Sciences),Beijing 100190,China;University of Chinese Academy of Sciences,Beijing 100049,China;Nanjing Institute of Software Technology,Institute of Software,Chinese Academy of Sciences,Nanjing 211169,China)

机构地区:[1]中国科学院软件研究所软件工程技术研究开发中心,北京100190 [2]北京城市学院信息学部,北京100083 [3]计算机科学国家重点实验室(中国科学院软件研究所),北京100190 [4]中国科学院大学,北京100049 [5]中国科学院软件研究所南京软件技术研究院,江苏南京211169

出  处:《软件学报》2020年第8期2508-2529,共22页Journal of Software

基  金:国家重点研发计划(2017YFA0700603);国家自然科学基金(61472407);北京城市学院科研种子基金(KYZZ201801);北京城市学院2018年度实培计划。

摘  要:随着Android设备的流行和普及,Android生态系统的碎片化问题越发严重.为了确保应用质量,Android应用需要在多种设备上进行测试.为了应对大量重复机械的测试工作,学术界和工业界提出了众多跨设备的测试方法,但目前的方法还有较多的局限性:(1)手工编写设备无关的测试脚本耗时且容易出错;(2)现有录制/重放方法生成的测试脚本在跨设备重放时会出现各种问题,导致重放失败;(3)由于缺少足够的Android设备,应用难以在大量不同类型的设备上进行测试;(4)现有的测试方法由于缺少应用特定的领域知识,无法生成有效的用户输入,导致测试覆盖率不高.基于以上原因,大量的应用在没有经过充分测试后发布,兼容性问题频发.针对以上问题,提出一种基于录制/重放的Android应用众包测试方法,并实现了原型工具AppCheck.AppCheck收集众包用户和设备交互时所产生的事件序列后,将其转换为平台无关的测试脚本,可直接在众包用户的设备上进行重放.在重放期间,AppCheck收集各种测试相关数据(例如截图和布局信息)以检测兼容性问题.实验结果表明,AppCheck能够有效地完成跨设备录制/重放以及兼容性问题的检测,弥补了当前方法的不足.It is well known that the fragmentation of Android ecosystem has caused severe compatibility issues.Therefore,for Android apps,cross-platform testing(the apps must be tested on a multitude of devices and operating system versions)is particularly important to assure their quality.Although lots of cross-platform testing techniques have been proposed,there are still some limitations:1)It is time-consuming and error-prone to encode platform-agnostic tests manually;2)Test scripts generated by existing record/replay techniques are brittle and will crash when replayed on different platforms;3)Developers,and even test vendors have not equipped with some special Android devices;4)Due to the lack of specific domain knowledge,the existing test methods cannot generate effective user inputs,resulting in low testing coverage.As a result,apps that have not been fully tested,will lead to many compatibility issues after releasing.To address these limitations,this study proposes AppCheck,a crowdsourced testing service for Android apps.To generate tests that will explore different behavior of the app automatically,AppCheck crowdsources event trace collection over the Internet,and various touch events will be captured when real users interact with the app.The collected event traces are then transformed into device-independent test scripts,and directly replayed on the devices of real users.During the replay,various data(e.g.,screenshots and layout information)will be extracted to identify compatibility issues.The empirical evaluation shows that the proposed AppCheck is effective and improves limitations of the state-of-the-art.

关 键 词:安卓 众包测试 碎片化 自动化测试 录制 重放 

分 类 号:TP311[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象