Web based Applications are increasingly becoming more feature rich, important and also the most popular means for developing commercial systems. Most companies opt for developing web based software wherever possible. This helps in catering to large number of end users. The deployment of the apps (once the infrastructure is in place) is fairly easy.
The web based applications are powerful and have the ability to provide feature rich content to a wide audience spread across the globe at an economical cost.
Hence it is a daunting task to test these applications and with more and more features testing these apps is becoming even more complex.
In this article we will study the challenges faced when testing these applications
Why testing Web Applications is different?
Testing web applications is different because of many factors scenarios affecting the performance and user experience.
Web applications can typically cater to a large and a diverse audience. Web Applications can also be exposed to wide range of security threats. Web applications may open up illegal points of entry to the databases and other systems holding sensitive information.
To ensure that the web application works reliably and correctly under different situations these factors need to be accounted for and tested.
Hence a lot of effort needs to put in for Test Planning and Test Design.
Test Cases should be written covering the different scenarios not only of functional usage but also technical considerations such as Network speeds, Screen Resolution, etc.
For example an application may work fine on Broad Band internet users but may perform miserably for users with dial up internet connections.
Web Applications are known to give errors on slow networks, whereas they perform well on high speed connections.
Web pages don't render correctly for certain situations but work okay with others.
Images may take longer to download for slower networks and the end user perception of the application may not be good.
Factors effecting Testing of Web Applications:
As mentioned above Web Applications can have a lot of variables affecting them such as:
- Numerous Application Usage (Entry – Exit) Paths are possible
Due to the design and nature of the web applications it is possible that different users follow different application usage paths.
For example in an online banking application a user may directly go to "Bill Pay" page and other users may check account balances, view previous transactions and then "Pay the Bills".
Generally a large number of usage paths are possible and all are supposed to work well.
All these Permutations and Combinations need to be tested thoroughly
- People with varying backgrounds & technical skills may use the application
Not all applications are self explanatory to all people. People have varying backgrounds and may find the application hard to use. For instance a Business Intelligence application with "Drill-Down-Reports" may work out for certain users but not for others.
Although this affects the design of the applications, but these factors should be tested in usability testing of the applications
- Intranet versus Internet based Applications
Intranet based applications generally cater to a controlled audience. The developers and architects can make accurate assumptions about the people accessing the apps and the hardware/software/technical specifications of the client machines.
While it may be difficult to make similar assumptions for Internet Based Applications
Also the intranet users can generally access the app from 'trusted' sources whereas for internet applications the users may need to be authenticated and the security measures may have to be much more stringent.
Test Cases need to be designed to test the various scenarios and risks involved.
- The end users may use different types of browsers to access the app
Typically for internet based applications users may have different Browsers when accessing the apps. This aspect also needs to be tested. If we test the app only on IE then we cannot ensure if works well on Netscape or Fire-Fox. Because these browsers may not only render pages differently but also have varying levels of support for client side scripting languages such as java-script.
- Even on similar browsers application may be rendered differently based on the Screen resolution/Hardware/Software Configuration
- Network speeds:
Slow Network speeds may cause the various components of a Webpage to be downloaded with a time lag. This may cause errors to be thrown up.
The testing process needs to consider this as important factor specially for Internet based Applications
- ADA ( Americans with Disabilities Act)
It may be required that the applications be compliant with ADA. Due certain disabilities, some of the users may have difficulty in accessing the Web Applications unless the applications are ADA compliant. The Application may need to be tested for compliance and usability
- Other Regulatory Compliance/Standards:
Depending on the nature of the application and sensitivity of the data captured the applications may have to be tested for relevant Compliance Standards. This is more crucial for Web Based Applications because of their possible exposure to a wide audience.
As mentioned earlier Applications may behave differently across firewalls. Applications may have certain web services or may operate on different ports that may have been blocked. So the apps need to be tested for these aspects as well.
- Security Aspects:
If the Application captures certain personal or sensitive information, it may be crucial to test the security strength of the application. Sufficient care need to be taken that the security of the data is not compromised.
Why technology platforms affect testing?
Technology platform upon which the Web Application was built also creates different strengths and weaknesses. Different Test Automation tools & packages are available for different Technology Platforms. This can influence the Test Strategy and the way in which Test Execution is done.
Challenges in Testing Web Based Web Applications:
To ensure that sufficient Test Coverage is provided for Web Based Applications and to provide a secure, reliable application to the user the above factors need to be considered.
For internet based applications accessibility and security can be important issues.
On one hand Organizations would like to cater to their users around the world on the other hand they could end up exposing their security holes all over.
Testing could be the last chance to ensure the safety of the data and the organization.
In this article we studied the various challenges in Testing Web Based Applications. Why Testing Web based Applications is different and different factors affecting the testing.