tisdag 27 september 2011

Agile Testing - Keep it simple

One of the things which always seems to make discussing testing difficult is the plethora of different types of testing: System Testing, Acceptance Testing, Functional Testing, User Testing, Integration Testing etc. Worse still, these terms can be combined to come up with almost endless variations: User Acceptance Testing, System Integration Testing, Developer System Testing, ...

And everybody seems to have their own individual interpretation of what these terms mean. No wonder it's so difficult to have a reasonable discussion about agile testing.

Kent Beck explained back in 1999 that simplicity is one of four values for extreme programming. Simplicity also appears as one of the principles behind the Agile Manifesto. Kent kept it simple even when talking about testing. He talked about just two types of tests; programmer tests and customer tests. Programmers write tests which must run flawlessly for development to continue. Customers write tests demonstrating that features are finished.

So let's see how far we can get by using just these terms. Hopefully it will make discussing agile testing simpler. Who knows, maybe even performing agile testing will be more effective if we can also keep it simple in practice.

In my next post I'll identify three practices which can simplify agile customer testing.