6. Testwerkzeuge Flashcards

1
Q

Testwerkzeuge

Unterstützte Aktivitäten

A
  1. Werkzeuge, die direkt beim Testen eingesetzt werden, wie Testdurchführungswerkzeuge, Testdatengeneratoren und Ergebniskomparatoren
  2. 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
  3. Werkzeuge, die zu Untersuchungszwecken eingesetzt werden (z.B. Werkzeuge, die Dateiaktivitäten einer Anwendung überwachen).
  4. alle Werkzeuge, die das Testen unterstützen (auch ein Tabellenkalkulationsprogramm gilt in dieser Hinsicht als Testwerkzeug)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Testwerkzeuge

Zwecke

A
  • 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)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

“Testframework”

Bedeutungen

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Testwerkzeuge

Untersuchungseffekt

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Werkzeugunterstützung

für das

Management des Testens

A
  1. Testmanagementwerkzeuge
  2. Anforderungsmanagementwerkzeuge
  3. Fehler- Abweichungsmanagementwerkzeuge
  4. Konfigurationsmanagementwerkzeuge
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Testmanagementwerkzeuge

A

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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Anforderungsmanagementwerkzeuge

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Fehler- und Abweichungsmanagementwerkzeuge

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Konfigurationsmanagementwerkzeuge

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Werkzeugunterstützung

für den

statischen Test

A

Werkzeuge für statische Tests liefern einen kostengünstigen Weg, um mehr Fehlerzustände in früheren Phasen des Entwicklungsprozesses zu finden.

  1. Reviewwerkzeuge
  2. Statische Analysewerkzeuge (E)
  3. Modellierungswerkzeuge (E)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Reviewwerkzeuge

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Statische Analysewerkzeuge

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Modellierungswerkzeuge

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Werkzeugunterstützung

für die

Testspezifikation

A
  1. Testentwurfswerkzeuge
  2. Testdatengenerator und -editor
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Testentwurfswerkzeuge

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Testdatengeneratoren und -editoren

A

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.

17
Q

Werkzeugunterstützung

für die

Testdurchführung und die Protokollierung

A
  1. Testausführungswerkzeuge
  2. Testrahmen/Unittest-Framework(E)
  3. Vergleichswerkzeuge/Komparatoren
  4. Vergleichswerkzeuge/Komparatoren
  5. Werkzeuge zur Überdeckungsmessung (E)
  6. Sicherheitsprüfwerkzeuge
18
Q

Testausführungswerkzeuge

A

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.

19
Q

Testrahmen/Unittest-Framework(E)

A

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.
20
Q

Vergleichswerkzeuge/Komparatoren

A

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.

21
Q

Werkzeuge zur Überdeckungsmessung(E)

A

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.

22
Q

Sicherheitsprüfwerkzeuge

A

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.

23
Q

Werkzeugunterstützung

für

Performanzmessungen und Testmonitore

A
  1. Dynamische Analysewerkzeuge (E)
  2. Performanztest-/Lasttest-/Stresstestwerkzeuge
  3. Testmonitore
24
Q

Dynamsiche Analysewerkzeuge (E)

A

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.

25
Q

Performanztest-/Lasttest-/Stresstestwerkzeuge

A

Performanztestwerkzeuge überwachen und protokollieren, wie sich ein System unter verschiedenen simulierten Benutzungsbedingungen verhält, hinsichtlich

  • Anzahl konkurrierender Nutzer,
  • Hochlauf- /Anlaufverhalten (ramp-up pattern)
  • sowie Häufigkeit und relativem Anteil von Transaktionen.

Die Last wird durch Erzeugen virtueller Nutzer simuliert, die einen ausgewählten Satz an Transaktionen durchführen, verteilt auf verschiedene Testmaschinen, allgemein bekannt als Lastgeneratoren.

26
Q

Testmonitore

A

Testmonitore analysieren, verifizieren und zeichnen kontinuierlich die Verwendung von spezifischen Systemressourcen auf und geben Warnungen zu möglichen Problemen bei der Erbringung von Diensten aus.

27
Q

Bewertung der Datenqualität

A

Bei manchen Projekten stehen die Daten im Mittelpunkt, beispielsweise bei Datenkonvertierungs- bzw. Datenmigrationsprojekten und bei Anwendungen wie Data Warehouses.

