There are different ways to test a website which includes testing on the client as well as server-side. Before starting with the methods, Let me give you an overview of testing a website.
The client used by a Web Application is a Web Browser. The browser is the client, which connects to the server. Some of the tests which are to be conducted include some questions which can be associated to a website:
- The expected load on the server?
- Performance required under loads?
- Browsers used with their connection speeds?
- Internet Connection reliability?
- Expected performance on the client side?
- How fast is the loading time of web pages?
- How many users login?
- Is there any broken link?
- How many times a user login with wrong username and password, this can help in tracking the users attempting Phishing.
Some of the methods to test a website are given below. It includes Functional and Non-Functional Testing
In White Box Testing, the internal structure of a website/application is tested. This test includes the following methods:
The name itself says it all. This testing includes configuration like:
- Operating System used (Windows, Linux, Mac)
- Internet Service Provider (ISP)
- Browser used (Google Chrome, Firefox, Internet Explorer)
Standards and Guidelines were established for websites under World Wide Web Consortium (W3C). W3C was founded by Tim Berners-Lee. These guidelines were issued for easyweb access. The designers should consider some features for users like understandability and operability for making the website easy to use.
In Performance Testing, the basic focus is on testing the timely response of the website and also includes loading time of the web page.
Steps to create performance test cases:
- Identifying software processes.
- Identifying the essential input parameters that influence system performance for the software processes.
- Determine realistic values for parameters based on past use to create usage scenarios.
- If there is no past data, use estimates based on requirements or an earlier version.
For testing scalability, the web traffic loads must be determined by using the existing traffic levels. Scalability is the web application’s ability to sustain simultaneous users and transactions. The response times is also maintained at the same time and the traffic load for the website should also be determined.
It is very important to provide secure, encrypted information and verify identity of users. Some other important information like account, credit/debit card information should be protected from hackers. The test cases for security testing include:
- Developers should use POST instead of GET command. GET command is considered less secure.
- Unauthorized users should be restricted to access log files and directories where website data is stored.
- Cookies information should be encoded. It is a text file that identifies the user’s identity.
- Auto-fill options on the website should be off so that new user cannot access preceding user’s information.
If a user visits your website and for any reason your site is down for some time, then he should receive a message regarding site's availability and the reason for unavailability. If the message is not provided, then the user can shift to another website in no time which can hamper your site’s traffic.
To avoid future problems, you can even plan and implement a backup server, so that in case of emergency the main server is switched to the backup server.
In this the product’s ability is tested. It includes testing the performance and functions of the website under stated conditions. Let's say for example a user uses an Online Shopping website to buy something, successfully completes the transaction by Online Banking. The results were consistent and correct.
In Black Box Testing, the functionality of a website/application is tested. The test case for functional testing includes:
- To access sensitive information, login by the user is necessary.
- Form fields should have a maximum length.
- Required fields should be provided on the form, so the user fills it completely.
- Error message appears when user submits the form with missing required field.
- Auto-fill option on the webpage is off in case of secure transactions.
- Test cases are designed to confirm that information entered by the user gets submitted in the database correctly. This will also check that the calling of modules is correctly done.
Try the above methods to test your website on the basis of reliability, user interface, security and performance. It tests the website in different phases which further helps in digging and solving some known and unknown issues.
- Software Testing by Er. Rajiv Chopra