With the rise of Internet, there is a rise of web applications. Applications that were previously installed in personal computers or specialized labs are now accessible through the Internet. With this emerging trend, testers also have to keep up with the changes and learn to adapt to work with the challenges of web application testing. The end result of testing for traditional application or web application may be similar (the application meets the requirements, has no critical bugs and meets the business and customer needs) but the means to get there may not be the same. The traditional testing methodologies have to be modified and adapted to the new technological demands.
Some reasons as to why web application are more challenging
- More concurrent users than traditional client servers or standalone (load testing and performance comes into play)
- Users spread all around the world (cannot test from every country or even states in US)
- Users may have a different platform or environment that they are using to access the web application (may not be possible to test all the permutations and combinations)
- More components and technologies are involved when developing these applications, third party tools, COTS or in house built from scratch tools (more things happening in the back end that are not always in control when testing these environments)
- Less control over the test environment (its no long something that is installed on my computer where I can control most things happening in the environment)
What should testers do?
- Keep up with technology, learn as much as they can about the technology that is being adopted for their applications be it third party tools or something that is built in house from scratch.
- Be ready to adapt to the technology – traditional methods may not work as successfully and testers have to be open to work with technology.
- Talk to developers about technology and try to understand the back end/UI/Network, etc as best as possible.
- Focus on the weaknesses of web applications and try to capture issues in those areas as early as possible e.g. security, network, connectivity, firewalls, etc.
Steps for testing web applications
- Understand the design – its important to understand all the components involved here like where is the application hosted, how is it connected, is it thin or thick client, are any of the components installed in the local machines, etc. Understanding how the components work with each other will also help with planning.
- Test Planning – Document the plan well and involve developers, architects and security team so that the appropriate risks can be documented and discussed well in advance. Also planning for test environments that mirror production is important. Talk to customers if necessary to see if there are additional network firewalls or settings that you would need to work with during testing.
- Testing – Test as close to how the customers would be using the system. Get customers involved if its possible or else plan for user acceptance testing. Define the level of testing ahead of time and get your team involved in this.
Testing web application is challenging and test leads have to be well prepared to face technology and its challenges.