Die Attribute der Daten können sowohl hinsichtlich ihrer Kritikalität und ihres Volumens variieren.

In einem solchen Kontext sind Werkzeuge für die Bewertung der Datenqualität erforderlich, um die Datenkonvertierungs- und
die Migrationsvorschriften zu prüfen und zu verifizieren.

Damit soll sichergestellt werden, dass die verarbeiteten Daten korrekt und vollständig sind, und dass sie einem vorab definierten kontextspezifischen
Standard entsprechen.

28
Q

Potenzieller Nutzen

von

Testwerkzeugen

A
  • weniger sich wiederholende Tätigkeiten (z.B. für Regressionstestläufe, wiederholte Eingaben der gleichen Testdaten und Prüfungen gegen Programmierkonventionen)
  • bessere Konsistenz und Wiederholbarkeit (die gleichen Tests werden beispielsweise in der gleichen Reihenfolge mit der gleichen Häufigkeit durch ein Werkzeug ausgeführt und aus Anforderungen
    hergeleitet)
  • objektive Bewertung durch eine Werkzeugunterstützung (z.B. statische Messungen, Überdeckungsmessungen)
  • vereinfachter Zugriff auf Informationen über durchgeführte Tests (z.B. Statistiken und graphische Darstellungen über den Testfortschritt, die Fehlerrate und die Performanz)
29
Q

Risiken

von

Testwerkzeugen

A
  • unrealistische Erwartungen an das Werkzeug (einschließlich Funktionalität und Benutzungsfreundlichkeit)
  • unterschätzen der Zeit, der Kosten und des Aufwands für die erstmalige Einführung eines Werkzeugs (einschließlich Training und externe Beratung)
  • unterschätzen der Zeit und des Aufwands, um einen signifikanten und anhaltenden Nutzen aus der Anwendung eines Werkzeugs ziehen zu können
  • unterschätzen des erforderlichen Aufwands für die Wartung der durch das Werkzeug erzeugten Ergebnisse
  • blindes Vertrauen in das Werkzeug (Ersatz für einen Testentwurf oder Verwenden automatisierter Tests, wo manuelles Testen geeigneter wäre)
  • vernachlässigen der Versionskontrolle von Testgegenständen im Testwerkzeug
  • vernachlässigen der Beziehungen und der Interoperabilitätsproblematik zwischen kritischen Werkzeugen
  • Risiko, dass der Werkzeughersteller den Betrieb einstellt, das Werkzeug vom Markt nimmt, oder das Werkzeug an einen anderen Hersteller verkauft
  • mangelhafte Leistungen des Herstellers hinsichtlich Kundenunterstützung, Upgrades und Fehlerbehebungen
  • Risiko, dass das Projekt zum Erstellen des kostenfreien bzw. Open-Source-Werkzeugs eingestellt wird
  • unvorhergesehene Probleme, z.B. dass eine neue Plattform nicht unterstützt werden kann
30
Q

Testausführungswerkzeuge

data-driven approach

A

Eine datengetriebene Testvorgehensweise (data-driven approach) trennt die Eingaben (die Testdaten) vom Testfall und legt sie in einem Tabellenblatt ab.

Ein generisches Testskript liest die Eingabewerte bei Testausführung aus dem Tabellenblatt. Damit kann das gleiche Testskript mit unterschiedlichen
Daten durchgeführt werden.

Tester, die sich nicht mit der Skriptsprache auskennen, können dennoch
Testdaten für die vordefinierten Testskripte erstellen.

31
Q

Testausführungswerkzeuge

data-driven approach

(random)

A

Bei diesen Verfahren werden, anstatt Datenkombinationen hart codiert in einem Tabellenblatt einzugeben, Daten in Echtzeit generiert und der Applikation zur Verfügung gestellt.

Das geschieht mit Hilfe von Algorithmen, die auf konfigurierbaren Parametern basieren.

Beispielsweise kann ein Werkzeug einen Algorithmus verwenden, der eine zufällige Benutzer-ID erstellt, und damit das Muster wiederholbar wird,
ein sogenanntes „Seed“ einsetzt, das die Zufälligkeit steuert.

32
Q

