Software testing is a process which includes many different activities; test execution (including checking of results) is only one of these activities. The test process also includes activities such as test planning, analysing, designing, and implementing tests, reporting test progress and results, and evaluating the quality of a test object.

To present a short summary of our activity in a normal sprint, we’ve listed below some of the steps we go through on each iteration.

1. Have the feature spec written out by the product team, then have a meeting to address and find problems before it gets implemented.

2. Once the spec has been approved, the QA team can start writing the test cases for the spec, while the development team is writing the code.

3. When the code is finishing being implemented, the QA team starts executing the selected test plan (also including the newly written test cases) against the newly implemented feature.

4. 90% of the time, when developers write code, bugs will be found. Once found, we need to report them!

Then we need to decide (with the product owner) which ones should get fixed now (in the current sprint) and which ones should get deferred.

5. Once the needed to be fixed bugs do get fixed, we’ll do another shorter plan execution to see if other areas of the product have been affected or not by the new changes.

6. If the fixes pass, & there are no more bugs to be fixed in the current sprint related to this feature, we can close out the story ticket et voilà, call the feature as accepted!

Note that, usually, spec testing (so point 1) is crucial as it saves a lot of time and effort for everybody.