Posted on 27 May 2004 under General

I have been thinking about the evolution of testing in “agile” projects. As the nerds get better at building software more reliably (via automated unit and integration tests) the need for manual testing is thankfully diminishing. This seems to be leading to testers morphing into either:

  1. QA developers – who are basically developers who spend most of their time working on automated tests and associated frameworks; or
  2. Tech savvy, proxy customers – who start to act as a type of detail-oriented business analyst.

The types of things I see testers doing more and more are — acting as stand-in customers by gaining a deep understanding of business rules and needs, reviewing acceptance test plans, challenging developers to keep up to date with automated regression/integration tests (which the tester will regularly use) and negotiating compromises.

This new breed of tester provides a link between the detail heavy, day-to-day reality of development and the customer needs. Importantly they act as a customer proxy in the private meetings that a company has where customers aren’t welcome. The very type of meeting where customer needs are often sold short for the convenience of the team. They basically help to keep the team honest.