Testwerkzeuge zeichnen sich durch eine große Vielfalt und Individualität aus. Es gibt kaum Standards oder wirklich verbreitete Marktprodukte, dafür aber eine Vielzahl unternehmens- oder abteilungsspezifischer Werkzeuge, die zumeist aus der täglichen Projektarbeit der Entwickler entstanden sind [ GuSo02 ].
Der Aufwand für einen ausführlichen Test kann vor allem bei größeren Projekten leicht den Implementierungsaufwand übersteigen. Dies liegt vor allem darin begründet, dass bei einem sorgfältig durchgeführten Test alle bereits geprüften Testfälle nach einer Programmänderung noch einmal kontrolliert werden müssen, um sicherzustellen, dass sich keine neuen Fehler eingeschlichen haben. Testwerkzeuge können an dieser zeitraubenden Prozedur an sich wenig ändern, sie können allenfalls bei der Durchführung der einzelnen Tests, bei deren Vorbereitung und bei der Korrektur von Fehlern Unterstützung bieten [ PoBl96 ].
Testwerkzeuge lassen sich vereinfacht in statische und dynamische Werkzeuge einteilen.