...
首页> 外文期刊>Empirical Software Engineering >Scripted GUI testing of Android open-source apps: evolution of test code and fragility causes
【24h】

Scripted GUI testing of Android open-source apps: evolution of test code and fragility causes

机译:Android开源应用程序的脚本GUI测试:测试代码和脆弱原因的演变

获取原文
获取原文并翻译 | 示例
           

摘要

Evidence from empirical studies suggests that mobile applications are not thoroughly tested as their desktop counterparts. In particular, GUI testing is generally limited. Like web-based applications, mobile apps suffer from GUI testing fragility, i.e., GUI test classes failing or needing interventions because of modifications in the AUT or in its GUI arrangement and definition. The objective of our study is to examine the diffusion of test classes created with a set of popular GUI Automation Frameworks for Android apps, the amount of changes required to keep test classes up to date, and the amount of code churn in existing test suites, along with the underlying modifications in the AUT that caused such modifications. We defined 12 metrics to characterize the evolution of test classes and test methods, and a taxonomy of 28 possible causes for changes to test code. To perform our experiments, we selected six widely used open-source GUI Automation Frameworks for Android apps. We evaluated the diffusion of the tools by mining the GitHub repositories featuring them, and computed our set of metrics on the projects. Applying the Grounded Theory technique, we then manually analyzed diff files of test classes written with the selected tools, to build from the ground up a taxonomy of causes for modifications of test code. We found that none of the considered GUI automation frameworks achieved a major diffusion among open-source Android projects available on GitHub. For projects featuring tests created with the selected frameworks, we found that test suites had to be modified often - specifically, about 8% of developers' modified LOCs belonged to test code and that a relevant portion (around 50% on average) of those modifications were induced by modifications in GUI definition and arrangement. Test code written with GUI automation fromeworks proved to need significant interventions during the lifespan of a typical Android open-source project. This can be seen as an obstacle for developers to adopt this kind of test automation. The evaluations and measurements of the maintainance needed by test code wrtitten with GUI automation frameworks, and the taxonomy of modification causes, can serve as a benchmark for developers, and the basis for the formulation of actionable guidelines and the development of automated tools to help mitigating the issue.
机译:实证研究的证据表明,移动应用没有被彻底测试为桌面对应物。特别是,GUI测试通常有限。与基于Web的应用程序一样,移动应用程序遭受GUI测试碎片,即GUI测试类因其在AUT或其GUI排列和定义中的修改而失败或需要干预。我们的研究目的是检查用一组流行的GUI自动化框架为Android应用程序创建的测试类的扩散,将测试类保持最新的变更量,以及现有测试套件中的代码流失数量,随着导致此类修改的AUT中的底层修改。我们定义了12个度量标准,以表征测试类和测试方法的演变,以及28个可能的原因进行测试代码的原因。要执行我们的实验,我们为Android应用程序选择了六种广泛使用的开源GUI自动化框架。我们通过挖掘具有它们的GitHub存储库来评估工具的扩散,并在项目上计算了我们的一组指标。应用接地理论技术,然后手动分析了用所选工具写入的测试类的Diff文件,从接地上构建原因的分类,用于修改测试代码。我们发现,没有考虑的GUI自动化框架在Github上提供的开源Android项目之间取得了一个主要的扩散。对于使用所选框架创建的测试的项目,我们发现必须经常修改测试套件 - 特别是大约8%的开发人员的修改座位属于测试代码,并且这些修改的相关部分(平均约50%)由GUI定义和安排的修改引起。在典型的Android开源项目的寿命期间,用GUI自动化文件编写的测试代码证明了在典型的Android开源项目的寿命期间需要显着的干预措施。这可以被视为开发人员采用这种测试自动化的障碍。通过GUI自动化框架与测试代码相关的评估和测量,以及修改原因的分类,可以作为开发人员的基准,以及制定可行的准则和自动化工具的开发以帮助缓解的基础问题。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号