What is Web Testing and Why should I Test?
Website testing is checking your web application or website for potential bugs before its made live and is accessible to general public. Web Testing checks for functionality, usability, security, compatibility, database performance, and interface of the web application or website.
During this stage issues such as that of web application security, the functioning of the site, its access to handicapped as well as regular users and its ability to handle traffic is checked. Not only should you test to make sure your application is as viable as possible, you should keep in mind that not testing could result in loss of precious data or even affect your company’s standing with the public.
For software development, follow these 7 web testing requirements.
1. Functionality Test
Functionality Testing is a process that includes several testing parameters like user interface, APIs, database testing, security testing, client and server testing and basic website functionalities. Functional testing is very convenient and it allows users to perform both manual and automated testing. It is performed to test the functionalities of each feature on the website.
Test all links in your webpages and make sure there are no broken links. Links to be tested include: external links, internal links, anchor tags, mailto links, and etc.
Test Forms are working as expected. This will include:
Scripting checks on the form are working as expected. For example- if a user does not fill a mandatory field in a form an error message is shown.
Check default values are being populated.
Once submitted, the data in the forms is submitted to a live database or is linked to a working email address. These forms are formatted for better readability.
Test Sessions or that cookies are working as expected. Cookies are small files used by websites to remember active user sessions so you do not need to log in every time you visit a website.
Cookie Testing will include: testing cookies are deleted either when cache is cleared or when they reach their expiry, and deleting cookies so login credentials are asked for when you next visit the site.
Test HTML and CSS to ensure that search engines can crawl your site easily. This will include: checking for syntax errors, readable Color Schemas, and standard compliance. Ensure standards such W3C, OASIS, IETF, ISO, ECMA, or WS-I are followed.
2. Usability Test
Usability Testing has now become a vital part of any web based project. It can be carried out by testers like you or a small focus group similar to the target audience of the web application.
Test the site navigation by ensuring menus, buttons or Links to different pages on your site should be easily visible and consistent on all webpages.
Test the web content by making sure content is legible with no spelling or grammatical errors and images, if present, should contain an "alt" text.
3. Interface Test
Areas to be tested: Application, Web and Database Server.
Application: Test requests are sent correctly to the Database and output at the client side is displayed correctly. Errors if any must be caught by the application and must be only shown to the administrator and not the end user.
Web Server: Test Web server is handling all application requests without any service denial.
Database Server: Make sure queries sent to the database give expected results.
4. Database Test
Database is one critical component of your web application and stress must be laid to test it thoroughly. Remember to:
Test if any errors are shown while executing queries
Data Integrity is maintained while creating, updating or deleting data in database.
Test data retrieved from your database is shown accurately in your web application
5. Compatibility Test
Compatibility tests ensures that your web application displays correctly across different devices. This would include a browser compatibility test by testing if your web application is being displayed correctly across browsers, JavaScript, AJAX and authentication is working fine. You may also check for Mobile Responsiveness.
Rendering of web elements like buttons, text fields etc. are different depending on Operating System. Make sure your website works fine for various combination of OS such as Windows, Linux, Mac. Also test browsers like Chrome, Firefox, Internet Explorer, Safari etc.
6. Performance Test
This will ensure your site works under all loads. Make sure:
Website application response times at different connection speeds
Stress test your web site to determine its break point when pushed beyond normal loads at peak time
Make sure optimization techniques like file compression, browser/server side cache enabled to reduce load times, and minifying code
7. Security Test
Security Testing is important for eCommerce websites that store sensitive customer information like credit card numbers, addresses, and etc. Testing the security by making sure:
Unauthorized access to secure pages should not be permitted
Restricted files should not be downloadable without role access
Sessions are automatically killed after prolonged user inactivity
Site uses SSL certificates and should re-direct to encrypted SSL pages.