Testbarkeit hat so viele Facetten wie das Testen und die Software-Entwicklung selbst. Wir unterscheiden zunächst
- Die Testbarkeit des Anwendungsproblems:
Anwendungsprobleme können inherent komplex sein, die Testergebnisse manuell nur schwer nachvollziehbar.
- Die Testbarkeit der Anforderungen:
Wie quantitativ, verständlich, konsistent, vollständig und korrekt die Anforderungen sind bestimmt wesentlich die erreichbare Qualität der Testfälle.
- Die Testbarkeit von Softwaresystemen und -komponenten selbst.
Die Testbarkeit von Softwaresystemen bzw. -komponenten (wie. z.B. Grobentwürfe, Feinentwürfe und Source-Code) wird wesentlich von folgenden Faktoren bestimmt:
- ihrer Komplexität,
- dem Grad der Kopplung zwischen einzelnen Komponenten des Systems,
- der Anwendung des Prinzips "Separation of Concerns", d.h. einer sauberen und geschickten Aufteilung der Verantwortlichkeiten auf die Komponenten eines Systems,
- der Steuerbarkeit, d.h. der Einfachheit, mit der die zu testenden Komponenten in den Testausgangszustand gebracht werden können,
- der Beobachtbarkeit, d.h. der Einfachheit, mit der Testergebnisse beobachtet werden können,
- dem Grad der Automatisierbarkeit, d.h. der Möglichkeit, Testwerkzeuge einzusetzen,
- der Verfügbarkeit von Selbsttests, und
- der Verfügbarkeit von Diagnosefunktionalität.
Wie kann Testbarkeit systematisch erzielt werden? Methodik
|