Zum Inhalt springen

Testbarkeit

aus Wikipedia, der freien Enzyklopädie
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