Testing Web-based Applications
Posted On July 18, 2006
A comprehensive list of widely used common testing methodology for web application.
If you’re a web application developer / tester, I would suggest you to follow these testing methodology. These testing methodology is derived in a way that it removes the defect/bugs and gives the end user effective way to use the application. In the web world, how the content looks has more precedence over the application. So it is must that developer take care of this requirement too. There might-be few other methodology too which I would have left here. If so let me know.
Web-based applications present us new challenges, these challenges include:
- Short release cycles;
- Constantly Changing Technology;
- Possible huge number of users during initial website launch;
- Inability to control the user’s running environment;
- 24/7 availability of the web site.
The quality of a website must be evident from the onset. Any difficulty whether in response time, accuracy of information, or ease of use-will compel the user to click to a competitor’s site. Such problems translate into huge loss of customers/visitors, loss of sales, and most importantly will yield poor image for the company.
To overcome these types of issues in the later stage, we use the following techniques:
1. Functionality Testing
Functionality testing involves making sure the features that most affect user interactions work properly. Map the functionalities with the requirements that is being gathered from clients. These testing components may include :
· pop-up windows
· shopping carts
· online payments
2. Usability Testing
Many users have low tolerance for anything that is difficult to use or that does not work. A user’s first impression of the site is important, and many websites have become cluttered with an increasing number of features. For general-use websites frustrated users can easily click over a competitor’s site. The information must not be scattered across the site; it should be well managed and organized. Stimulate the real users to preform this test.
Usability testing involves following main steps
· identify the website’s purpose;
· identify the indented users;
· define tests and conduct the usability testing
· analyze the acquired information
3. Navigation Testing
Good Navigation is an essential part of a website, especially those that are complex and provide a lot of information. Assessing navigation is a major part of usability Testing. The users should be able to navigate to the required information that is available with a ease. Link Checker can be used to check whether there is any broken links because broken links will makes users to think the site is outdated or not maintained.
4. Forms Testing
Websites that use forms need tests to ensure that each field works properly and that the forms posts all data as intended by the programmer. In current scenario, spam control using image validation is must; since it will reduce lot of spamming effort. Moreover the exceptions in forms should be handled carefully. Scenarios-based testing has to be conducted.
5. Page Content Testing
Each web page must be tested for correct content from the user perspective. These tests fall into two categories: ensuring that each component functions correctly and ensuring that the content of each is correct. In other words “are we presenting the right information in the right place?”. This is should be checked.
6. Configuration and Compatibility Testing
A key challenge for web applications is ensuring that the end user sees a web page as intended by designer/developer. The user can select different browser software and browser options, use different network software and on-line service, and run other concurrent applications. We execute the application under every browser/platform combination to ensure the web sites work properly under various environments. Cross-browser / Cross platform testing should be done.
7. Reliability and Availability Testing
A key requirement of a website is that it is available whenever the user requests it, i.e.) 24-hours a day, 7 days a week. The number of users accessing web site simultaneously may also affect the site’s availability. The bandwidth needs of all users should been met.
8. Performance Testing
Performance Testing, which evaluates system performance under normal and heavy usage, is crucial to success of any web application. A system that takes for long to respond may frustrate the user who can then quickly move to a competitor’s site. Given enough time, every page request will eventually be delivered. Performance testing seeks to ensure that the website server responds to browser requests within defined parameters; i.e) Standards has to formulated for response time, etc.,
9. Load Testing
The purpose of load testing is to model real world experiences, typically by generating many simultaneous users accessing the website. We use automation tools to increases the ability to conduct a valid load test, because it emulates thousand of users by sending simultaneous requests to the application or the server.
10. Stress Testing
Stress Testing consists of subjecting the system to varying and maximum loads to evaluate the resulting performance. We use automated test tools to simulate loads on website and execute the tests continuously for several hours or days.
11. Security Testing
Security is a primary concern when communicating and conducting business- especially sensitive and business- critical transactions – over the Internet. Security is the major challenge faced by every .com companies. The user wants assurance that personal and financial information is secure. Finding the vulnerabilities in an application that would grant an unauthorized user access to the system is important.Once you’re done with this; you’ll have quality web-based application on your hand that can double your profits & visibility across the globe.