Newer development models, such as Agile, often employ test driven development and
place an increased portion of the testing in the hands of the developer, before it reaches a
formal team of testers. In a more traditional model, most of the test execution occurs after
the requirements have been defined and the coding process has been completed.
A sample testing cycle
Although variations exist between organizations, there is a typical cycle for testing[33].
The sample below is common among organizations employing the Waterfall
development model.
• Requirements analysis: Testing should begin in the requirements phase of the
software development life cycle. During the design phase, testers work with
developers in determining what aspects of a design are testable and with what
parameters those tests work.
• Test planning: Test strategy, test plan, testbed (dev. env./platform) creation.
Since many activities will be carried out during testing, a plan is needed.
• Test development: Test procedures, test scenarios, test cases, test datasets, test
scripts to use in testing software.
• Test execution: Testers execute the software based on the plans and test
documents then report any errors found to the development team.
• Test reporting: Once testing is completed, testers generate metrics and make
final reports on their test effort and whether or not the software tested is ready for
release.
• Test result analysis: Or Defect Analysis, is done by the development team
usually along with the client, in order to decide what defects should be treated,
fixed, rejected (i.e. found software working properly) or deferred to be dealt with
later.
• Defect Retesting: Once a defect has been dealt with by the development team, it
is retested by the testing team. AKA Resolution testing.
• Regression testing: It is common to have a small test program built of a subset of
tests, for each integration of new, modified, or fixed software, in order to ensure
that the latest delivery has not ruined anything, and that the software product as a
whole is still working correctly.
• Test Closure: Once the test meets the exit criteria, the activities such as capturing
the key outputs, lessons learned, results, logs, documents related to the project are
archived and used as a reference for future projects.