April 20, 2006

What can get in the way of good testing?

Testability isn't just an attribute of the system-under-test. Testability can be affected by lots of things - in the software, in the processes, in the environment.

Here are a few things that can get in the way of good testing. Not to say that good testing cannot be achieved in spite of these obstacles, but at least they can make it more difficult, more expensive, or consume more time and/or resources.

In no particular order:
  • Lack of clear requirements
  • Requirements which change frequently
  • Buggy code
  • Turnover (of testers, programmers, managers, etc.)
  • Layoffs of testing (or other development) staff.
  • Organizational changes over the life of the project.
  • Number of people who influence the project
  • Low level of concensus about the project
  • Inappropriate ratio of testers-to-developers
  • Different language abilities among testers
  • Different language abilities among testers and developers
  • Distance between developers and testers
  • Tests blocked by defects
  • Low defect fix rate
  • High number of times a bug is reopened
  • Time lost to development issues
  • Broken builds
  • Time lost to emergency fixes
  • Time spent providing support for pre-release users
  • Poor test environment
  • Poor working environment
  • Lack of testing skills
  • Lack of management support