ATOM: Automatic Maintenance of GUI Test Scripts for Evolving Mobile Applications

Xiao Li, N. Chang, Yan Wang, Haohua Huang, Yu Pei, Linzhang Wang, Xuandong Li
{"title":"ATOM: Automatic Maintenance of GUI Test Scripts for Evolving Mobile Applications","authors":"Xiao Li, N. Chang, Yan Wang, Haohua Huang, Yu Pei, Linzhang Wang, Xuandong Li","doi":"10.1109/ICST.2017.22","DOIUrl":null,"url":null,"abstract":"The importance of regression testing in assuring the integrity of a program after changes is well recognized. One major obstacle in practicing regression testing is in maintaining tests that become obsolete due to evolved program behavior or specification. For mobile apps, the problem of maintaining obsolete GUI test scripts for regression testing is even more pressing. Mobile apps rely heavily on the correct functioning of their GUIs to compete on the market and provide good user experiences. But on the one hand, GUI tests break easily when changes happen to the GUI, On the other hand, mobile app developers often need to fight for a tight feedback loop and are left with limited time for test maintenance. In this paper, we propose a novel approach, called ATOM, to automatically maintain GUI test scripts of mobile apps for regression testing. ATOM uses an event sequence model to abstract possible event sequences on a GUI and a delta ESM to abstract the changes made to the GUI. Given both models as input, ATOM automatically updates the test scripts written for a base version app to reflect the changes. In an experiment with 22 versions from 11 production Android apps, ATOM updated all the test scripts affected by the version change, the updated scripts achieve over 80% of the coverage by the original scripts on the base version app, all except one set of updated scripts preserve over 60% of the actions in the original test scripts.","PeriodicalId":112258,"journal":{"name":"2017 IEEE International Conference on Software Testing, Verification and Validation (ICST)","volume":"08 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-03-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"47","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 IEEE International Conference on Software Testing, Verification and Validation (ICST)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICST.2017.22","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 47

Abstract

The importance of regression testing in assuring the integrity of a program after changes is well recognized. One major obstacle in practicing regression testing is in maintaining tests that become obsolete due to evolved program behavior or specification. For mobile apps, the problem of maintaining obsolete GUI test scripts for regression testing is even more pressing. Mobile apps rely heavily on the correct functioning of their GUIs to compete on the market and provide good user experiences. But on the one hand, GUI tests break easily when changes happen to the GUI, On the other hand, mobile app developers often need to fight for a tight feedback loop and are left with limited time for test maintenance. In this paper, we propose a novel approach, called ATOM, to automatically maintain GUI test scripts of mobile apps for regression testing. ATOM uses an event sequence model to abstract possible event sequences on a GUI and a delta ESM to abstract the changes made to the GUI. Given both models as input, ATOM automatically updates the test scripts written for a base version app to reflect the changes. In an experiment with 22 versions from 11 production Android apps, ATOM updated all the test scripts affected by the version change, the updated scripts achieve over 80% of the coverage by the original scripts on the base version app, all except one set of updated scripts preserve over 60% of the actions in the original test scripts.
ATOM:为不断发展的移动应用程序自动维护GUI测试脚本
回归测试在保证程序变更后的完整性方面的重要性是公认的。实践回归测试的一个主要障碍是维护由于不断发展的程序行为或规范而过时的测试。对于移动应用来说,维护过时的GUI测试脚本以进行回归测试的问题更加紧迫。手机应用在很大程度上依赖于其gui的正确功能,以在市场上竞争并提供良好的用户体验。但一方面,当GUI发生变化时,GUI测试很容易中断,另一方面,手机应用开发者通常需要争取一个紧密的反馈循环,并且留给测试维护的时间有限。在本文中,我们提出了一种新的方法,称为ATOM,来自动维护移动应用程序的GUI测试脚本进行回归测试。ATOM使用事件序列模型抽象GUI上可能的事件序列,并使用增量ESM抽象对GUI所做的更改。给定两个模型作为输入,ATOM自动更新为基本版本应用程序编写的测试脚本,以反映更改。在对11个生产Android应用的22个版本进行的实验中,ATOM更新了所有受版本变更影响的测试脚本,更新后的脚本在基础版本应用上的覆盖率达到原始脚本的80%以上,除了一组更新后的脚本外,其余脚本保留了原始测试脚本中60%以上的动作。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信