Using Webpage Comparison Method for Automated Web Application Testing with Reinforcement Learning
Web application testing often uses crawlers to explore the application under test (AUT) and identify potential vulnerabilities. For dynamically generated pages, crawlers must provide test inputs for web forms. A previous tool combines a web crawler with a reinforcement learning agent, which uses code coverage to guide the crawler in filling web forms. This paper aims to improve the applicability of web application testing by using webpage comparison techniques instead of code coverage and source code access, thereby enhancing the handling of multiple web forms on a single page. Experimental results show that this approach explores more pages, reaches greater crawling depths, and achieves better code coverage than the original method. It also interacts more efficiently with multiple web forms and outperforms a random-action Monkey on new, untrained web applications. Therefore, this approach is promising for automated web application testing.
10
- 10.1007/s11227-018-2335-4
- Mar 28, 2018
- The Journal of Supercomputing
2
- 10.1109/aieee.2018.8592241
- Nov 1, 2018
4
- 10.3390/electronics13020427
- Jan 19, 2024
- Electronics
21
- 10.1016/j.scico.2014.09.005
- Sep 28, 2014
- Science of Computer Programming
25405
- 10.1038/nature14236
- Feb 25, 2015
- Nature
55
- 10.1109/icse43902.2021.00048
- May 1, 2021
22
- 10.1109/ase.2015.70
- Nov 1, 2015
400
- 10.1145/2109205.2109208
- Mar 1, 2012
- ACM Transactions on the Web
30
- 10.1145/3194718.3194720
- May 28, 2018
15
- 10.1016/j.jss.2022.111512
- Sep 24, 2022
- Journal of Systems and Software
- Research Article
- 10.34185/1562-9945-4-147-2023-07
- Nov 13, 2023
- System technologies
An important practical task for developers is the rapid creation and maintenance of high-quality multi-level software. It is assumed that the developed product will meet the qual-ity characteristics. And, if we talk about testing applications of different types, then you should pay attention to their features. For example, web applications have critical areas that must be checked. Thus, the purpose of this article is to analyse various methods and technics for testing web applications. The article provides a detailed analysis of the latest publications related to testing web applications. It turned out that most of the articles are aimed at describing terms or general information about testing. Several articles describe automated testing with Selenium, IBM Rational, SilkPerformer, TestComplete, HP QuickTest Professional, JUnit and compare them in terms of efficiency in various applications. However, most of the articles are devoted to various aspects of manual testing. In order to identify the factors that distinguish web application testing from desktop ap-plication testing, a table has been compiled comparing them according to the following crite-ria: environment, platform, deployment and updating, architecture, connectivity, availability. This comparison shows that web applications have several features that need to be consid-ered when testing them. In our opinion, the main critical areas of web applications that require additional de-scription and instructions are unity of design, navigation and "friendliness" to the user, func-tionality, security, compatibility with browsers and operating systems, and productivity. The article describes the specifics of testing critical zones and gives an estimate of the resource consumption of their testing. Tests are also recommended, which are useful for testing web and desktop applications.
- Conference Article
2
- 10.1109/pic.2015.7489877
- Dec 1, 2015
To manage test projects of application under test (AUT) on Android devices, coverage analysis tools for test ade-quacy are still urgently needed. As in other platforms, code coverage is a relatively convincing criterion for confidence that no obvious component part is left untested. With the help of Soot library, we developed a tool, called Android Black-box Coverage Analyzer (ABCA) that can produce source code coverage report on AUT execution while the source code of the AUT is actually not available. Given an Android application package (APK) file (in bytecode), ABCA inserts commands into the APK file to dump cover-age data on executed classes, method names, and source code statements. After exerting a test case on the instru-mented AUT on an Android device, we can then run ABCA in a PC to collect code coverage data of the AUT execution via a USB line connecting the PC and the Android device. After the test session completes, ABCA then generates a re-port on class coverage, method coverage, and line coverage of the original Java source code.
- Research Article
1
- 10.6180/jase.201809_21(3).0017
- Sep 1, 2018
Web based applications are gaining widespread popularity and most of these applications are being developed using agile development methods mainly scrum. This invariably makes the testing of any web application necessary and important before it goes online. Agile methods advocate automated testing, which is the only way to assure faster thorough testing of any web application. In this paper, authors propose a reusable hybrid test automation framework (RHTAF) using page object model for automated testing of web applications. RHTAF combines the features of both data driven and keyword driven frameworks and developed using Selenium 2.0 tool. The primary focus of this framework is to ensure reusability and maintainability of test scripts so as to speed up the testing process of web applications.
- Research Article
4
- 10.3390/electronics13020427
- Jan 19, 2024
- Electronics
Web crawlers are widely used to automatically explore and test web applications. However, navigating the pages of a web application can be difficult due to dynamic page generation. In particular, the inputs for the web form fields can affect the resulting pages and subsequent navigation. Therefore, choosing the inputs and the order of clicks on a web page is essential for an effective web crawler to achieve high code coverage. This paper proposes a set of actions to quickly fill in web form fields and uses reinforcement learning algorithms to train a convolutional neural network (CNN). The trained agent, named iRobot, can autonomously select actions to guide the web crawler to maximize code coverage. We experimentally compared different reinforcement learning algorithms, neural networks, and actions. The results show that our CNN network with the proposed actions performs better than other neural networks in terms of branch coverage using the Deep Q-learning (DQN) or proximal policy optimization (PPO) algorithm. Furthermore, compared to previous studies, iRobot can increase branch coverage by about 1.7% while reducing training time to 12.54%.
- Conference Article
16
- 10.1145/2610384.2610399
- Jul 21, 2014
Test adequacy criteria are fundamental in software testing. Among them, code coverage criterion is widely used due to its simplicity and effectiveness. However, in dynamic web application testing, merely covering server-side script code is inadequate because it neglects client-side execution, which plays an important role in triggering client-server interactions to reach important execution states. Similarly, a criterion aiming at covering the UI elements on client-side pages ignores the server-side execution, leading to insufficiency. In this paper, we propose Virtual DOM (V-DOM) Coverage, a novel criterion, for effective web application testing. With static analysis, we first aggregate all the DOM objects that may be produced by a piece of server script to construct a V-DOM tree. The tree models execution on both the client- and server-sides such that V-DOM coverage is more effective than existing coverage criteria in web application testing. We conduct an empirical study on five real world dynamic web applications. We find that V-DOM tree can model much more DOM objects than a web crawling based technique. Test selection based on V-DOM tree criterion substantially outperforms the existing code coverage and UI element coverage, by detecting more faults.
- Research Article
8
- 10.1016/j.infsof.2019.03.016
- Mar 30, 2019
- Information and Software Technology
Leveraging keyword-guided exploration to build test models for web applications
- Conference Article
- 10.1109/wcse.2012.19
- Nov 1, 2012
Web applications are widely used in people's everyday life. They have permeated financial sectors, banking sectors, e-business and online shopping. Usually, different users have different permissions on these applications. Additionally, role-based access control (RBAC) mechanisms have been wildly integrated into web applications. The security and correctness of web applications are the most fundamental, crucial aspects to the success of business and organizations. In existing research work on modeling of RBAC, the user's roles and permissions are fixed and static, and do not consider that with the evolution and running of the system, the roles and permissions are dynamic. To the best of our knowledge, research work on role-based access control modeling and testing for web application has been seldom done. In this paper, taking the dynamic feature of roles and permissions into account, we propose an approach to modeling and testing web applications with role-based access control. We give out an algorithm to capture and compute the dynamicity of roles and permissions in running time. The FSM is employed to model the behavior of web applications, and then the augmented FSM (AFSM) is plied as a tool to model role-based access control. Finally, using the construction algorithm, the tests are generated automatically which satisfy the corresponding test coverage criteria.
- Research Article
2
- 10.36676/jqst.v1.i1.10
- Mar 31, 2024
- Journal of Quantum Science and Technology
In the realm of modern software development, comprehensive testing of web applications is crucial to ensure quality, performance, and user satisfaction. Automated testing frameworks like Selenium and Cypress have become pivotal in achieving these goals. This paper explores the utilization of Selenium and Cypress for web application testing, comparing their features, strengths, and limitations to provide a comprehensive overview of their capabilities and applications.Selenium, an established open-source tool, has been a staple in web application testing since its inception. It supports multiple programming languages such as Java, C#, and Python, and is compatible with various browsers and platforms. Selenium's WebDriver component allows for the automation of complex user interactions, making it suitable for end-to-end testing. Its ability to integrate with a range of testing frameworks and tools further enhances its flexibility and usability in diverse testing scenarios. However, Selenium's setup and execution can be cumbersome, particularly when dealing with dynamic web elements and cross-browser testing.Cypress, a newer entrant in the automated testing landscape, offers a modern approach to testing web applications. Unlike Selenium, Cypress operates directly within the browser, providing a more streamlined and efficient testing experience. Its architectural design allows for real-time reloading and debugging, which significantly accelerates the development and testing process. Cypress's integrated features, such as automatic waiting and network traffic control, simplify test writing and execution. Nevertheless, its support for only JavaScript and limited cross-browser compatibility may pose challenges for teams working with diverse tech stacks or requiring extensive browser support.This paper delves into the comparative analysis of Selenium and Cypress, focusing on their functionalities, performance, and suitability for various testing needs. It examines the strengths of Selenium in handling complex scenarios and its broad language and browser support, juxtaposed with Cypress's advantages in speed, ease of use, and real-time feedback. Additionally, the paper addresses common challenges and best practices for leveraging these tools effectively in different testing environments.The research highlights the importance of choosing the right tool based on project requirements, team expertise, and testing goals. For instance, Selenium’s robustness makes it ideal for large-scale projects with varied requirements, while Cypress’s simplicity and speed are advantageous for rapid development cycles and straightforward testing needs. The paper also offers practical insights into integrating these tools with continuous integration/continuous deployment (CI/CD) pipelines, enabling teams to automate and streamline their testing workflows.In conclusion, both Selenium and Cypress have their unique strengths and are valuable assets in the toolkit of web application testers. By understanding their capabilities and limitations, development teams can make informed decisions on which tool to utilize based on their specific testing needs. The paper provides a framework for evaluating these tools and offers guidance on optimizing their use to achieve comprehensive and effective web application testing.
- Conference Article
5
- 10.1109/cis.workshops.2007.203
- Dec 15, 2007
In order to ensure the security and reliability of Web application, the testing of Web application is one of the most effective methods. This work regards a Web application as the composition of different interactive logical components (LCs). We combine LCs with agent to assist to automatic generate test cases for testing Web applications. From pages-flow-diagram (PFD) of Web application under test, this research successively partitions Web applications into LCs, at different levels of abstraction, each of which is composed of Web pages and other LCs. We use an automaton to model each LC, and use compositions of automata to model interaction of LCs. Our approach supports concurrent access and interaction between LCs. It avoids the state space explosion problem effectively. It also enhances the reuse of component interactions and overcomes differences in actions between LCs by using an agent as a coordinator.
- Research Article
82
- 10.1016/j.jss.2014.01.010
- Jan 21, 2014
- Journal of Systems and Software
Web application testing: A systematic literature review
- Research Article
10
- 10.1007/s10009-013-0278-x
- Jun 14, 2013
- International Journal on Software Tools for Technology Transfer
Over the last 10 years there has been continuous innovation and evolution in the technology of web applications. While originally designed as a telecom testing platform, TTCN-3 has proven to be a flexible and powerful platform for web application testing throughout this period. Major challenges to testing have been integration with unit test frameworks, service-oriented architecture, rich client interfaces, and security vulnerabilities. Through careful analysis and practical experience in industrial projects we have developed mechanisms to address each of these aspects of web application testing in TCN-3. These mechanisms are summarized here with examples drawn from our industrial experience to show how TTCN-3 provides significant advantages for testing web applications in comparison to other tools typically used in industry. We also present a significant extension to the model architecture for TTCN-3 which greatly facilitates web application testing that has been implemented by a major vendor and is now under consideration by the ETSI standards committee.
- Conference Article
3
- 10.1109/ubmyk48245.2019.8965472
- Nov 1, 2019
Similar to all other fields of study, assuring the quality of web applications is very important. With the aim of increasing web applications quality in testing, our task in this paper is to reflect on the results of the literature searches made in this area. The literature survey carried out in this study searches for studies in the area of quality in application testing and retrieves 1972 papers, published within the timeframe of 2006 and 2016. The publications are systematically identified, analyzed, and classified and an overview of the trends in this specialized field is presented. Systematic mapping is applied to review and structure the body of knowledge related to quality in web application testing. To conduct our study, we selected a set of 27 papers published in the area of quality in web application testing between 2006 and 2016. The results of this work can help other researchers to obtain an overview of the existing web application testing quality trends and approaches as well as to identify areas in the field that require more attention from research point of view.
- Book Chapter
5
- 10.1007/978-3-319-07674-4_48
- Nov 2, 2014
Web application have gained increased acceptance over the years in companies and organization as the world move to a global village. Software developers have also grown interest in developing web applications compared to stand-alone application because of the immense benefits it offers such as ubiquity, platform dependence, low cost of support and maintenance, better speed and performance, piracy proof etc. As mobile application emerged in the last decade, attention has been focused on mobile applications by organizations and businesses in order to maximize their profits as much as possible. There has been a rapid increase of software release in the mobile applications store. As the growth of both web application and mobile application increase, the question of quality assurance remains a concern. A comparative study of software testing techniques can be performed to improve the standard of testing of both web and mobile application. This paper therefore reviews the similarity and difference in the testing mechanism.
- Research Article
12
- 10.1007/s11219-019-09469-y
- Mar 1, 2020
- Software Quality Journal
Web applications are deployed on machines around the globe and offer almost universal accessibility. These applications assure functional interconnectivity between different components on a 24/7 basis. One of the most important requirements is data confidentiality and secure authentication. However, implementation flaws and unfulfilled requirements often result in security leaks that malicious users eventually exploited. In this context, the application of different testing methods is of utmost importance in order to detect software defects during development and to prevent unauthorized access in advance. In this paper, we contribute to test automation for web applications. In particular, we focus on using planning for testing where we introduce underlying models covering attacks and their use in testing of web applications. The planning model offers a high degree of extendibility and configurability and as well overcomes limits of traditional graphical representations. New testing possibilities emerge that eventually lead to better vulnerability detection, therefore ensuring more secure web services and applications.
- Research Article
17
- 10.11591/ijece.v7i4.pp2132-2141
- Aug 1, 2017
- International Journal of Electrical and Computer Engineering (IJECE)
Testing is an important part of every software development process on which companies devote considerable time and effort. The burgeoning web applications and their proliferating economic significance in the society made the area of web application testing an area of acute importance. The web applications generally tend to take faster and quicker release cycles making their testing very challenging. The main issues in testing are cost efficiency and bug detection efficiency. Coverage-based testing is the process of ensuring exercise of specific program elements. Coverage measurement helps determine the “thoroughness” of testing achieved. An avalanche of tools, techniques, frameworks came into existence to ascertain the quality of web applications. A comparative study of some of the prominent tools, techniques and models for web application testing is presented. This work highlights the current research directions of some of the web application testing techniques.
- Research Article
- 10.46604/ijeti.2024.14795
- Apr 30, 2025
- International Journal of Engineering and Technology Innovation
- Research Article
- 10.46604/ijeti.2024.14304
- Apr 18, 2025
- International Journal of Engineering and Technology Innovation
- Research Article
- 10.46604/ijeti.2024.13977
- Mar 20, 2025
- International Journal of Engineering and Technology Innovation
- Research Article
- 10.46604/ijeti.2024.13853
- Mar 20, 2025
- International Journal of Engineering and Technology Innovation
- Research Article
- 10.46604/ijeti.2024.14104
- Mar 12, 2025
- International Journal of Engineering and Technology Innovation
- Research Article
- 10.46604/ijeti.2024.14100
- Mar 12, 2025
- International Journal of Engineering and Technology Innovation
- Research Article
- 10.46604/ijeti.2024.14017
- Feb 14, 2025
- International Journal of Engineering and Technology Innovation
- Research Article
- 10.46604/ijeti.2024.13781
- Feb 14, 2025
- International Journal of Engineering and Technology Innovation
- Research Article
- 10.46604/ijeti.2024.13827
- Dec 20, 2024
- International Journal of Engineering and Technology Innovation
- Research Article
- 10.46604/ijeti.2024.13748
- Dec 18, 2024
- International Journal of Engineering and Technology Innovation
- Ask R Discovery
- Chat PDF
AI summaries and top papers from 250M+ research sources.