In software development, a test suite, less commonly known as a validation suite, is a collection of test cases that are intended to be used to test a software program to show that it has some specified set of behaviors.[1] A test suite often contains detailed instructions or goals for each collection of test cases and information on the system configuration to be used during testing. A group of test cases may also contain prerequisite states or steps and descriptions of the following tests.

Collections of test cases are sometimes termed a test plan, a test script, or even a test scenario.

Types

edit

Occasionally, test suites are used to group similar test cases together. A system might have a smoke test suite that consists only of smoke tests or a test suite for some specific functionality in the system. It may also contain all tests and signify if a test should be used as a smoke test or for some specific functionality.

In model-based testing, one distinguishes between abstract test suites, which are collections of abstract test cases derived from a high-level model of the system under test, and executable test suites, which are derived from abstract test suites by providing the concrete, lower-level details needed to execute this suite by a program.[2] An abstract test suite cannot be directly used on the actual system under test (SUT) because abstract test cases remain at a high abstraction level and lack concrete details about the SUT and its environment. An executable test suite must work on a sufficiently detailed level to correctly communicate with the SUT and a test harness is usually present to interface the executable test suite with the SUT.

A test suite for a primality testing subroutine might consist of a list of numbers and their primality (prime or composite), along with a testing subroutine. The testing subroutine would supply each number in the list to the primality tester, and verify that the result of each test is correct.

See also

edit

References

edit
  1. ^ Pinto, Leandro Sales; Sinha, Saurabh; Orso, Alessandro (11 November 2012). "Understanding myths and realities of test-suite evolution". Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering. Association for Computing Machinery. pp. 1–11. doi:10.1145/2393596.2393634. ISBN 9781450316149. S2CID 9072512.
  2. ^ Hakim Kahlouche, César Viho, and Massimo Zendri, "An Industrial Experiment in Automatic Generation of Executable Test Suites for a Cache Coherency Protocol", Proc. International Workshop on Testing of Communicating Systems (IWTCS'98), Tomsk, Russia, September 1998.