Statische Analysewerkzeuge

Anmerkungen

A

Statische Analysewerkzeuge dienen der Analyse des Quellcodes und können die Einhaltung von Programmierkonventionen erzwingen.

Jedoch ist zu berücksichtigen, dass bei Anwendung eines statischen
Analysators für existierenden Quellcode eine riesige Menge Meldungen erzeugt werden können.

Wird ein Compiler mit integriertem statischen Analysator oder mit entsprechenden Compiler-Optionen verwendet, so wird die Übersetzung in Objektcode durch die erzeugten Warnmeldungen nicht unterbrochen, jedoch sollten diese Warnmeldungen analysiert werden, um die Wartbarkeit des Quellcodes zu verbessern.

Eine Basisimplementierung eines statischen Analysators sollte deshalb die
Möglichkeit enthalten, einige dieser Analysen bzw. die entsprechenden Regeln zu deaktivieren.

33
Q

Testmanagementwerkzeuge

Anmerkungen

A

Testmanagementwerkzeuge sollten Schnittstellen zu anderen Werkzeugen oder zu einem Standardtabellenkalkulationsprogramm (z.B. Excel) enthalten, um nützliche Informationen nach den Bedürfnissen der Organisation aufzubereiten.

34
Q

Faktoren

für die

Auswahl

eines

Testwerkzeuges

A
  • Bewerten der Reife einer Organisation, Analyse der Stärken und Schwächen, Identifikation von Möglichkeiten für die Verbesserung des Testprozesses, unterstützt durch Testwerkzeuge
  • Evaluation gegen klar spezifizierte Anforderungen und objektive Kriterien (für Nutzen und Anwendung)
  • Eignungsnachweis (proof-of-concept) durch Nutzen des Werkzeugs während der Evaluierungsphase, um zu verifizieren, ob es mit der zu testenden Software und in der aktuellen Infrastruktur effektiv funktioniert, bzw. um nötige Anpassungen der Infrastruktur zu identifizieren damit eine effektive Nutzung des Werkzeugs möglich ist
  • Evaluation der Anbieter (einschließlich Trainingsunterstützung, Support und kommerzielle bzw. vertragliche Aspekte) oder des Dienstleistungsanbieters bei nicht kommerziellen Werkzeugen
  • Identifikation der internen Anforderungen für Coaching und Anleitung bei der Anwendung des Werkzeugs
  • Evaluation des Schulungsbedarfs, die die Testautomatisierungskenntnisse des aktuellen Testteams
    berücksichtigt
  • Schätzen des Kosten/Nutzen-Verhältnisses, basierend auf einem konkreten Business Case
35
Q

Pilotprojekt

für die

Einführung eines Testwerkzeugs

Ziele

A
  • Detailliertes Kennenlernen des Werkzeugs
  • Bewertung, wie das Werkzeug mit den existierenden Werkzeugen und Prozessen zusammenpasst,festlegen, was ggf. angepasst werden muss
  • Entscheidung über die Standardisierung des Werkzeugeinsatzes hinsichtlich Nutzung, Verwaltung, Speicherung und Wartung des Werkzeugs und der vom Werkzeug erzeugten/ verwendeten Ergebnisse (z.B. Namenskonventionen für Dateien und Tests, Neuanlage von Bibliotheken und die Festlegung von modularen Testsuiten)
  • Bewerten, ob der Nutzen mit vertretbaren Kosten erreicht werden kann
36
Q

Testwerkzeuge

Erfolgsfaktoren der Inbetriebnahme

A
  • Das Werkzeug wird schrittweise in der ganzen Organisation in Betrieb genommen.
  • Adaptierung und Prozessverbesserung harmonieren mit dem Werkzeug.
  • Für neue Anwender werden Trainingsmaßnahmen und Coaching bereitgestellt.
  • Es sind Richtlinien für die Werkzeugbenutzung definiert.
  • Es gibt Verfahren, um Nutzungsdaten über den derzeitigen Gebrauch zu sammeln.
  • Werkzeugverwendung und tatsächlicher Nutzen werden beobachtet.
  • Das Testteam erhält Unterstützung für das Werkzeug.
  • Es wird ein Erfahrungskatalog erstellt, basierend auf den Erfahrungen aller Teams.