Chapter 23. Using Agile Methods to Improve Software Testing

This chapter introduces a seven-step process to build agility into your software testing process through time compression. Agility not only improves software testing processes; it also adds flexibility and enhances ease of use. Thus, agility leads to a “continuous process enhancement,” which significantly increases testing volumes because of satisfaction with the process.

Testers avoid defective and difficult-to-use processes in the worst case; in the best case, they customize the processes, which means that they are not followed as intended. Testers pick and choose those pieces from the process they like, and improvise on those components they do not like, which leads to each testing group having its own testing process. The net result is significant effectiveness and efficiency variability among testing projects. When testers focus on adding agility to the process, the process improves, and all testing groups are likely to follow the agile process.

The Importance of Agility

Agile systems are designed to be quick and easy to use. Much effort has been expended on the development of agile software development processes. Unfortunately, those software development processes have not placed much emphasis on software testing, even though in many systems, testing consumes about one-half the total developmental resources.

Effective agile processes have the following three characteristics:

  • Well-defined objectives

  • Open information/communication ...

Get Effective Methods for Software Testing, Third Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.