The main directions and types of testing are defined at the stage of analyzing user stories (for Kanban) or planning stories into a sprint (for Scrum). Significant quality requirements for stories are recorded in the acceptance criteria.
At the testing stage (for Kanban), or when the testing task is performed in the sprint (for Scrum), detailed test scenarios for manual testing are developed for each story. Important scenarios are included in test plans for subsequent integration and acceptance testing. Automated functional tests are developed, and product regression testing will be based on them. After the stories have been implemented, manual and automated tests are executed, and any errors found are fixed promptly.
At the end of the sprint (for Scrum) or before a build is released (for Kanban), regression, integration, acceptance, and exploratory testing are performed, as well as stress and load testing. For testing, the build is selected from the list of recent builds for which all automated tests have passed. For manual testing, previously prepared test plans are used, as well as sets of test scenarios for the functions or requirements affected by the changes.
Errors found go into the product or sprint backlog, depending on their severity. The results of manual and automated testing immediately become available to all project participants in the list of builds or tests. The build for which all automated and manual tests have passed is transferred to production operation.
To create high-quality system requirements, testers are brought in for review at the requirements development stage; in this way, important aspects of the requirements are documented and their testability is checked. The review process can be formalized by configuring the requirements lifecycle (states) and organizing an approval process.
When development begins, testers define the directions and types of testing, develop the corresponding test plans and the main test scenarios, and link them to the source requirements. When requirements are changed or clarified, ALM notifies you that the test documentation needs to be updated.
When development of the release is complete, testers supplement and refine the test documentation and develop automated functional tests. From the list of recent builds, the one for which all automated tests have passed is selected. Testers perform functional, integration, regression, and exploratory testing on a stable build.
For manual testing, previously prepared test plans are used, as well as sets of test scenarios for the functions or requirements affected by the changes. Errors found go into the product backlog, a fix is planned, and then the errors are rechecked against the previously prepared test scenarios.
Test documentation is added to baselines that correspond to product versions (that is, versions of the requirements). ALM makes it possible to test several product versions and to update and keep the test documentation current efficiently.