Web Testing

A student sent me an email: “I am working as tester for a software company in the summer. My job requires me to test websites that the company build for their customers. As a third year computer science student, I know programming language well (C++ and Java) but never been taught about web testing. How do I test the web applications? What do I need? Please help.”

Answer: Most web application testing require at least six types of test: Functionality Testing, Performance Testing, Usability Testing, Server Side Interface Testing, Client Side Compatibility testing and Security testing.

Functionality testing is about test the function of the web application. To start, you must check for all the link to make sure it work well and there is no broken link (i.e., Internal Links, External Links, Mail Links and identify any Broken Links). You must test for field validation, error message for wrong input, and any optional and mandatory fields in the application. You must also check the integrity of the database where data are stored. You must test for cookies on the client system side, and on the temporary Internet files.

Performance testing is about test the web site’s scalability. To start, you must check connection speed by run your tests over various networks like Dial Up, ISDN etc. You also test the load (What is the number of users access the system per minute or hour? What are the peak loads and how system operates during this time. What happen when there are large amount of data accessed by user. You must check the performance of memory, CPU, file handling etc.

Usability testing is the process by which the human-computer interaction characteristics of a system are measured. You may start by test the ease of use, how easy or difficult people learn to use the web application, how do they navigate from one page to other, how well described are the information on the website, how does the web site look?

In web testing the server side interface should be tested to verify that communication is done properly. Compatibility of server with software, hardware, network and database should also be tested to make sure they all work well together. You must also test the client side also for compatibility since they may not use similar platforms or web browsers as your company.

The last test should be on security to identify potential vulnerabilities and fix them. To start you may need to scan the network to check for any vulnerability. Make sure all password is set according to certain security protocol. Check the log review for certain temporary files that may contain virus, test for stack overflow, test for any virus or Trojan horse type of file that may be inserted into part of the kernel.

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University