Website Testing: Did you miss anything while Testing?
Website testing is an ample type of testing which is carried out on the given website to cover each feature. This testing itself is a broad testing term which consists of multiple testing areas and number of testing activities to test website from various point of view.
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
This testing is implemented for ensuring the intended and appropriate functionalities and features of a website. Following things are usually needs to be tested while performing functionality test of a website:
Form 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 asterisk * symbol
- Testing password field ability to conceal the entered password
Link testing:
Testing various links present or defined for a website. This includes following types:
- External link: The links which either directs the website to any other web page or website outside its domain
- Internal link: The links directing one web page to another web page within the website domain
- E-mail link: The links providing direct access to the client mail page with pre-filled general information such as recipient address
- Broken link: These links does not function to provide access to any other page, internally and externally both and hence are known as broken links
Validation testing:
The validation of any website is done for ensuring the adhesiveness and conformity of the website to certain specified and established standards.
Cookie testing
When user access the web application in the browser then application saves the cookie used by web browsers. If such cookie value exists then the server consider the request to be authenticated. The browser use same cookie unless and until cookie is get expires. This has to be tested that:
- The cookie stored by one website should not be accessible by other websites
- No personal or sensitive data is stored in the cookie like Credit card number, login credentials
- No overuse of cookie is done in the website
Usability Testing
If a user lacks interest in using 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:
- Based on a user’s need & expectation, testing the design, layout and presentation of the website
- 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, color and other perceivable elements of the website
Compatibility Testing
This 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
This ensures the smooth performance of a website both under the expected and undesirable load, conditions and environment. Performance testing of a website generally consists of following:
- Stability of the website under different load(in terms of users) and factors to work uninterruptedly without going into the state of failure or crash down
- 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
Database 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
Security Testing
This 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.
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 is just a general checklist which commonly covers almost all sorts of website 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.