Website Testing- Did you miss anything while testing?
Website testing is an extensive type of testing carried out on the website to cover each quality aspect. Website testing itself is a broad testing term which consists of numerous testing areas and multiple testing activities to test website from each different perspective.
The end purpose of performing website testing is to make a user comfortable in learning, understanding, using and navigating the website, and thus includes almost all types of testing like
- Functionality testing
for ensuring the intended and appropriate functionalities and features of a website.
- Usability testing
to ensure user-friendliness features of a website.
- Compatibility testing
looks after the compatibility of a website on multiple variants of browsers, OS, network, hardware, software, devices and many such elements, which are needed in the functioning of a website.
- Performance testing
ensures the smooth performance of a website both under the expected and undesirable load, conditions and environment.
- Database testing
concerns with the veracity, integrity, consistency, accuracy of the diverse range of data stored at backend of the website.
- Security Testing
ensures that no loopholes or security glitches left undetected in the website, which may grant access to unauthorized or malicious users to website and may victimize the website with other malicious attacks.
Each of the above stated testing types including some more types focuses and targets multiple aspects of a website. Thus, there is lot to test in a website and a tester may likely to miss one or more critical testing/elements which may need to be considered and tested. Here, we are listing out some of the essential elements in a checklist format, which are generally needs to be carried out to test a website.
Following things are usually needs to be tested while performing functionality test of a website.
- Forms testing: Forms on a website is used by the users to either store or retrieve information. Testing the form to ensure its consistency and integrity throughout the website. Further form testing may include following activities:
- Validating each field of the form.
- Validating each field with negative or invalid value.
- To ensure default values for each field.
- Highlighting the mandatory field with asterix * symbol.
- Testing password field ability to conceal the entered password.
- Link testing:Testing various links present or defined for a website and includes following types
- External link: links which directs the website to any other web page or website outside its domain.
- Internal link: links directing one web page to another web page within the website domain.
- E-mail link:links providing direct access to the client mail page with pre-filled general information such as recipient address
- Broken link: These links does not provide access to any other page, internally and externally both. Thus, they are known as dead links or broken links.
- Validation testing: Website validation is done to ensure website adherence and conformance to certain specified and established standards, which is used to optimize the website at SEO level. This includes validation of feeds, html, xhtml and css properties and tags.
- Cookie testing
Mostly websites are driven by the back-end of a system i.e. data provided and stored. Thus, database testing is a crucial testing for a website and may include following testing activities:
- Correct and appropriate execution of database queries.
- Verifying and validating the data integrity throughout the database in the event of addition, deletion and update of data.
- Accurate retrieval of data against the injected query.
- Testing tables along with the triggers, stored procedures, and views properties of a database.
- Verifying all sorts of keys used in the database system.
In performance testing, certain specified parameters needs to be evaluated to assess the website performance under different conditions. Performance testing of a website generally consists of following:
Here, resources may include usage of hardware, software (assisted application), server, memory (RAM), CPU, network speed and connection, space. Further, the above conditions may also include time criteria. Generally, load, stress, soak, spike and volume testing is being performed to ensure stability and reliability of the website.
- Normal load, full resource utilization.
- Normal load with cut in resources.
- Heavy load, full resource utilization.
- Heavy load with cut in resources.
- Extreme load with full access to resources.
- Extreme load with limited access to resources.
- Scalability of the website to accommodate the growing and changing requirements (load and resources).
- Response time, throughput and speed of the website under different load and conditions as stated above.
If a user lacks interest in using and navigating a website, this directly impacts the traffic on the website. Thus, usability testing is essential QA activity to ensure user-friendliness feature of a website. In usability testing, following points may be taken into account:
- Testing design, layout and presentation of the website as per the user’s need & expectation.
- Easy & smooth navigation & control between the web pages throughout the website.
- Content also plays a major role in maintaining the user’s interest. Thus, content testing needs to be performed on the website, which may include, spelling and grammatical error, pictures & font size & style, colour and other perceivable elements of the website.
Compatibility testing is done to ensure compatibility and subsequently the intended and appropriate functioning of the website across multiple variants of browsers, operating systems, devices, hardware or software, network configuration & settings, display resolution along with their different versions.
Website or web security testing is done to explore and correct or remove security vulnerabilities present in the website. Following activities may be carried out under web security testing:
- Penetration testing of the website, i.e. attacking the system to detect security flaws and loopholes.
- Accessing website using invalid or incorrect credentials (login & password) multiple times.
- Checking log files located at server and containing the various information such as those of transactions, error messages, security breaches, etc.
- Hacking & cracking the password.
- Verifying the submission of confidential data and information through SSL certificates (HTTP).
- Checking the SQL injection attacks on the website.
- To ensure automatic termination of sessions in the event of non-activity of user for a considerable amount of time. Further, the logout user should not able to use session further.
- Checking the unauthorized access to confidential data, information and web log files and repositories.
User Interface Testing
A user interface mainly comprises three components- application, database server and web server. These three components are needed to be tested to ensure proper interfacing along with the accurate and appropriate flow of the data.
Above listed, is just a general checklist which commonly covers almost all sorts of website and important testing areas along with the corresponding testing methods. However, a tester may expand the list based on the specified requirements & specification, and the need felt by him/her, to carry out more in-depth and thorough testing of the website so that nothing gets missed out.