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.
Testdatengeneratoren und -editoren
Mit Hilfe von Testdatengeneratoren und -editoren können aus Datenbanken, Dateien oder Datenströmen zunächst Testdaten ermittelt und dann sämtliche für einen Test benötigte Testdaten bearbeitet werden, um den Datenschutz durch Anonymisierung sicherzustellen.
Werkzeugunterstützung
für die
Testdurchführung und die Protokollierung
- Testausführungswerkzeuge
- Testrahmen/Unittest-Framework(E)
- Vergleichswerkzeuge/Komparatoren
- Vergleichswerkzeuge/Komparatoren
- Werkzeuge zur Überdeckungsmessung (E)
- Sicherheitsprüfwerkzeuge
Testausführungswerkzeuge
Diese Werkzeuge, ermöglichen eine automatische oder halbautomatische Ausführung von Tests unter Verwendung der gespeicherten Eingaben und der erwarteten Ausgaben mittels einer Skriptsprache.
Normalerweise liefern sie für jeden Testlauf ein Protokoll.
Sie können auch genutzt werden, um Tests aufzuzeichnen, und üblicherweise unterstützen sie Skriptsprachen oder eine GUI-basierte Konfiguration zur Parametrisierung der Daten oder für andere spezifische Anpassungen.
Testrahmen/Unittest-Framework(E)
Ein Unittest-Framework oder Testrahmen erleichtert den Test einer Komponente oder eines Teilsystems durch:
- Simulation der Umgebung des Testobjekts,
- durch Scheinobjekte (Simulatoren) als Platzhalter und/oder Treiber.
Vergleichswerkzeuge/Komparatoren
Vergleichswerkzeuge ermitteln die Unterschiede zwischen Dateien, Datenbanken oder Testergebnissen.
Testausführungswerkzeuge enthalten typischerweise dynamische Vergleichswerkzeuge.
Es besteht auch die Möglichkeit, dass ein Vergleich durch ein separates Werkzeug erst nach der Testdurchführung ausgeführt wird.
Ein Vergleichswerkzeug kann auch ein Testorakel verwenden, insbesondere wenn der Vergleich automatisiert erfolgt.
Werkzeuge zur Überdeckungsmessung(E)
Diese Werkzeuge messen – mit intrusiven oder nicht-intrusiven Mitteln – den prozentualen Anteil spezifischer Codestrukturtypen (z.B. Anweisungen, Zweige oder Entscheidungen und Module oder Funktionsaufrufe), die durch eine Menge von Tests ausgeführt bzw. durchlaufen wurden.
Sicherheitsprüfwerkzeuge
Diese Werkzeuge dienen der Bewertung der Sicherheitsmerkmale von Software.
Dabei wird bewertet, wie die Software in der Lage ist,:
- die Vertraulichkeit der Daten,
- deren Integrität,
- Bestätigung der Echtheit,
- Autorisierung,
- Verfügbarkeit und
- Nichtabstreitbarkeit
zu schützen.
Sicherheitsprüfwerkzeuge sind meist für eine bestimmte Technologie, Plattform und Zielsetzung ausgelegt.
Werkzeugunterstützung
für
Performanzmessungen und Testmonitore
- Dynamische Analysewerkzeuge (E)
- Performanztest-/Lasttest-/Stresstestwerkzeuge
- Testmonitore
Dynamsiche Analysewerkzeuge (E)
Dynamische Analysewerkzeuge decken Fehlerzustände auf, wie sie lediglich zur Laufzeit eines Programms sichtbar werden, also z.B. Zeitabhängigkeiten und Speicherengpässe.
Diese werden typischerweise im Komponenten- und Komponentenintegrationstest sowie im Rahmen der Tests der Middleware
verwendet.