Although App updates are frequent and software engineers would like to verify updated features only, automated testing techniques verify entire Apps and are thus wasting resources. We present Continuous Adaptation of Learned Models (CALM), an automated App testing approach that efficiently tests App updates by adapting App models learned when automatically testing previous App versions. CALM focuses on functional testing. Since functional correctness can be mainly verified through the visual inspection of App screens, CALM minimizes the number of App screens to be visualized by software testers while maximizing the percentage of updated methods and instructions exercised. Our empirical evaluation shows that CALM exercises a significantly higher proportion of updated methods and instructions than six state-of-the-art approaches, for the same maximum number of App screens to be visually inspected. Further, in common update scenarios, where only a small fraction of methods are updated, CALM is even quicker to outperform all competing approaches in a more significant way.
翻译:尽管应用程序更新频繁,且软件工程师通常只希望验证更新后的功能,但自动化测试技术却需要验证整个应用程序,从而造成资源浪费。我们提出了持续适配学习模型(CALM),这是一种自动化的应用程序测试方法,通过适配在先前版本自动测试中习得的应用程序模型,高效地测试应用程序更新。CALM专注于功能测试。由于功能正确性主要可通过应用程序界面的视觉检查来验证,CALM在最大化更新方法和指令覆盖比例的同时,最小化软件测试人员需要可视化的应用程序界面数量。我们的实证评估表明,在需要视觉检查的最大应用程序界面数量相同的情况下,CALM所执行的更新方法和指令比例显著高于六种当前最先进的方法。此外,在仅更新少量方法的常见更新场景中,CALM能更快速地以更显著的优势超越所有竞争方法。