当前位置: X-MOL 学术Softw. Test. Verif. Reliab. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Functional test generation from UI test scenarios using reinforcement learning for android applications
Software Testing, Verification and Reliability ( IF 1.5 ) Pub Date : 2020-10-05 , DOI: 10.1002/stvr.1752
Yavuz Koroglu 1 , Alper Sen 1
Affiliation  

With the ever‐growing Android graphical user interface (GUI) application market, there have been many studies on automated test generation for Android GUI applications. These studies successfully demonstrate how to detect fatal exceptions and achieve high coverage with fully automated test generation engines. However, it is unclear how many GUI functions these engines manage to test. The current best practice for the functional testing of Android GUI applications is to design user interface (UI) test scenarios with a non‐technical and human‐readable language such as Gherkin and implement Java/Kotlin methods for every statement of all the UI test scenarios. Writing tests for UI test scenarios is hard, especially when some scenario statements are high‐level and declarative, so it is not clear what actions should the generated test perform. We propose the Fully Automated Reinforcement LEArning‐Driven specification‐based test generator for Android (FARLEAD‐Android). FARLEAD‐Android first translates the UI test scenario to a GUI‐level formal specification as a linear‐time temporal logic (LTL) formula. The LTL formula guides the test generation and acts as a specified test oracle. By dynamically executing the application under test (AUT), and monitoring the LTL formula, FARLEAD‐Android learns how to produce a witness for the UI test scenario, using reinforcement learning (RL). Our evaluation shows that FARLEAD‐Android is more effective and achieves higher performance in generating tests for UI test scenarios than three known engines: Random, Monkey and QBEa. To the best of our knowledge, FARLEAD‐Android is the first fully automated mobile GUI testing engine that uses formal specifications.

中文翻译:

使用针对Android应用程序的强化学习从UI测试场景生成功能测试

随着Android图形用户界面(GUI)应用程序市场的不断增长,已经有许多关于Android GUI应用程序自动测试生成的研究。这些研究成功地演示了如何使用全自动测试生成引擎来检测致命异常并实现高覆盖率。但是,尚不清楚这些引擎设法测试多少个GUI功能。Android GUI应用程序功能测试的当前最佳实践是使用非技术性和人类可读语言(例如Gherkin)设计用户界面(UI)测试方案,并对所有UI测试方案的每条语句实施Java / Kotlin方法。为UI测试方案编写测试非常困难,尤其是在某些方案语句是高级且声明性的情况下,因此尚不清楚生成的测试应执行哪些操作。我们建议针对Android(FARLEAD-Android)的全自动钢筋强化测试驱动的基于规范的测试生成器。FARLEAD-Android首先将UI测试场景转换为GUI级别的正式规范,作为线性时间时态逻辑(LTL)公式。LTL公式指导测试的生成,并充当指定的测试预告片。通过动态执行被测应用程序(AUT)并监视LTL公式,FARLEAD-Android通过强化学习(RL)学习了如何为UI测试场景生成见证。我们的评估表明,与三个已知引擎(Random,Monkey和QBEa)相比,FARLEAD-Android在为UI测试场景生成测试时更有效,并且性能更高。据我们所知,
更新日期:2020-10-05
down
wechat
bug