A test suite is the accumulation of test cases that will be run in a test progression until some stopping criteria are met.
Test suite preparation involves the construction and allocation of test cases in some systematic way based on the specific testing techniques used. For instance, when usage-based statistical testing is planned, the test case allocation will be defined by the operational profiles created as the testing models.
When coverage-based testing is planned, the specific coverage criteria would dictate the allocation of test cases. For instance, in control flow testing the precise quantity of test cases is defined by the quantity of paths for all-path coverage.
There is also another way to receive a test suite. It is with the help of reuse of test cases for earlier versions of the equal product. Such type of software testing is generally considered as regression testing. It guarantees that general functionalities are still supported well.
Commonly all the test cases should form an integrated suite, regardless of their background, in what way they are obtained and what models are used.
It happens so that the test suite may evolve over time and its creation may overlap with the actual testing. Actually, in some testing techniques test cases can be created dynamically at the time of test implementation.
But even in such cases planning of the test cases and test suite is required. It is necessary at least to define the means for dynamic test case structure and the exact stopping criteria. For the majority of software testing techniques a great part of test preparation should be performed before actual testing begins.