People and interaction over processes and tools does not mean “no processes”, we need a test process.
Testing supports adding business value
Agile development is all about adding business value to the product. A product increment that is developed but that doesn’t work correctly or doesn’t meet user expectations does not add business value. Testing is used to determine whether the expected business value is created.
Testing the right things
Since there is limited time to complete all testing, it becomes very important to test the right things. The team must assess what product risks are important to test. Under time pressure there is a tendency to only focus on functional testing but business value also includes non functional aspects. They must not be forgotten.
Cross sprint and cross team dependencies
Complex, integrated functions will be delivered over multiple sprints. Because of this, it can take a couple of sprints before the more complex, end to end, functionality becomes available for testing. In cases where multiple teams work on the same product the various functional parts of the system may come from different teams. In this situation it is important that the test process includes alignment of the test activities in and over sprints of multiple teams.
Agile and Scrum do not prescribe a specific test process. The whole team is responsible for testing and delivering a high quality product. Because of this shared responsibility, it is good to have a common understanding about how testing is done within the individual teams and between multiple teams. An agreed test approach helps the teams to test efficient and effective.
Levels and check points for test process
The levels for Test process are typified as follows:
- Forming: Risk based testing
- Norming: Testing in and over sprints
- Performing: Everybody tests
Please find the checkpoints below.
|1. The effort for test tasks is based on product risks
2. Test design techniques are applied when creating test cases (e.g. boundary value analysis, state transition)
3. Testing considers different quality characteristics
|1. Non-functionals are addressed in and over sprints
2. Pairing is used to improve the test quality
3. The Definition of Done includes items related to testing
4. Developers use simple techniques for unit testing
|1. Testing debt is monitored and managed
2. User acceptance is fully integrated in the process
3. All team members have a responsibility for the test process