TY - GEN
T1 - Automatic web testing using curiosity-driven reinforcement learning
AU - Zheng, Yan
AU - Liu, Yi
AU - Xie, Xiaofei
AU - Liu, Yepang
AU - Ma, Lei
AU - Hao, Jianye
AU - Liu, Yang
N1 - Funding Information:
The work is supported in part by the National Natural Science Foundation of China (Grant No. U1836214), Special Program of Artificial Intelligence and Special Program of Artificial Intelligence of Tianjin Municipal Science and Technology Commission (No. 569 17ZXRGGX00150), Tianjin Natural Science Fund (No. 19JCYBJC16300), Research on Data Platform Technology Based on Automotive Electronic Identification System, Singapore National Research Foundation, under its National Cybersecurity R&D Program (No. NRF2018NCR-NCR005-0001), Singapore National Research Foundation under NCR (No. NRF2018NCR-NS0E003-0001), NRF Investi-gatorship (No. NRFI06-2020-0022), JSPS KAKENHI (Grant No. 20H04168, 19K24348, 19H04086), JST-Mirai Program (Grant No. JPMJMI18BB), Japan, and Guangdong Provincial Key Laboratory (Grant No. 2020B121201001), China.
Publisher Copyright:
© 2021 IEEE.
PY - 2021/5
Y1 - 2021/5
N2 - Web testing has long been recognized as a notoriously difficult task. Even nowadays, web testing still mainly relies on manual efforts in many cases while automated web testing is still far from achieving human-level performance. Key challenges include dynamic content update and deep bugs hiding under complicated user interactions and specific input values, which can only be triggered by certain action sequences in the huge space of all possible sequences. In this paper, we propose WebExplor, an automatic end-to-end web testing framework, to achieve an adaptive exploration of web applications. WebExplor adopts a curiosity-driven reinforcement learning to generate high-quality action sequences (test cases) with temporal logical relations. Besides, WebExplor incrementally builds an automaton during the online testing process, which acts as the high-level guidance to further improve the testing efficiency. We have conducted comprehensive evaluations on six real-world projects, a commercial SaaS web application, and performed an in-the-wild study of the top 50 web applications in the world. The results demonstrate that in most cases WebExplor can achieve significantly higher failure detection rate, code coverage and efficiency than existing state-of-the-art web testing techniques. WebExplor also detected 12 previously unknown failures in the commercial web application, which have been confirmed and fixed by the developers. Furthermore, our in-the-wild study further uncovered 3,466 exceptions and errors.
AB - Web testing has long been recognized as a notoriously difficult task. Even nowadays, web testing still mainly relies on manual efforts in many cases while automated web testing is still far from achieving human-level performance. Key challenges include dynamic content update and deep bugs hiding under complicated user interactions and specific input values, which can only be triggered by certain action sequences in the huge space of all possible sequences. In this paper, we propose WebExplor, an automatic end-to-end web testing framework, to achieve an adaptive exploration of web applications. WebExplor adopts a curiosity-driven reinforcement learning to generate high-quality action sequences (test cases) with temporal logical relations. Besides, WebExplor incrementally builds an automaton during the online testing process, which acts as the high-level guidance to further improve the testing efficiency. We have conducted comprehensive evaluations on six real-world projects, a commercial SaaS web application, and performed an in-the-wild study of the top 50 web applications in the world. The results demonstrate that in most cases WebExplor can achieve significantly higher failure detection rate, code coverage and efficiency than existing state-of-the-art web testing techniques. WebExplor also detected 12 previously unknown failures in the commercial web application, which have been confirmed and fixed by the developers. Furthermore, our in-the-wild study further uncovered 3,466 exceptions and errors.
UR - http://www.scopus.com/inward/record.url?scp=85112295528&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85112295528&partnerID=8YFLogxK
U2 - 10.1109/ICSE43902.2021.00048
DO - 10.1109/ICSE43902.2021.00048
M3 - Conference contribution
AN - SCOPUS:85112295528
T3 - Proceedings - International Conference on Software Engineering
SP - 423
EP - 435
BT - Proceedings - 2021 IEEE/ACM 43rd International Conference on Software Engineering, ICSE 2021
PB - IEEE Computer Society
T2 - 43rd IEEE/ACM International Conference on Software Engineering, ICSE 2021
Y2 - 22 May 2021 through 30 May 2021
ER -