Friday, March 13, 2009

Web Testing Guide

Some details on web application testing with web testing test cases.
Web testing checklist.

1) Functionality Testing
2) Usability testing
3) Interface testing
4) Compatibility testing
5) Performance testing
6) Security testing

1) Functionality Testing:
Test for - all the links in web pages, database connection, forms used in the web pages for submitting or getting information from user, Cookie testing.

Check all the links:
  • Test the outgoing links from all the pages from specific domain under test.
  • Test all internal links.
  • Test links jumping on the same pages.
  • Test links used to send the email to admin or other users from web pages.
  • Test to check if there are any orphan pages.
  • Lastly in link checking, check for broken links in all above-mentioned links.

Test forms in all pages:
Forms are the integral part of any web site. Forms are used to get information from users and to keep interaction with them.
  • First check all the validations on each field.
  • Check for the default values of fields.
  • Wrong inputs to the fields in the forms.
  • Options to create forms if any, form delete, view or modify the forms.

Example:
Forget Password/ID in yahoo mail.
In Forget Password/ID, each step is different but dependent on other steps. So flow should get executed correctly. There are different field validations like email Ids, User info validations etc. All these validations should get checked in manual or automated web testing.

Cookies testing:
Cookies are small files stored on user machine. These are basically used to maintain the session mainly login sessions. Test the application by enabling or disabling the cookies in your browser options.

Database testing:
Data consistency is very important in web application. Check for data integrity and errors while editing, deleting, modifying the forms or doing any DB related functionality.
Check if all the database queries are executing correctly, data is retrieved correctly and also updated correctly.

2) Usability Testing:
Test for navigation:
Navigation means how the user surfs the web pages, different controls like buttons, boxes or how user using the links on the pages to surf different pages.

Usability testing includes:
Web site should be easy to use. Main menu should be provided on each page. It should be consistent.

Content checking:
Content should be logical and easy to understand. Check for spelling errors.
Other user information for user help: “Search in the site” option will help users to find content pages they are looking for easily and quickly.

3) Interface Testing:
The main interfaces are:
  • Web server and application server interface
  • Application server and Database server interface.
Check if all the interactions between these servers are executed properly &errors are handled properly.
If database or web server returns any error message for any query by application server, then the application server should catch and display these error messages appropriately to users.
Check what happens if user interrupts any transaction in-between?
Check what happens if connection to web server is reset in between?

4) Compatibility Testing:
Compatibility of your web site is very important testing aspect. See which compatibility test to be executed:
  • Browser compatibility
  • Operating system compatibility
  • Printing options
Browser compatibility:
Test web application on different browsers like Internet explorer, Firefox, Netscape navigator, AOL, Safari, Opera browsers with different versions.

OS compatibility:
Test web application on different operating systems like Windows, Unix, MAC, Linux, Solaris with different OS flavors.

Printing options:
If page-printing options are provided,then make sure fonts, page alignment, page graphics getting printed properly. Pages should be fit to paper size or as per the size mentioned in printing option.

5) Performance testing:

Web application should sustain to heavy load. Web performance testing should include:
  • Web Load Testing
  • Web Stress Testing
Test application performance on different internet connection speed.
Web Load testing:
Test if many users are accessing or requesting the same page. Can system sustain in peak load times? Site should handle many simultaneous user requests, large input data from users, Simultaneous connection to DB, heavy load on specific pages etc.

Stress testing:
Generally stress means stretching the system beyond its specification limits. Web stress testing is performed to break the site by giving stress and checked how system reacts to stress and how system recovers from crashes.

Stress is generally given on input fields, login and sign up areas.

In web performance testing web site functionality on different operating systems, different hardware platforms is checked for software, hardware memory leakage errors.

6) Security Testing:
Following are some test cases for web security testing:
  • Test by pasting internal url directly into browser address bar without login. Internal pages should not open.
  • Log in using username and password and browse internal pages.Then try changing url options directly.
  • Try some invalid inputs in input fields like login username, password, input text boxes. Check the system reaction on all invalid inputs.
  • Test if SSL is used for security measures. If used proper message should get displayed when user switch from non-secure http:// pages to secure https:// pages and vice versa.
  • All transactions, error messages, security breach attempts should get logged in log files somewhere on web server.

No comments:

Post a Comment