Leo Van der Aalst, Fontys University of Applied Sciences and Cecile Davis
Testing is not only a vital element of agile projects, it is an integral part of agile software development. In traditional software development environments test levels like system test, user acceptance test and production acceptance test are commonly executed. In an ASDE, all team members have to work together to get the work done. All disciplines have to work together and support each other when necessary. There are no designer, developer, user or test teams in an agile project. In such an environment it does not make much sense to talk about system test and/or acceptance test teams. Instead all team members have to accept the feature (or user story or use case, etc.) with their own acceptance criteria in mind. For instance, an end-user should test the suitability and user-friendliness of the feature. Operations should, for instance, test the performance, the manageability and continuity of the feature. And the designer should test the functionality of the feature. In short, in an ASDE test levels are replaced by combinations of acceptor and quality characteristics important to the acceptor per feature. This approach requires a different mind-set of the team members, a different product risk analysis approach and a different view on establishing the test strategy.