Web testing
This article needs additional citations for verification. (November 2008) |
Web testing is software testing that focuses on web applications. Complete testing of a web-based system before going live can help address issues before the system is revealed to the public. Issues may include the security of the web application, the basic functionality of the site, its accessibility to disabled and fully able users, its ability to adapt to the multitude of desktops, devices, and operating systems, as well as readiness for expected traffic and number of users and the ability to survive a massive spike in user traffic, both of which are related to load testing.
Web application performance tool
A web application performance tool (WAPT) is used to test web applications and web related interfaces. These tools are used for performance, load and stress testing of web applications, web sites, web API, web servers and other web interfaces. WAPT tends to simulate virtual users which will repeat either recorded URLs or specified URL and allows the users to specify number of times or iterations that the virtual users will have to repeat the recorded URLs. By doing so, the tool is useful to check for bottleneck and performance leakage in the website or web application being tested.
A WAPT faces various challenges during testing and should be able to conduct tests for:
- Browser compatibility
- Operating System compatibility
- Windows application compatibility where required
WAPT allows a user to specify how virtual users are involved in the testing environment.ie either increasing users or constant users or periodic users load. Increasing user load, step by step is called RAMP where virtual users are increased from 0 to hundreds. Constant user load maintains specified user load at all time. Periodic user load tends to increase and decrease the user load from time to time.
Web security testing
Web security testing tells us whether Web-based applications requirements are met when they are subjected to malicious input data.[1] There is a web application security testing plug-in collection for FireFox[2]
Web API testing
An application programming interface API exposes services to other software components, which can query the API. The API implementation is in charge of computing the service and returning the result to the component that send the query. A part of web testing focuses on testing these web API implementations.
GraphQL is a specific query and API language. It is the focus of tailored testing techniques. Search-based test generation yields good results to generate test cases for GraphQL APIs.[3]
Differences between web and desktop application testing
Desktop applications are platform-dependent. This means that they are programmed to be deployed on specific platforms and can only be used by one user at a time. As a result, each test script for each platform needs to be developed independently. This also means that desktop applications should be approached differently, as performance, accessibility, and the UI can differ, depending on the platform that the app is tested on. Desktop environments also vary depending on the hardware it is used on, so it can majorly affect how the application is behaving.
On the other hand, web applications can be accessed from any computer with a web browser, as they only need an internet connection to access the server where the application is stored. Automating a web app does not require writing test scripts for different platforms as is the case with desktop applications. Although web applications are designed with high accessibility, they rely heavily on the internet and distributed components of the systems that interact with the application, which make them more complex.
Another difference between testing web and desktop apps can be seen when maintaining test scripts. When a web application receives an update it is applied immediately, while in the case of a desktop application, the update is usually applied with manual user intervention. So it is crucial to monitor tests, as it is not enough to only write them, but also to know that an update can potentially affect the app flow and UI.[4]
See also
References
- ^ Hope, Paco; Walther, Ben (2008), Web Security Testing Cookbook, Sebastopol, CA: O'Reilly Media, Inc., ISBN 978-0-596-51483-9
- ^ adammuntner (March 14, 2010). "Web Application Security Penetration Testing :: Collections". Add-ons for Firefox. Archived from the original on Jul 3, 2010.
- ^ Karlsson, Stefan; Causevic, Adnan; Sundmark, Daniel (May 2021). "Automatic Property-based Testing of GraphQL APIs". 2021 IEEE/ACM International Conference on Automation of Software Test (AST). Madrid, Spain: IEEE. pp. 1–10. arXiv:2012.07380. doi:10.1109/AST52587.2021.00009. ISBN 978-1-6654-3567-3. S2CID 229156477.
- ^ "Combining Web and Desktop Testing in a Single Test Case Using TestRay". TestDevLab Blog. Retrieved 2024-04-22.
Further reading
- Hung Nguyen, Bob Johnson, Michael Hackett: Testing Applications on the Web (2nd Edition): Test Planning for Mobile and Internet-Based Systems ISBN 0-471-20100-6
- James A. Whittaker: How to Break Web Software: Functional and Security Testing of Web Applications and Web Services, Addison-Wesley Professional, February 2, 2006. ISBN 0-321-36944-0
- Lydia Ash: The Web Testing Companion: The Insider's Guide to Efficient and Effective Tests, Wiley, May 2, 2003. ISBN 0-471-43021-8
- S. Sampath, R. Bryce, Gokulanand Viswanath, Vani Kandimalla, A. Gunes Koru. Prioritizing User-Session-Based Test Cases for Web Applications Testing. Proceedings of the International Conference on Software Testing, Verification, and Validation (ICST), Lillehammer, Norway, April 2008.
- "An Empirical Approach to Testing Web Applications Across Diverse Client Platform Configurations" by Cyntrica Eaton and Atif M. Memon. International Journal on Web Engineering and Technology (IJWET), Special Issue on Empirical Studies in Web Engineering, vol. 3, no. 3, 2007, pp. 227–253, Inderscience Publishers.