The mobile application market is booming, and android applications occupy a vast market share. However, the applications may contain many errors. The task in the testing phase is to find these errors as soon as possib...
详细信息
ISBN:
(纸本)9783031252006;9783031252013
The mobile application market is booming, and android applications occupy a vast market share. However, the applications may contain many errors. The task in the testing phase is to find these errors as soon as possible. It is urgent to test the application rapidly and effectively. Otherwise, it may affect user experience and cause substantial economic losses. Mobile applications iterate continuously to consummate performance and functional requirements, which leads to the increased complexity of applications and explosive growth of state combinations. Reinforcement learning aims to learn strategies to achieve specific goals by maximizing rewards. This paper applies it to android gui testing. In this paper, we propose ATAC. It is black-box based and adopts Advantage Actor-Critic (A2C) algorithm, which contains an actor (policy) and a critic (value function) to generate test cases automatically through deep reinforcement learning. To verify the validity of the proposed approach, we conducted our experiment on seventeen open-source applications from Github. Compared with ARES and Monkey, ATAC shows higher code coverage and detects more errors.
Benchmarking software testing tools against known bugs is a classic approach to evaluating the tools' bug finding abilities. However, this approach is difficult to give some clues on the tool-missed bugs to aid di...
详细信息
ISBN:
(纸本)9798400703270
Benchmarking software testing tools against known bugs is a classic approach to evaluating the tools' bug finding abilities. However, this approach is difficult to give some clues on the tool-missed bugs to aid diagnosing the testing tools. As a result, heavy and ad hoc manual analysis is needed. In this work, in the setting of guitesting for android apps, we introduce an automata-based trace analysis approach to tackling the key challenge of manual analysis, i.e., how to analyze the lengthy event traces generated by a testing tool against a missed bug to find the clues. Our key idea is that, we model a bug in the form of a finite automaton which captures its bug-triggering traces;and match the event traces generated by the testing tool (which misses this bug) against this automaton to obtain the clues. Specifically, the clues are presented in the form of three designated automata-based coverage values. We apply our approach to enhance Themis, a representative benchmark suite for android, to aid diagnosing guitesting tools. Our extensive evaluation on nine state-of-the-art guitesting tools and the involvement with several tool developers shows that our approach is feasible and useful. Our approach enables Themis+ (the enhanced benchmark suite) to provide the clues on the tool-missed bugs, and all the Themis+'s clues are identical or useful, compared to the manual analysis results of tool developers. Moreover, the clues have helped find several tool weaknesses, which were unknown or unclear before. Based on the clues, two actively-developing industrial testing tools in our study have quickly made several optimizations and demonstrated their improved bug finding abilities. All the tool developers give positive feedback on the usefulness and usability of Themis+'s clues. Themis+ is available at https://***/DDroid-android/home.
Mobile apps are ubiquitous in our daily lives for supporting different tasks such as reading and chatting. Despite the availability of many guitesting tools, app testers still struggle with low testing code coverage ...
详细信息
Mobile apps are ubiquitous in our daily lives for supporting different tasks such as reading and chatting. Despite the availability of many guitesting tools, app testers still struggle with low testing code coverage due to tools frequently getting stuck in loops or overlooking activities with concealed entries. This results in a significant amount of testing time being spent on redundant and repetitive exploration of a few gui pages. To address this, we utilize android's deep links, which assist in triggering android intents to lead users to specific pages and introduce a deep link-enhanced explorationmethod. This approach, integrated into the testing tool Monkey, gives rise to Delm (Deep Link-enhanced Monkey). Delm oversees the dynamic exploration process, guiding the tool out of meaningless testing loops to unexplored gui pages. We provide a rigorous activity context mock-up approach for triggering existing android intents to discover more activities with hidden entrances. We conduct experiments to evaluate Delm's effectiveness on activity context mock-up, activity coverage, method coverage, and crash detection. The findings reveal that Delm can mock up more complex activity contexts and significantly outperform state-of-the-art baselines with 27.2% activity coverage, 21.13% method coverage, and 23.81% crash detection.
Automated guitesting is an essential activity in developing android apps. Monkey is a widely used representative automated input generation (AIG) tool to efficiently and effectively detect crash bugs in android apps....
详细信息
Crowdsourced testing provides an effective way to deal with the problem of android system fragmentation, as well as the application scenario diversity faced by androidtesting. The generation of test requirements is a...
详细信息
ISBN:
(纸本)9781450380089
Crowdsourced testing provides an effective way to deal with the problem of android system fragmentation, as well as the application scenario diversity faced by androidtesting. The generation of test requirements is a significant part of crowdsourced testing. However, manually generating crowdsourced testing requirements is tedious, which requires the issuers to have the domain knowledge of the android application under test. To solve these problems, we have developed a tool named KARA, short for Knowledge Graph Aided Crowdsourced Requirements Generation for androidtesting. KARA first analyzes the result of automatic testing on the android application, through which the operation sequences can be obtained. Then, the knowledge graph of the target application is constructed in a manner of pay-as-you-go. Finally, KARA utilizes knowledge graph and the automatic testing result to generate crowdsourced testing requirements with domain knowledge. Experiments prove that the test requirements generated by KARA are well understandable, and KARA can improve the quality of crowdsourced testing. The demo video can be found at https://***/kE-dOiekWWM.
As the number of android applications has increased dramatically, there is a rising concern about their quality and reliability. In particular, the rich gui interactions supported by android should be thoroughly teste...
详细信息
As the number of android applications has increased dramatically, there is a rising concern about their quality and reliability. In particular, the rich gui interactions supported by android should be thoroughly tested in order to ensure if the behavior of an android application is correct. However, manually creating a gui state model can be tedious and error- prone, especially for a nontrivial application. This paper proposes a crawler that can automatically generate the gui state model for an android application. Particularly, a hierarchical state model is employed to represent the intra- and interactivity gui behavior of android applications in order to increase the model readability. Empirical experiments were conducted to evaluate the proposed crawler and the generated model. The results show that the state model generated by the crawler has a promising coverage as compared to the model created manually. The hierarchical state model can greatly improve the model readability to ease the gui behavior analysis and validation for android applications.
android is currently the most widely used operating system for mobile devices. guitesting for android applications becomes an important research area in which many studies have been conducted. The past studies show t...
详细信息
ISBN:
(纸本)9781467365635
android is currently the most widely used operating system for mobile devices. guitesting for android applications becomes an important research area in which many studies have been conducted. The past studies show that testing a complicated gui design may need a large number of test cases which increases exponentially due to the complexity of the gui. Developers then need to spend a large amount of testing time in executing the test cases to explore the potential software defects. Unfortunately, the testing efficiency issue has not been comprehensively discussed in related studies. In this paper, we describe a parallel guitesting platform called PATS (Parallel androidtesting System) which performs guitesting based on a master-slave model. In PATS, the application under test is analyzed dynamically under the cooperation of the master and the slaves. Since the test cases are also generated in parallel at the runtime, the testing efficiency can be improved. We have implemented a prototype and conducted experiments with android apps. The experimental results show that PATS can effectively improve the testing time with 18.87-35.78% performance improvements.
暂无评论