Updated: Mar 3
Agile and its corresponding frameworks were created to handle development without really focusing on the testing side (with the exception of Extreme Programming).
As a mindset, Agile has not provided any practices or discipline that specify processes like how to test the software, implement automated solutions or anything else related to testing.
Moreover, there is not a single place in the manifesto that specifies the role of testers or how to integrate the testing discipline in Agile software development. The same is true of Scrum. As a result, organizations are confused and struggling with the implementation of testing in their Agile environment, even though it's an integral part of any software development.
Now that we see the gap in Agile and Scrum regarding testing, it’s time to ask ourselves what the test vision should be in a world that does not recognize its necessity?
I was asked this exact question some years ago by a client who didn’t understand the guidelines for testing in this environment and what to do to handle the different test activities.
Because of this conversation, I decided that I would formulate a testing vision that I can share with my customers so they will not need to figure out things that should be clear to begin with.
My testing vision is based on the following principles:
Any testing activity should move the project forward.
Testing should be based on collective ownership, which means that all team members contribute to the testing effort.
Test activities must not go against the spirit of the four values and twelve principles of the Agile manifesto.
Test activities must be added as part of the feature/release/story Definition of Done.
Traditional test approaches are still suitable and valuable as long as we can adapt them to the Agile way of working.
Delivering quality products is mostly based on the team’s ability to implement automated solutions at all layers of the product.
The test approach depends on the type of project, available resources, type of organization, the customer and the organization’s culture. These are all factors for testing.
Test activities must be combined with the development process itself.