Software Testing - From an Agile Development Perspective
Agile has a slightly different approach towards testing than traditional practices. Inline with the agile manifesto, the focus is shifted more towards customer expectations. Thus testing pertaining to the agile manifesto is a practice that treats development as the customer of testing; A set of principles and rules for testing come from this manifesto.XP Practices include:
- Test-First Programming
- Pair Programming
- Short iterations and releases
- Refactoring
- User Stories
- Acceptance Testing
The role of agile software testing
The role of testing in agile is to help with tracking and direction. Where are we now? Where are we headed? This testing information can then provide information to the team to help them make better informed decisions.
What constitues a software bug?
Unlike conventional testing where a bug may be a fault or defect in agile it is anything that ‘bugs’ the user. With this is mind, testers don’t make the final call. The users do. This fits inline with the agile manifesto.
Who is involved?
Traditionally an outside test team is responsible for testing. An agile testing team is often made up of both developers and clients or customer representatives. This should not be done alone or isolated from the customer. Who better knows what they want than the customer? After all, they are performing the final acceptance testing. Thus it is a good idea to have them in from the start.
Personally I find the notion of including the customer in the ‘loop’ throughout development and testing an interesting practice. They often don’t have the time and developers often do not want to spend more time with the customer than they have too. Nevertheless it is a crucial aspect which ensures each iteration stays in step. Furthermore, the focus is further shifted towards the customer and re-enforces ‘customer value’.

Leave a Reply