Hawkeye: Change-targeted Testing for Android Apps based on Deep Reinforcement Learning

09/04/2023
by   Chao Peng, et al.
0

Android Apps are frequently updated to keep up with changing user, hardware, and business demands. Ensuring the correctness of App updates through extensive testing is crucial to avoid potential bugs reaching the end user. Existing Android testing tools generate GUI events focussing on improving the test coverage of the entire App rather than prioritising updates and its impacted elements. Recent research has proposed change-focused testing but relies on random exploration to exercise the updates and impacted GUI elements that is ineffective and slow for large complex Apps with a huge input exploration space. We propose directed testing of App updates with Hawkeye that is able to prioritise executing GUI actions associated with code changes based on deep reinforcement learning from historical exploration data. Our empirical evaluation compares Hawkeye with state-of-the-art model-based and reinforcement learning-based testing tools FastBot2 and ARES using 10 popular open-source and 1 commercial App. We find that Hawkeye is able to generate GUI event sequences targeting changed functions more reliably than FastBot2 and ARES for the open source Apps and the large commercial App. Hawkeye achieves comparable performance on smaller open source Apps with a more tractable exploration space. The industrial deployment of Hawkeye in the development pipeline also shows that Hawkeye is ideal to perform smoke testing for merge requests of a complicated commercial App.

READ FULL TEXT
research
11/23/2020

CAT: Change-focused Android GUI Testing

Android Apps are frequently updated, every couple of weeks, to keep up w...
research
01/07/2021

Deep Reinforcement Learning for Black-Box Testing of Android Apps

The state space of Android apps is huge and its thorough exploration dur...
research
12/04/2020

Automated, Cost-effective, and Update-driven App Testing

Apps' pervasive role in our society led to the definition of test automa...
research
08/10/2023

Testing Updated Apps by Adapting Learned Models

Although App updates are frequent and software engineers would like to v...
research
11/23/2021

Style-Guided Web Application Exploration

A wide range of analysis and testing techniques targeting modern web app...
research
08/20/2023

Scene-Driven Exploration and GUI Modeling for Android Apps

Due to the competitive environment, mobile apps are usually produced und...
research
09/19/2018

Divide and Conquer: Recovering Contextual Information of Behaviors in Android Apps around Limited-quantity Audit Logs

Android users are now suffering serious threats from various unwanted ap...

Please sign up or login with your details

Forgot password? Click here to reset