引用本文:曹羽中,吴国全,陈伟,魏峻,黄涛,王溯.一种基于录制/重放的Android应用众包测试方法.软件学报,2020,31(8):2508-2529
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览 3483次   下载 8980 本文二维码信息
码上扫一扫!
分享到: 微信 更多
一种基于录制/重放的Android应用众包测试方法
曹羽中1,2, 吴国全1,3,4,5, 陈伟1,3,4,5, 魏峻1,3,4,5, 黄涛1,3,4, 王溯2
1.中国科学院 软件研究所 软件工程技术研究开发中心, 北京 100190;2.北京城市学院 信息学部, 北京 100083;3.计算机科学国家重点实验室(中国科学院 软件研究所), 北京 100190;4.中国科学院大学, 北京 100049;5.中国科学院 软件研究所 南京软件技术研究院, 江苏 南京 211169
摘要:
随着Android设备的流行和普及,Android生态系统的碎片化问题越发严重.为了确保应用质量,Android应用需要在多种设备上进行测试.为了应对大量重复机械的测试工作,学术界和工业界提出了众多跨设备的测试方法,但目前的方法还有较多的局限性:(1)手工编写设备无关的测试脚本耗时且容易出错;(2)现有录制/重放方法生成的测试脚本在跨设备重放时会出现各种问题,导致重放失败;(3)由于缺少足够的Android设备,应用难以在大量不同类型的设备上进行测试;(4)现有的测试方法由于缺少应用特定的领域知识,无法生成有效的用户输入,导致测试覆盖率不高.基于以上原因,大量的应用在没有经过充分测试后发布,兼容性问题频发.针对以上问题,提出一种基于录制/重放的Android应用众包测试方法,并实现了原型工具AppCheck.AppCheck收集众包用户和设备交互时所产生的事件序列后,将其转换为平台无关的测试脚本,可直接在众包用户的设备上进行重放.在重放期间,AppCheck收集各种测试相关数据(例如截图和布局信息)以检测兼容性问题.实验结果表明,AppCheck能够有效地完成跨设备录制/重放以及兼容性问题的检测,弥补了当前方法的不足.
关键词:  安卓  众包测试  碎片化  自动化测试  录制  重放
DOI:10.13328/j.cnki.jos.005799
分类号:
基金项目:国家重点研发计划(2017YFA0700603);国家自然科学基金(61472407);北京城市学院科研种子基金(KYZZ201801);北京城市学院2018年度实培计划
Crowdsourcing Test Method for Android Applications Based on Recording/Replay
CAO Yu-Zhong1,2, WU Guo-Quan1,3,4,5, CHEN Wei1,3,4,5, WEI Jun1,3,4,5, HUANG Tao1,3,4, WANG Su2
1.Technology Center of Software Engineering, Institute of Software, Chinese Academy of Sciences, Beijing 100190, China;2.Department of Information, Beijing City University, Beijing 100083, China;3.State Key Laboratory of Computer Science(Institute of Software, Chinese Academy of Sciences), Beijing 100190, China;4.University of Chinese Academy of Sciences, Beijing 100049, China;5.Nanjing Institute of Software Technology, Institute of Software, Chinese Academy of Sciences, Nanjing 211169, China
Abstract:
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.
Key words:  Android  crowdsourced testing  fragmentation  automated test  recording  replay

引用本文:
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览次   下载  
分享到: 微信 更多
摘要:
关键词:  
DOI:
分类号:
基金项目:
Abstract:
Key words: