Testwerkzeuge

Kapitel 6 – ISTQB Certified Tester Foundation Level v4.0.2

Quelle: ISTQB CTFL Lehrplan v4.0.2 (GTB, 01.03.2025) Syllabus: Kap. 6 — Testwerkzeuge · FL-6.1.1 (K2) · FL-6.2.1 (K1) Hinweis: 6.1 Werkzeugunterstützung · 6.2 Nutzen und Risiken der Testautomatisierung · K-Stufen: K1 (erinnern) · K2 (verstehen) · K3 (anwenden)

6.1 Werkzeugunterstützung für das Testen

Testwerkzeuge unterstützen und erleichtern viele Testaktivitäten. Sie können die Effizienz des Testprozesses erhöhen, wiederkehrende Aufgaben automatisieren und objektive Messungen ermöglichen.

Wichtig: Die bloße Anschaffung eines Werkzeugs ist keine Erfolgsgarantie. Jedes neue Werkzeug erfordert Aufwand für Einführung, Wartung und Schulung. Es gibt auch Risiken, die analysiert und gemindert werden müssen.

Arten von Testwerkzeugen

Testwerkzeuge lassen sich in verschiedene Kategorien einteilen, je nachdem, welche Testaktivitäten sie unterstützen:

Testmanagementwerkzeuge

Erhöhen die Effizienz des Testprozesses, indem sie das Management des SDLC, der Anforderungen, der Tests, der Fehlerzustände und der Konfiguration erleichtern.

Werkzeuge für statische Tests

Unterstützen den Tester bei der Durchführung von Reviews und statischen Analysen (z.B. Code-Analyse-Tools).

Testentwurfs- und Testrealisierungswerkzeuge

Erleichtern die Erstellung von Testfällen, Testdaten und Testabläufen (z.B. modellbasierte Testwerkzeuge).

Testdurchführungs- und Testüberdeckungswerkzeuge

Erleichtern die automatisierte Testdurchführung und die Messung der Überdeckung (z.B. Testausführungs-Tools, Coverage-Analyse).

Werkzeuge für nicht-funktionale Tests

Ermöglichen die Durchführung nicht-funktionaler Tests, die manuell nur schwer oder gar nicht durchführbar sind (z.B. Last- und Performance-Tests).

DevOps-Werkzeuge

Unterstützen die DevOps-Auslieferungskette, Verfolgung von Arbeitsabläufen, automatisierten Build-Prozess und CI/CD (z.B. Jenkins, GitLab CI).

Werkzeuge für die Zusammenarbeit

Erleichtern die Kommunikation im Team (z.B. Chat-Tools, Wiki-Systeme, Issue-Tracker).

Skalierbarkeits- und Standardisierungswerkzeuge

Unterstützen die Skalierbarkeit und Standardisierung der Bereitstellung (z.B. virtuelle Maschinen, Container-Tools wie Docker).

Weitere unterstützende Werkzeuge

Jedes andere Werkzeug, das beim Testen hilft – beispielsweise ist ein Tabellenkalkulationsprogramm im Kontext des Testens ebenfalls ein Testwerkzeug.

6.2 Nutzen und Risiken von Testautomatisierung

Testautomatisierung kann erhebliche Vorteile bringen, birgt aber auch Risiken. Es ist wichtig, sowohl die potenziellen Nutzen als auch die Risiken zu verstehen, um fundierte Entscheidungen über den Einsatz von Automatisierung treffen zu können.

Potenzieller Nutzen

  • Zeitersparnis: Verringerung sich wiederholender manueller Arbeiten (z.B. Ausführung von Regressionstests, erneute Eingabe derselben Testdaten, Vergleich von erwarteten und tatsächlichen Ergebnissen)
  • Konsistenz und Wiederholbarkeit: Vermeidung einfacher menschlicher Fehlhandlungen – Tests werden konsequent aus Anforderungen abgeleitet, Testdaten systematisch erstellt und Tests in gleicher Reihenfolge und Häufigkeit ausgeführt
  • Objektivere Bewertung: Bereitstellung von Messungen (z.B. Überdeckung), die für Menschen zu kompliziert in ihrer Ermittlung sind
  • Leichterer Zugang zu Informationen: Unterstützung des Testmanagements und der Berichterstattung durch Statistiken, Diagramme und aggregierte Daten über Testfortschritt, Ausfallraten und Testdauer
  • Verkürzte Testdurchführungszeiten: Frühere Erkennung von Fehlerzuständen, schnellere Rückmeldungen und kürzere Produkteinführungszeiten
  • Mehr Zeit für anspruchsvolle Tests: Tester haben mehr Zeit, um neue, intensivere und effektivere Tests zu entwerfen

Potenzielle Risiken

  • Unrealistische Erwartungen: Überschätzung der Vorteile eines Werkzeugs (Funktionalität und leichte Handhabung)
  • Ungenaue Schätzungen: Zeit, Kosten und Aufwand für Einführung, Pflege von Testskripten und Änderung des bestehenden manuellen Testprozesses werden unterschätzt
  • Ungeeigneter Einsatz: Verwendung eines Testwerkzeugs, wenn manuelles Testen besser geeignet wäre
  • Übermäßiges Vertrauen: Zu starkes Vertrauen in ein Werkzeug, Vernachlässigung der Notwendigkeit menschlichen kritischen Denkens
  • Abhängigkeit vom Anbieter: Anbieter stellt möglicherweise Geschäftstätigkeit ein, nimmt Werkzeug vom Markt, verkauft an anderen Anbieter oder bietet schlechten Support
  • Open-Source-Risiken: Open-Source-Software wird möglicherweise nicht mehr weiterentwickelt – keine weiteren Updates verfügbar, oder interne Komponenten müssen häufig angepasst werden
  • Inkompatibilität: Automatisierungswerkzeug ist nicht mit der Entwicklungsplattform kompatibel
  • Ungeeignete Werkzeugwahl: Werkzeug entspricht nicht den regulatorischen Anforderungen und/oder Sicherheitsstandards
Fazit: Der erfolgreiche Einsatz von Testwerkzeugen und Testautomatisierung erfordert sorgfältige Planung, realistische Erwartungen und kontinuierliche Wartung. Die Werkzeuge sollten zum Kontext des Projekts passen und die Tester sollten angemessen geschult werden. Automatisierung ist kein Selbstzweck, sondern ein Mittel zur Erreichung der Testziele.