Testbarkeit

Testbarkeit beschreibt den Grad, zu dem Testbedingungen für eine Softwarekomponente oder ein System durchgeführt werden können, um festzustellen, ob durch einen Test bestimmte Testbedingungen erfüllt sind
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 27. März 2006 um 16:12 Uhr durch Ammit (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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 und 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.

Hintergrund

Der Aufwand und die Effektivität eines Software-Tests hängt u.a. von den folgenden Faktoren ab:

  • Eigenschaften der Software-Anforderungen
  • Eigenschaften der Software (z.B. Umfang, Komplexität und Testbarkeit)
  • Eigenschaften der eingesetzten Testmethoden
  • Eigenschaften des Entwicklungs- und Testprozesses
  • 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:

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.

Literatur