- Testbarkeit
-
Testbarkeit ist der Grad, zu dem ein Software-Artefakt (ein Software-System, ein Software-Modul, ein Anforderungs- oder Entwicklungsdokument) den Test in einem gegebenen Testkontext unterstützt.
Testbarkeit ist keine intrinsische Eigenschaft von Software-Artefakten und kann nicht direkt (wie z. B. der Software-Umfang) gemessen werden. Stattdessen ist Testbarkeit eine extrinsische Eigenschaft, die sich aus der Wechselwirkung der Software mit den Testzielen, Test-Ressourcen und eingesetzten Testverfahren (d. h. dem Testkontext) ergibt.
Je geringer die Testbarkeit ist, desto höher ist der Testaufwand. Im Extremfall ist bei schlechter Testbarkeit der Test von Teilen der Software-Anforderungen gar nicht möglich.
Inhaltsverzeichnis
Hintergrund
Der Aufwand und die Effektivität eines Software-Tests hängen unter anderem von den folgenden Faktoren ab:
- Software-Anforderungen
- Eigenschaften der Software wie Umfang, Komplexität und Testbarkeit
- Eingesetzte Testmethoden
- Entwicklungs- und Testprozess
- Qualifikation und Motivation der am Test beteiligten Personen
Testbarkeit von Software
Die Testbarkeit von Software wird u.a. durch folgende Faktoren bestimmt:
- Kontrollierbarkeit: Das Testobjekt kann in den für den Test erforderlichen Zustand gebracht werden.
- Beobachtbarkeit: Das Testergebnis kann beobachtet werden.
- Isolierbarkeit: Das Testobjekt kann isoliert getestet werden.
- Trennung der Verantwortlichkeit: Das Testobjekt hat eine wohldefinierte Verantwortlichkeit.
- Verständlichkeit: Das Testobjekt ist selbsterklärend bzw. gut dokumentiert.
- Automatisierbarkeit: Die Tests lassen sich automatisieren.
- Heterogenität: Unterschiedliche Technologien erfordern den gleichzeitigen Einsatz von unterschiedlichen Testverfahren und -Werkzeugen.
Die Testbarkeit der Software wird verbessert durch:
- Testgetriebene Entwicklung
- Entwurf für Testbarkeit
Testbarkeit von Anforderungen
Anforderungen sind testbar, wenn sie folgende Kriterien erfüllen:
- konsistent
- vollständig
- eindeutig: Die Anforderung kann nicht unterschiedlich interpretiert werden.
- quantitativ formuliert: Eine Anforderung wie "schnelle Antwortzeit" kann nicht verifiziert werden.
- praktisch verifizierbar: Der Test ist nicht nur theoretisch möglich, sondern auch mit begrenztem Aufwand in der betrieblichen Praxis durchführbar.
Weblinks
- www.testbarkeit.de Website mit Hinweisen und Literatur zum Thema Software-Testbarkeit
Literatur
- Stefan Jungmayr: Improving testability of object-oriented systems, ISBN 3-89825-781-9
- Johannes Link: Softwaretests mit JUnit - Techniken der testgetriebenen Entwicklung, ISBN 3-89864-325-5
- Frank Westphal: Testgetriebene Entwicklung mit JUnit und FIT, ISBN 3-89864-220-8
Kategorie:- Testen (Software)
Wikimedia Foundation.