If you work in software testing, or if you have earned your ISEB Foundation / ISTQB Foundation certification, you have probably heard of agile testing. However, this is a relatively ambiguous concept that can differ depending on what industry you work in, so I thought I would try and shed a little light on the subject.
Agile testing is a philosophical concept that emphasizes communication, flexibility and collaboration, over process. In other words, agile testing is not about internal factors such as following process for the sake of following process, or writing documentation for the sake of writing documentation. Instead, the emphasis is on external factors like the customer and the finished product.
Agile testing follows something known as the Agile Software Development Manifesto, which was released about a decade ago and touted the benefits of process iteration, adaptability, and developer/end-user communication and feedback to build better software and subsequently enhance customer satisfaction. When applied to software testing, the implication is that the developers are the testers’ customers.
The key philosophical difference between agile testing and more traditional forms of software testing is that agile testing is more about showing that the software works as expected as opposed to finding defects. It is also more collaborative. In the past, developers and testers worked largely in silos; the developers would finish the code in its entirety and then hand it off to the testers, who would log the defects and then pass this information back to the developers for fixing.
With agile testing, developers and testers work closely together in an attempt to prevent the bugs from showing up in the first place. So instead of the developers coding A, B, and C and passing all 3 at once to the testers, with agile testing after A is coded it is tested, after B is coded it is tested, and so on. This usually results in better products and increased speed-to-market.
So that is agile testing in a nutshell. As you can probably tell, the degree to which this is practiced in the real world is highly dependent on the organization’s culture. Simply put, some organizations are more collaborative than others. If you work for a company that values flexibility and communication, then an agile testing approach is probably worth considering.
Filed Under: Software Testing