6. Testwerkzeuge Flashcards
Testwerkzeuge
Unterstützte Aktivitäten
- Werkzeuge, die direkt beim Testen eingesetzt werden, wie Testdurchführungswerkzeuge, Testdatengeneratoren und Ergebniskomparatoren
- Werkzeuge, die das Management des Testprozesses unterstützen, wie Werkzeuge für das Management von Tests, Testergebnissen, Daten, Anforderungen, Abweichungen, Fehlerzuständen usw., sowie Werkzeuge für das Berichtswesen und zur Überwachung der Testdurchführung
- Werkzeuge, die zu Untersuchungszwecken eingesetzt werden (z.B. Werkzeuge, die Dateiaktivitäten einer Anwendung überwachen).
- alle Werkzeuge, die das Testen unterstützen (auch ein Tabellenkalkulationsprogramm gilt in dieser Hinsicht als Testwerkzeug)
Testwerkzeuge
Zwecke
- Steigerung der Effizienz der Testaktivitäten durch eine Automatisierung sich wiederholender Testaufgaben oder durch die Unterstützung manueller Testaktivitäten, wie Testplanung, Testentwurf, Testberichts- und Überwachungsaufgaben
- Automatisierung von Testaktivitäten, für deren manuelle Durchführung erhebliche Ressourcen notwendig wären (z.B. statisches Testen)
- Automatisierung von Testaktivitäten, die manuell nicht durchgeführt werden können (z.B. Performanztests von Client-Server-Anwendungen in größerem Umfang)
- Steigerung der Zuverlässigkeit des Testens (z.B. durch automatisierten Vergleich großer Datenmengen oder durch simuliertes Verhalten)
“Testframework”
Bedeutungen
- wiederverwendbare und erweiterbare Testbibliotheken, die zum Erstellen von Testwerkzeugen dienen können (auch als Testrahmen bezeichnet)
- Art des Entwurfs der Testautomatisierung (z.B. datengetrieben, schlüsselwortgetrieben)
- der gesamte Prozess der Testdurchführung
Testwerkzeuge
Untersuchungseffekt
Einige Testwerkzeuge werden als intrusiv bezeichnet; d.h. sie können das Verhalten des Testobjekts beeinflussen.
Zum Beispiel kann das tatsächliche Zeitverhalten durch zusätzliche Befehle, die durch das Werkzeug ausgeführt werden, unterschiedlich sein oder es kann ein unterschiedlicher Überdeckungsgrad gemessen werden.
Werkzeugunterstützung
für das
Management des Testens
- Testmanagementwerkzeuge
- Anforderungsmanagementwerkzeuge
- Fehler- Abweichungsmanagementwerkzeuge
- Konfigurationsmanagementwerkzeuge
Testmanagementwerkzeuge
Diese Werkzeuge bieten:
- Schnittstellen für die Testdurchführung,
- das Verfolgen von Fehlerzuständen und
- das Verwalten von Anforderungen zusammen mit der Unterstützung von quantitativen Analysen und
- dem Berichten über Testobjekte.
- Sie unterstützen auch das Nachverfolgen der Testobjekte zu den Anforderungsspezifikationen und
- können unabhängige Möglichkeiten zur Versionskontrolle oder
- eine Schnittstelle zu einem entsprechenden externen Werkzeug aufweisen.
Anforderungsmanagementwerkzeuge
Diese Werkzeuge verwalten:
- Anforderungsbeschreibungen,
- speichern die Merkmale der Anforderungen (einschließlich Priorität),
- liefern eindeutige Bezeichnungen und
- unterstützen die Nachverfolgung der Anforderungen bis zu einzelnen Tests.
Diese Werkzeuge können auch bei der Identifizierung inkonsistenter oder fehlender Anforderungen helfen.
Fehler- und Abweichungsmanagementwerkzeuge
Diese Werkzeuge speichern und verwalten Fehler- und Abweichungsberichte, d.h.:
- Fehlerzustände,
- Änderungsanforderungen (change requests),
- Fehlerwirkungen oder wahrgenommene Probleme und
- Anomalien.
Sie unterstützen die Verwaltung des Lebenszyklus von Abweichungen, optional auch mit statistischen Analysen.
Konfigurationsmanagementwerkzeuge
Obwohl sie im engeren Sinne keine Testwerkzeuge sind, sind sie für Ablage und Versionsmanagement von Testmitteln und damit im Zusammenhang stehender Software nötig, insbesondere wenn mehr als eine Hardware-/Softwareumgebung mit verschiedenen Betriebssystemversionen, Compilern, Browsern etc. zu konfigurieren ist.
Werkzeugunterstützung
für den
statischen Test
Werkzeuge für statische Tests liefern einen kostengünstigen Weg, um mehr Fehlerzustände in früheren Phasen des Entwicklungsprozesses zu finden.
- Reviewwerkzeuge
- Statische Analysewerkzeuge (E)
- Modellierungswerkzeuge (E)
Reviewwerkzeuge
Diese Werkzeuge helfen mit:
- Prozessen,
- Checklisten und
- Regeln beim Review und
- werden zur Ablage und Kommunikation von Reviewkommentaren
- und Berichten zu Fehlerzuständen und Aufwand verwendet.
Darüber hinaus können diese Werkzeuge bei verteilten Reviews (online reviews) unterstützen, insbesondere bei großen Teams oder wenn die Mitglieder des Reviewteams geographisch verteilt sind.
Statische Analysewerkzeuge
Diese Werkzeuge unterstützen Entwickler und Tester in der Aufdeckung von Fehlerzuständen vor dem dynamischen Testen, indem sie Programmierkonventionen einschließlich sicherer Programmierung
(secure coding) erzwingen und die Analyse von Strukturen und Abhängigkeiten ermöglichen.
Sie können ebenso bei der Planung oder Risikoanalyse helfen, indem sie Metriken (z.B. Komplexität) aus dem Code ermitteln.
Modellierungswerkzeuge
Diese Werkzeuge werden verwendet, um Softwaremodelle zu validieren (z.B. physikalische Datenmodelle, PDM, für relationale Datenbanken).
Sie zeigen Inkonsistenzen auf und finden Fehlerzustände und werden oft genutzt, um das Generieren von auf dem Modell basierenden Testfällen zu unterstützen.
Werkzeugunterstützung
für die
Testspezifikation
- Testentwurfswerkzeuge
- Testdatengenerator und -editor
Testentwurfswerkzeuge
Diese Werkzeuge werden verwendet, um:
- Testeingaben,
- ausführbare Tests und/oder
- Testorakel aus:
- den Anforderungen,
- der graphischen Benutzungsschnittstelle (GUI),
- dem Entwurfsmodell (Zustands-, Daten- oder Objektmodell) oder
- aus dem Code
zu generieren.