Test suite: Difference between revisions

Content deleted Content added
Add citation, mark some things that need clarification
 
(9 intermediate revisions by 8 users not shown)
Line 2:
{{More citations needed|date=March 2022}}
{{EngvarB|date=October 2019}}
In [[software development]], a '''test suite''', less commonly known as a '''validation suite'''{{citation needed}}, is a collection of [[test case (software)|test case]]s that are intended to be used to test a software program to show that it has some specified set of behaviors.<ref>{{cite journalbook |last1=Pinto |first1=Leandro Sales |last2=Sinha |first2=Saurabh |last3=Orso |first3=Alessandro |title=Understanding myths and realities of test-suite evolution |journal=Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering |chapter=Understanding myths and realities of test-suite evolution |date=11 November 2012 |pages=1–11 |doi=10.1145/2393596.2393634 |chapter-url=https://dl.acm.org/doi/abs/10.1145/2393596.2393634 |publisher=Association for Computing Machinery|isbn=9781450316149 |s2cid=9072512 }}</ref> 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 {{according to whom|incorrectly}} termed a [[test plan]], a [[test script]], or even a [[test scenario]].
 
==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 testing (software)|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.<ref>Hakim Kahlouche, César Viho, and Massimo Zendri, [http://cadp.inria.fr/vasy/publications/Kahlouche-Viho-Zendri-98.html "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.</ref> 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 worksmust 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.
Line 17:
*[[Scenario test]]
*[[Software testing]]
*[[Test case (software)|Test case]]
 
==References==
{{Reflist}}
 
[[Category:Software testing|Suite]]