|
|
Iterative Android automated testing |
Yi ZHONG1,2, Mengyu SHI1, Youran XU1, Chunrong FANG1, Zhenyu CHEN1() |
1. State Key Laboratory for Novel Software Technology, Nanjing University, Nanjing 210093, China 2. School of Big Data and Computer Science, Chongqing College of Mobile Communication, Chongqing 400065, China |
|
|
Abstract With the benefits of reducing time and workforce, automated testing has been widely used for the quality assurance of mobile applications (APPs). Compared with automated testing, manual testing can achieve higher coverage in complex interactive Activities. And the effectiveness of manual testing is highly dependent on the user operation process (UOP) of experienced testers. Based on the UOP, we propose an iterative Android automated testing (IAAT) method that automatically records, extracts, and integrates UOPs to guide the test logic of the tool across the complex Activity iteratively. The feedback test results can train the UOPs to achieve higher coverage in each iteration. We extracted 50 UOPs and conducted experiments on 10 popular mobile APPs to demonstrate IAAT’s effectiveness compared with Monkey and the initial automated tests. The experimental results show a noticeable improvement in the IAAT compared with the test logic without human knowledge. Under the 60 minutes test time, the average code coverage is improved by 13.98% to 37.83%, higher than the 27.48% of Monkey under the same conditions.
|
Keywords
quality assurance
automated testing
UOP
test coverage
|
Corresponding Author(s):
Zhenyu CHEN
|
Just Accepted Date: 26 July 2022
Issue Date: 15 December 2022
|
|
1 |
F, Pecorelli G, Catolino F, Ferrucci Lucia A, De F Palomba . Software testing and Android applications: a large-scale empirical study. Empirical Software Engineering, 2022, 27( 2): 31
|
2 |
C, Peng A, Rajan T Cai . CAT: change-focused android GUI testing. In: Proceedings of 2021 IEEE International Conference on Software Maintenance and Evolution (ICSME). 2021, 460–470
|
3 |
N, Salehnamadi A, Alshayban J W, Lin I, Ahmed S, Branham S Malek . Latte: use-case and assistive-service driven automated accessibility testing framework for android. In: Proceedings of 2021 CHI Conference on Human Factors in Computing Systems. 2021, 274
|
4 |
W, Ravelo-Méndez C, Escobar-Velásquez M Linares-Vásquez . Kraken: a framework for enabling multi-device interaction-based testing of Android APPs. Science of Computer Programming, 2021, 206: 102627
|
5 |
M J, Noh K T Lee . An analysis of the relationship between quality and user acceptance in smartphone APPs. Information Systems and e-Business Management, 2016, 14( 2): 273–291
|
6 |
S, Sun X, Fu H, Ruan X, Du B, Luo M Guizani . Real-time behavior analysis and identification for android application. IEEE Access, 2018, 6: 38041–38051
|
7 |
D, Amalfitano A R, Fasolino P, Tramontana Carmine S, De A M Memon . Using GUI ripping for automated testing of Android applications. In: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering. 2012, 258–261
|
8 |
R, Huang Q, Zhang D, Towey W, Sun J Chen . Regression test case prioritization by code combinations coverage. Journal of Systems and Software, 2020, 169: 110712
|
9 |
G, Cai Q, Su Z Hu . Automated test case generation for path coverage by using grey prediction evolution algorithm with improved scatter search strategy. Engineering Applications of Artificial Intelligence, 2021, 106: 104454
|
10 |
Z, Liu C, Chen J, Wang Y, Huang J, Hu Q Wang . Guided bug crush: assist manual GUI testing of android APPs via hint moves. In: Proceedings of the 2022 CHI Conference on Human Factors in Computing Systems. 2022, 557
|
11 |
H N, Yasin Hamid S H, Ab R J R Yusof . DroidbotX: test case generation tool for android applications using Q-learning. Symmetry, 2021, 13( 2): 310
|
12 |
L, Li T F, Bissyandé M, Papadakis S, Rasthofer A, Bartel D, Octeau J, Klein L Traon . Static analysis of android APPs: a systematic literature review. Information and Software Technology, 2017, 88: 67–95
|
13 |
P, Kong L, Li J, Gao K, Liu T F, Bissyandé J Klein . Automated testing of android APPs: a systematic literature review. IEEE Transactions on Reliability, 2019, 68( 1): 45–66
|
14 |
A, Méndez-Porras C, Quesada-López M Jenkins . Automated testing of mobile applications: a systematic map and review. In: Proceedings of the XVIII IberoAmerican Conference on Software Engineering. 2015, 195
|
15 |
A, Pilgun O, Gadyatskaya Y, Zhauniarovich S, Dashevskyi A, Kushniarou S Mauw . Fine-grained code coverage measurement in automated black-box android testing. ACM Transactions on Software Engineering and Methodology, 2020, 29( 4): 23
|
16 |
S Liu . Improvement and implementation of android Robotium automated testing framework system. Southeast University, Dissertation, 2017
|
17 |
Z Geng . Study and improvement of android automatic testing. Beijing University of Posts and Telecommunications, Dissertation, 2017
|
18 |
S R, Choudhary A, Gorla A Orso . Automated test input generation for android: are we there yet? (E). In: Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering. 2015, 429–440
|
19 |
N, Mirzaei J, Garcia H, Bagheri A, Sadeghi S Malek . Reducing combinatorics in GUI testing of android applications. In: Proceedings of the 38th IEEE/ACM International Conference on Software Engineering. 2016, 559–570
|
20 |
Y, Hu I, Neamtiu A Alavi . Automatically verifying and reproducing event-based races in Android APPs. In: Proceedings of the 25th International Symposium on Software Testing and Analysis. 2016, 377–388
|
21 |
L, Clapp O, Bastani S, Anand A Aiken . Minimizing GUI event traces. In: Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. 2016, 422–434
|
22 |
H, Heiskanen M, Maunumaa M Katara . A test process improvement model for automated test generation. In: Proceedings of the 13th International Conference on Product-Focused Software Process Improvement. 2012, 17–31
|
23 |
S, Yu C, Fang Y, Feng W, Zhao Z Chen . LIRAT: layout and image recognition driving automated mobile testing of cross-platform. In: Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering. 2019, 1066–1069
|
24 |
G, Grano A, Ciurumelea S, Panichella F, Palomba H C Gall . Exploring the integration of user feedback in automated testing of Android applications. In: Proceedings of the 25th IEEE International Conference on Software Analysis, Evolution and Reengineering. 2018, 72–83
|
25 |
Y, Gu J L Shi . Generality for Technology of Software Testing. Beijing: Tsinghua University Press, 2004
|
26 |
R, Mahmood N, Mirzaei S Malek . EvoDroid: segmented evolutionary testing of Android APPs. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. 2014, 599–609
|
27 |
T, Su G, Meng Y, Chen K, Wu W, Yang Y, Yao G, Pu Y, Liu Z Su . Guided, stochastic model-based GUI testing of Android APPs. In: Proceedings of the 11th Joint Meeting on Foundations of Software Engineering. 2017, 245−256
|
28 |
K, Mao M, Harman Y Jia . Sapienz: multi-objective automated testing for Android applications. In: Proceedings of the 25th International Symposium on Software Testing and Analysis. 2016, 94−105
|
29 |
F, Behrang A Orso . AppTestMigrator: a tool for automated test migration for Android APPs. In: Proceedings of the 42nd IEEE/ACM International Conference on Software Engineering: Companion Proceedings. 2020, 17−20
|
30 |
S, Chen L, Fan C, Chen T, Su W, Li Y, Liu L Xu . StoryDroid: automated generation of storyboard for android APPs. In: Proceedings of the 41st IEEE/ACM International Conference on Software Engineering. 2019, 596−607
|
31 |
L, Fan T, Su S, Chen G, Meng Y, Liu L, Xu G Pu . Efficiently manifesting asynchronous programming errors in Android APPs. In: Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering. 2018, 486−497
|
32 |
M, Pan A, Huang G, Wang T, Zhang X Li . Reinforcement learning based curiosity-driven testing of Android applications. In: Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis. 2020, 153−164
|
33 |
Z, Dong M, Böhme L, Cojocaru A Roychoudhury . Time-travel testing of android APPs. In: Proceedings of the 42nd IEEE/ACM International Conference on Software Engineering. 2020, 481−492
|
34 |
X, Zhang Z, Chen C, Fang Z Liu . Guiding the crowds for Android testing. In: Proceedings of the 38th International Conference on Software Engineering Companion. 2016, 752−753
|
35 |
C Meng . A research on android test automation technology based on dependency injection. Nanjing University, Dissertation, 2017
|
36 |
K, Mao M, Harman Y Jia . Crowd intelligence enhances automated mobile testing. In: Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering. 2017, 16−26
|
|
Viewed |
|
|
|
Full text
|
|
|
|
|
Abstract
|
|
|
|
|
Cited |
|
|
|
|
|
Shared |
|
|
|
|
|
Discussed |
|
|
|
|