In
software development
Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development invol ...
, a test suite, less commonly known as a validation suite, is a collection of
test case
In software engineering, a test case is a specification of the inputs, execution conditions, testing procedure, and expected results that define a single test to be executed to achieve a particular software testing objective, such as to exercise ...
s that are intended to be used to test a software program to show that it has some specified set of behaviors. 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 plan is a document detailing the objectives, resources, and processes for a specific test for a software or hardware product. The plan typically contains a detailed understanding of the eventual workflow.
Test plans
A test plan documents the ...
, a
test script
A test script in software testing is a set of instructions that will be performed on the system under test to test that the system functions as expected.
Types of test scripts
There are various means for executing test scripts. These last two ...
, or even a
test scenario
Scenario testing is a software testing activity that uses scenarios: hypothetical stories to help the tester work through a complex problem or test system. The ideal scenario test is a credible, complex, compelling or motivating story; the outcome ...
.
Types
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
Model-based testing is an application of model-based design for designing and optionally also executing artifacts to perform software testing or system testing. Models can be used to represent the desired behavior of a system under test (SUT), or ...
, one distinguishes between ''abstract test suites'', which are collections of abstract test cases derived from a high-level model of the
system under test System under test (SUT) refers to a system that is being tested for correct operation. According to ISTQB it is the test object.
From a Unit Testing perspective, the SUT represents all of the classes in a test that are not predefined pieces of co ...
, 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.
[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. An abstract test suite cannot be directly used on the actual
system under test System under test (SUT) refers to a system that is being tested for correct operation. According to ISTQB it is the test object.
From a Unit Testing perspective, the SUT represents all of the classes in a test that are not predefined pieces of co ...
(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 works on a sufficiently detailed level to correctly communicate with the SUT and a
test harness In software testing, a test harness or automated test framework is a collection of software and test data configured to test a program unit by running it under varying conditions and monitoring its behavior and outputs. It has two main parts: the te ...
is usually present to interface the executable test suite with the SUT.
A test suite for a
primality
A prime number (or a prime) is a natural number greater than 1 that is not a product of two smaller natural numbers. A natural number greater than 1 that is not prime is called a composite number. For example, 5 is prime because the only ways ...
testing
subroutine
In computer programming, a function or subroutine is a sequence of program instructions that performs a specific task, packaged as a unit. This unit can then be used in programs wherever that particular task should be performed.
Functions may ...
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
*
Scenario test
Scenario testing is a software testing activity that uses scenarios: hypothetical stories to help the tester work through a complex problem or test system. The ideal scenario test is a credible, complex, compelling or motivating story; the outcome ...
*
Software testing
Software testing is the act of examining the artifacts and the behavior of the software under test by validation and verification. Software testing can also provide an objective, independent view of the software to allow the business to apprecia ...
*
Test case
In software engineering, a test case is a specification of the inputs, execution conditions, testing procedure, and expected results that define a single test to be executed to achieve a particular software testing objective, such as to exercise ...
References
{{Reflist
Software testing