Abstract

Abstract Many people think of automated software testing as executing or running test cases. Actually software testing involves three technical activities: creating, executing, and evaluating test cases. Creating test cases is the most essential activity in software testing, because all other testing activities depend on having test cases to run or evaluate. Tools called test case generators can create test cases automatically. However, to do so, a test case generator needs a precise definition of a test case. A test case is a set of information that contains A unique identifier: a name that distinguishes this test case from all others A list of actions (functions, processes, services, etc.) that this test case will exercise A list of names and values for inputs to actions that this test case will exercise A list of outputs that will result when this test case exercises actions Item 3 is particularly important. A test case is hard to use unless it includes both names and values for all inputs (also called causes or stimuli). For example, if a test case provides the name of an input such as “valid telephone number” but does not include a value such as 911, the test case is incomplete. The tester must finish the test case by adding the telephone number—a simple enough job for one input. But suppose the input to the software under test is a file containing thousands of telephone numbers. Then the tester is confronted with creating and managing huge numbers of input values. Test case generators can produce test cases, as just defined, at rates exceeding 300 test cases per minute. Considering that the average tester in the U.S. creates 30 to 300 test cases by hand in one month automated test case generators offer compelling productivity gains.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call