måndag 3 oktober 2011

Agile Testing – Simple in practice

Agile developers know that a few basic practices can be used to drive simplicity into programming. Working in collaboration with the customer simplifies communication. Pair programming reduces the need for documentation and controls. Programmer testing drives you towards a simpler design.

So what are the practices which can be used to drive simplicity into agile customer testing?

Face to face communication is the simplest and most effective way for us to communicate, by a long chalk. So bringing the tester into the team is an obvious way of bringing programmer and tester face to face.

Another practice to simplify testing is encouraging testers to team up with the programmers - it's not just programmers that can make a pair. For the more open minded, why not try a threesome – programmer/programmer/tester? You'll find you simply don't need a lot of the documents that are traditionally required when testing.

Finally you can start customer testing early. Whether it's automated testing or exploratory testing, you shouldn't need to wait until the end of the sprint to perform them. And by encouraging the programmers to break up large features into smaller ones the tester can drive the team to deliver features that are simpler to test.

So there you have it – three basic practices to simplify agile customer testing:

I'll stick my chin out and suggest that these are defining practices for agile customer testing. There are several other good practices that agile testers can adopt, but if you're not doing these three then you're not agile testing. It's as simple as that.

2 kommentarer:

  1. I enjoyed reading your thoughts on agile testing. Conditions for successful agile testing, according to me...
    - Rapid review/feedback on system quality is necessary for efficient development.
    - Testers and developers cooperate throughout the sprint for common responsibility of system quality and mutual understanding.
    - Test automation is necessary in order to handle regression testing when having frequent releases to test environment.

  2. Thanks Örjan. Your list describes very well some of the effects I think can be achieved by putting testers in the team and encouraging them to team up with programmers.