Agile Software Testing: Incorporating Testing

I hope that before we go any further, we all agree that software testing of our development work is crucial. If you’re one of the head-stuck-in-the-sands people who believe testing is just a formality or an ‘add on’ – or even sometimes a nuisance – I’ll have an argument with you another time.

I’m directing this blog post instead at all those enlightened folk who appreciate the importance of testing before anything can be released. You realise as I do that without an effective testing strategy we run the risk of lengthy development cycles, shoddy estimates, costly overruns and poor quality products, with the resulting revenue loss, customer alienation and potential fall in market share.

All of which are things which can be avoided with an effective testing process.

The good news is that testing should be just as much a part of the Agile process as everything else; it should be an integral part of the development as opposed to a separate stage.

How Agile Testing Works

The most important thing to appreciate in Agile software testing is that the testers are full members of the cross-functional Agile development team.  In fact, with Scrum, all members of the Development team are Developers. We are all equally responsible for getting to “Done” and creating a potentially releasable Increment every Sprint. Although we may have team members with specific testing expertise, we are all responsible for producing a quality product and so we can all be considered Testers.

In a nutshell…

At the start of a Sprint, testing is planned as part of the work to be done by the Development Team. Test specialists may take the lead with this but the whole Development team is responsible for it. Only if an Increment is tested and free of significant defects can it be considered “done” at the end of a Sprint.

Advantages of Agile Testing

There are many advantages of following an Agile way of testing and perhaps the biggest one to my mind is that testing is an integral part of the bigger picture. Not only does this allow them to ensure testing estimates are incorporated into the overall timescale, but – even more importantly – it makes quality the responsibility of the entire team and not just those with the specialist testing skills, as it perhaps used to be in a traditional waterfall development. In agile ways of working we are all responsible for quality and it is no longer the sole concern of a select few. In Scrum we are all Developers and share responsibility for producing a quality tested Increment every Sprint.

This could mean the difference between a polished end product or one that is launched having ‘known issues’.

Needless to say, if you and your company plan to go Agile, or are implementing it right now, don’t forget testing! It is a critical concern of any truly Agile team.

Share this Post

Leave a Reply

Your email address will not be published. Required fields are marked *