As one of the most popular software applications, a web application is a program, accessible through the web, to dynamically generate content based on user interactions or contextual data, for example, online shopping platforms, social networking sites, and financial services. Web applications operate in diverse environments and leverage web technologies such as HTML, CSS, JavaScript, and Ajax, often incorporating features like asynchronous operations to enhance user experience. Due to the increasing user and popularity of web applications, approaches to their quality have become increasingly important. Web Application Testing (WAT) plays a vital role in ensuring web applications' functionality, security, and reliability. Given the speed with which web technologies are evolving, WAT is especially important. Over the last decade, various WAT approaches have been developed. The diversity of approaches reflects the many aspects of web applications, such as dynamic content, asynchronous operations, and diverse user environments. This paper provides a comprehensive overview of the main achievements during the past decade: It examines the main steps involved in WAT, including test-case generation and execution, and evaluation and assessment. The currently available tools for WAT are also examined. The paper also discusses some open research challenges and potential future WAT work.
翻译:作为最流行的软件应用之一,Web应用是一种可通过网络访问的程序,能基于用户交互或上下文数据动态生成内容,例如在线购物平台、社交网站和金融服务。Web应用运行于多样化的环境中,并利用HTML、CSS、JavaScript和Ajax等Web技术,通常整合异步操作等功能以提升用户体验。随着Web应用用户数量的增长和普及度的提高,其质量保障方法变得日益重要。Web应用测试在确保Web应用的功能性、安全性和可靠性方面发挥着关键作用。鉴于Web技术的快速发展,Web应用测试尤为重要。过去十年间,各类Web应用测试方法不断涌现。方法的多样性反映了Web应用的多个方面,例如动态内容、异步操作和多样化的用户环境。本文全面综述了过去十年的主要成果:探讨了Web应用测试涉及的主要步骤,包括测试用例生成与执行、评估与度量。同时分析了当前可用的Web应用测试工具。本文还讨论了若干开放的研究挑战以及未来潜在的Web应用测试研究方向。