Imagine being asked to test a web site's shopping cart. If you hadn't tested one before, where would you start? What experience would you draw on? Where would you look for more information? Even very experienced testers have blind spots when they try to generate test ideas for an application that they have not tested. This paper presents a simple outline that will help you generate test ideas and limit your blind spots. The outline is the result of a year's research on classifying e-commerce-related failures and risks. The result has 60 top-level categories and examples of errors (potential issues to test for) under most categories. In many cases, we also link to examples of e-commerce defects that have been publicized in the press.
Goals of this outline
Using the list, you could pick a category of interest (such as accessibility or software upgrade), read descriptions of several types of problems that fit within that category, and so identify a few issues that would be appropriate to test for in your application. Based on feedback to the authors of Testing Computer Software, we believe that many testers will be able to use this list to identify potential problems that they would otherwise have missed.
We intend the outline to serve similar functions to Kaner / Falk / Nguyen's bug appendix in Testing Computer Software (TCS):
! Help testers generate ideas;
! Help test plan inspectors check a set of tests for thoroughness and coverage;
! Help testers and other stakeholders identify risks during discussions of
prioritizing the testing effort.
Kaner expects this to become the successor to the TCS list, and we have structured the outline (e.g. more top-level categories and fewer levels) based on feedback from many TCS readers
The nature of e-commerce testing
“E-commerce testing involves testing high value, high risk, and high performance
business critical systems”. The cost of a failure in an e-commerce system is hence
formidable and generally the testing process involves considerable effort in designing and integrating an effective risk management process into the testing to avoid or minimize the cost of failures.