Konzept: Testautomatisierung und Tools
Diese Richtlinie beschreibt die Arten von Tools, mit denen die Effizienz von Tests verbessert werden kann.
Beziehungen
Zugehörige Elemente
Hauptbeschreibung

Es kommen immer mehr Testautomatisierungstools auf den Markt. Es sind zwar viele Automatisierungstools verfügbar, aber es ist unwahrscheinlich, dass ein Tool allein in der Lage ist, alle Testaufgaben zu automatisieren. Die meisten Tools legen den Schwerpunkt auf eine bestimmte Aufgabe oder Gruppe von Aufgaben, andere wiederum sprechen nur einen Aspekt einer Aufgabe an.

Bei der Auswertung verschiedener Tools für die Testautomatisierung ist es wichtig, auf den Typ von Tool zu achten, den Sie auswerten, die Einschränkungen des Tools und die Aufgaben, die das Tool schwerpunktmäßig adressiert und automatisiert. Testtools werden häufig basierend auf den folgenden Kategorien ausgewertet und erworben:

Funktion

Testtools können nach den von ihnen ausgeführten Funktionen klassifiziert werden. Typische Funktionsbezeichnungen für Tools sind:

  • Datenerfassungstools, die Daten erfassen, die in den Testaufgaben verwendet werden. Die Daten können durch Gespräche, Extraktion, Transformation oder auf der Basis vorhandener Daten oder durch Generieren von Anwendungsfällen oder ergänzenden Spezifikationen erfasst werden.
  • Statische Messtools, die die in den Designmodellen, im Quellcode oder anderen fixen Quellen enthaltenen Informationen analysieren. Die Analyse liefert Informationen zum logischen Ablauf, Datenfluss oder qualitative Messwerte wie Komplexität, Wartungsfreundlichkeit oder Codezeilen.
  • Dynamische Messtools, die während der Ausführung des Codes eine Analyse durchführen. Die Messungen beziehen sich auf die Laufzeitoperationen des Codes, z. B. Hauptspeicher, Fehlererkennung und Leistung.
  • Simulatoren oder Treiber, die Aufgaben ausführen, die aus Zeit-, Kosten- oder Sicherheitsgründen für Testzwecke nicht verfügbar sind.
  • Testmanagementtools, die bei der Planung, beim Design, bei der Implementierung, Ausführung, Auswertung und Verwaltung der Testaufgaben oder Arbeitsergebnisse helfen.

Whitebox vs. Blackbox

Testtools werden je nach Art und Weise, in der die Tools eingesetzt werden, oder je nach Technologie und Wissen, die bzw. das für die Verwendung der Tools erforderlich ist, häufig in Whitebox- oder Blackbox-Tools unterteilt.

  • Whitebox-Tools stützen sich bei der Implementierung und Ausführung der Tests auf Kenntnisse des Codes, des Designmodells oder anderen Quellenmaterials.
  • Blackbox-Tools stützen sich lediglich auf die Anwendungsfälle oder funktionale Beschreibung des Testziels.

Während Whitebox-Tools wissen, wie das Testziel die Anfrage bearbeitet, stützen sich Blackbox-Tools bei der Bewertung des Tests auf die Eingabe- und Ausgabebedingungen.

Spezialisierung

Zusätzlich zur zuvor beschriebenen groben Einteilung der Tools können Tools auch nach Spezialisierung klassifiziert werden.

  • Aufzeichnungs- und Wiedergabetools kombinieren Datenerfassung mit dynamischen Messungen. Die Testdaten werden während der Aufzeichnung von Ereignissen (der Testimplementierung) erfasst. Später, während der Testausführung, werden die Daten verwendet, um das Testscript wiederzugeben bzw. abzuspielen, das für die Auswertung der Zieltestausführung verwendet wird.
  • Qualitative Messtools sind statische Messtools, die eine statische Analyse der Designmodelle bzw. des Quellcodes durchführen, um Parameter festzulegen, die die Qualität des Testziels beschreiben. Die Parameter können Aufschluss über Zuverlässigkeit, Komplexität, Wartungsfreundlichkeit und andere Qualitätsfaktoren geben.
  • Abdeckungsüberwachungstools geben Aufschluss über die Vollständigkeit der Tests, in dem sie feststellen, wie viel des Testziels während der Tests abgedeckt wurde. Typische Abdeckungsklassen sind Anwendungsfälle (anforderungsbasiert), logische Verzweigungen oder Knoten (codebasiert), Datenzustand und Funktionspunkte.
  • Testfallgeneratoren automatisieren die Generierung von Testdaten. Testfallgeneratoren verwenden entweder eine formale Spezifikation der Dateneingaben für Testziel oder die Designmodelle und den Quellcode, um Testdaten zu produzieren, die die nominalen Eingaben, Fehlereingaben sowie Begrenzungs- und Grenzklassen testen.
  • Vergleichstools vergleichen Testergebnisse mit Referenzergebnissen und zeigen Unterschiede auf. Vergleichstools unterscheiden sich in ihrer spezifischen Wirksamkeit für bestimmte Datenformate. Beispielsweise können Vergleichstools pixelbasiert sein und Bitmap-Grafiken vergleichen oder objektbasiert und Objekteigenschaften oder Daten vergleichen.
  • Datenextraktionstools liefern Eingaben für Testfälle aus vorhandenen Quellen, einschließlich Datenbanken, Datenströmen in einem DFV-System, Berichten, Designmodellen oder Quellcode.