Kapitel 2. Einführung

Inhaltsverzeichnis

2.1. Aufbau und Objekte
2.2. Projekt - Ein Testvorhaben verwalten
2.3. Testfall - Einen Test definieren
2.4. Testschritt - Den Ablauf der Testaktivität festlegen
2.4.1. Testschrittergebnis
2.4.2. Automatisierte Testfälle
2.5. Testsegment - Testschritte wiederverwenden
2.6. Testsuite - Gruppieren von Testfällen
2.7. Testsystem - Das zu testende Objekt
2.8. Testumgebung - Der äußere Einfluss auf das Testergebnis
2.9. Testlauf - Die Ergebnisse der ausgeführten Testfälle
2.10. Anforderung - Eigenschaften des Testsystems
2.11. Iteration - Das Projekt in Phasen unterteilen
2.12. Aufgabe - Planen der Testaktivität
2.13. Benutzer - Benutzer und ihre Rollen
2.14. Übersicht über die Objekte
2.15. Issue - Anlegen und Beheben von Fehlern

2.1. Aufbau und Objekte

Klaros-Test­management ist eine webbasierte Testmanagementsoftware zum Organisieren, Ausführen und Auswerten aller Testaktivitäten. Der Funktionsumfang deckt alle Bereiche des Testprozesses ab: Testplanung, Testerstellung, Testdurchführung, Zuordnen und Auswerten von Testaufgaben sowie Testauswertung und Berichtserstellung.

In dieser Einführung werden der innere Aufbau und die Funktion der einzelnen Bestandteile, der Objekte, beschrieben. Als Objekte werden in Klaros-Test­management die folgenden Elemente bezeichnet: Projekt, Testfall, Testschritt, Testsegment, Testschrittergebnis, Testfallergebnis, Testsuite, Testsuiteergebnis, Testumgebung, Testsystem, Testlauf, Anforderung, Iteration und Aufgabe.

2.2. Projekt - Ein Testvorhaben verwalten

Das Objekt auf oberster Ebene ist das Projekt. Es enthält alle anderen Objekte die zum Definieren, Planen, Ausführen und Auswerten eines bestimmten Testvorhabens erforderlich sind.

Projekte sind in der Regel in sich abgeschlossene Einheiten, es gibt jedoch auch Möglichkeiten, auf Objekte in anderen Projekten zu verweisen. Weitergehende Informationen zu Projekten finden Sie unter Section 6.1.

2.3. Testfall - Einen Test definieren

Testfälle sind die zentralen Objekte eines Projektes und können eine beliebige Anzahl an Testschritten enthalten. Sie können manuell oder automatisiert ausgeführt werden.

Testfallstruktur

Abbildung 2.1. Testfallstruktur


Testfälle können mit Attributen versehen werden und detailliertere Informationen erhalten:

2.3.1. Beschreibende Attribute

  • Beschreibung
  • Vorbedingung
  • Nachbedingung
  • Erwartetes Ergebnis
  • Testschritte

2.3.2. Klassifizierende Attribute

  • Ausführungsart (Manuell/Automatisiert)
  • Priorität (Hoch/Mittel/Niedrig)
  • Status (Entwurf/Gesperrt/Genehmigt/Auslassen)
  • Testart (Funktional, Nicht-Functional, Strukturtest, Regressionstest, Fehlernachtest)
  • Entwurfsverfahren (Black-Box, White-Box)
  • Teststufe (Komponententest, Integrationstest, Systemtest, Abnahmetest)
  • Ergebnisart (Positiv, Negativ)
  • Anforderungsbezug (Dokument/Verfolgbarkeit)

Für spezielle Anforderungen können in der Enterprise Edition zusätzlich eigene Felder definiert werden.

Die Testfälle bestehen aus einzelnen Testschritten und Testsegmenten, in denen die Testaktivitäten definiert und beschrieben werden.

2.4. Testschritt - Den Ablauf der Testaktivität festlegen

In Testschritten wird der Ablauf der Testausführung beschrieben. Jeder Testschritt enthält eine Anweisung an den Tester, welche Aktion er durchzuführen hat. Falls nötig, können Bilder und Dokumente zu jedem Testschritt hinzugefügt werden.

Testschritt

Abbildung 2.2. Testschritt


Die Beschreibung des Testschrittes umfasst folgende Bestandteile:

Aktion

Die textuelle Beschreibung der Aktion, die der Tester auszuführen hat.

Vorbedingung

Der Zustand, in dem sich das Testsystem befinden soll, bevor die Aktion beginnt.

Erwartetes Ergebnis

Das vorausgesagte Verhalten des Testsystems oder der Komponente, basierend auf der Spezifikation.

Nachbedingung

Der erwartete Zustand des Testsystems, nachdem die Aktion durchgeführt wurde.

2.4.1. Testschrittergebnis

Klaros-Test­management führt den Tester schrittweise durch die Testausführung. Jeder Schritt wird automatisch mitprotokolliert und durch den Tester mit einem Testschrittergebnis versehen.

Das Testschrittergebnis enthält die folgenden Informationen:

Ergebnis

  • Bestanden: Der Test konnte wie vorgesehen beendet werden.
  • Fehlschlag: Die Überprüfung liefert nicht das erwartete Ergebnis.
  • Fehler: Die Überprüfung konnte nicht durchgeführt werden.
  • Unklar: Die Überprüfung liefert kein eindeutiges Ergebnis
  • Übersprungen: Der Testschritt wurde ausgelassen.

Zusammenfassung (optional)

Eine kurze Zusammenfassung des Testschrittergebnisses.

Beschreibung (optional)

Eine Beschreibung des Testschrittergebnisses.

Dauer

Die automatisch mitprotokollierte Ausführungsdauer des einzelnen Testschrittes.

2.4.2. Automatisierte Testfälle

Automatisierte Testfälle haben in der Regel keine Testschritte, da sie von einem automatisierten Testwerkzeug (z.B. JUnit) ausgeführt werden. Die Testergebnisse werden in Form einer Ergebnisdatei zur Verfügung gestellt, die in das System importiert wird. Liegen sowohl manuelle als auch automatisierte Testergebnisse vor, können sie gemeinsam ausgewertet werden.

2.5. Testsegment - Testschritte wiederverwenden

Ein Testsegment ist eine vordefinierte Abfolge von Testschritten. Es wird als eigenes Objekt erstellt und in Testfälle eingefügt.

Testsegment

Abbildung 2.3. Testsegment


Häufig kommen bestimmte Testschritte oder auch Abfolgen von Testschritten in mehreren Testfällen exakt gleich vor. Um sicherzustellen, dass diese auch identisch sind, können die Schritte in Testsegmente gekapselt und zentral verwaltet, bearbeitet und gespeichert werden.

Die Testschritte eines Testsegments haben die gleichen Attribute wie die Testschritte eines Testfalls.

2.6. Testsuite - Gruppieren von Testfällen

Testfälle können zu Testsuiten gruppiert werden, um gemeinsam in einem Testlauf nacheinander ausgeführt zu werden.

Testsuite

Abbildung 2.4. Testsuite


Ein Testfall kann in mehreren Testsuiten vorkommen. Er wird lediglich referenziert, sodass sich Änderungen am Testfall automatisch auf alle Testsuiten auswirken, die diesen Testfall enthalten.

2.7. Testsystem - Das zu testende Objekt

Das Testsystem ist die Komponente oder das System, welches getestet wird. Meist ist dies eine Softwareversion, kann aber auch ein bestimmtes Gerät oder andere Hardware sein. Ein Testfall kann erst ausgeführt werden, wenn ein Testsystem definiert ist.

2.8. Testumgebung - Der äußere Einfluss auf das Testergebnis

Die Testumgebung stellt die äußeren Bedingungen dar, die auf das Testsystem einwirken. Diese kann aus Hardware oder Software bestehen, wie z.B. eine verwendete Browserversion oder das Betriebssystem, in dem die Software des Testsystems installiert wurde. Ein Testfall kann erst ausgeführt werden, wenn eine Testumgebung definiert ist.

2.9. Testlauf - Die Ergebnisse der ausgeführten Testfälle

Ein Testlauf wird automatisch erstellt, sobald damit begonnen wird einen Testfall oder eine Testsuite auszuführen. Er ist der verwendeten Testumgebung und dem verwendeten Testsystem zugeordnet und sammelt alle Ergebnisse, die während der Ausführung des Testfalls oder der Testsuite anfallen. Die Testläufe dokumentieren somit die gesamten Testaktivitäten.

Testlauf mit Testergebnissen

Abbildung 2.5. Testlauf mit Testergebnissen


Testläufe können pausiert und später fortgesetzt werden. Das Ergebnis (Bestanden, Fehlschlag, Fehler, Unklar, Übersprungen) erscheint erst nach vollständiger Ausführung aller Testfälle des Testlaufs in der Auswertung. Bis dahin wird der Testlauf mit seinen gesammelten Ergebnissen nicht angezeigt.

2.9.1. Protokollierte Parameter eines Testlaufs

Während eines Testlaufs werden die folgenden Parameter automatisch mitprotokolliert und können zur Auswertung herangezogen werden:

  • Das verwendete Testsystem
  • Die verwendete Testumgebung
  • Der ausgeführte Testfall/Testsuite
  • Das Ausführungsdatum
  • Der ausführende Benutzer

2.10. Anforderung - Eigenschaften des Testsystems

Eine Anforderung ist eine vorgegebene, zu erfüllende Bedingung, die die gewünschten Eigenschaften des Testsystems beschreibt. Um sicherzustellen, dass das Testsystem diese Eigenschaften erfüllt, werden Testfälle definiert und diese den Anforderungen zugeordnet, die die Testfälle überprüfen. So kann nachvollzogen werden, welche Anforderungen durch Tests abgedeckt sind ( Abdeckung) und welche davon mit dem Ergebnis Bestanden ausgeführt wurden ( Konformität).

Aus diesen Informationen wird automatisch der Stand der Abdeckung und Konformität für das gesamte Projekt oder ausgewählte Objekte ermittelt, sobald die ersten Testergebnisse vorliegen.

2.10.1. Attribute für Anforderungen

  • Name
  • Priorität (Hoch/Mittel/Niedrig)
  • Kurzbeschreibung
  • Ausführliche Beschreibung

2.11. Iteration - Das Projekt in Phasen unterteilen

Eine Iteration repräsentiert eine ausgewählte Phase eines Projekts. Sie kapselt eine Untermenge von Objekten, einschließlich aller während dieser Phase ausgeführten Aufgaben und Testergebnisse. Eine solche Gruppierung der Objekte erleichtert es, verschiedene Testzyklen in einem Projekt zu identifizieren und ermöglicht eine bessere Integration des Testprozesses, speziell mit agilen Softwareentwicklungspraktiken.

In einer Iteration werden die betrachteten Testsysteme, Testumgebungen und Anforderungen innerhalb eines Projekts für einen bestimmten Zeitraum festgelegt.

2.12. Aufgabe - Planen der Testaktivität

Mittels einer Aufgabe werden Testaktivitäten geplant und koordiniert. Dazu wird die Ausführung eines Testfalls oder einer Testsuite in der Aufgabe festgelegt.

Nachdem eine Aufgabe erstellt wurde, kann sie einem Benutzer zugeordnet und von ihm ausgeführt und bewertet werden. Aufgaben können mehrfach wiederholt und ausgeführt werden, sodass ihnen mehrere Testläufe zugeordnet sein können. Aufgaben lassen sich hierarchisch anordnen und Abhängigkeiten von Aufgaben untereinander können spezifiziert werden.

Aufgabe

Abbildung 2.6. Aufgabe


Zusätzlich zur Testausführung sind weitere Aufgabentypen vorgesehen. Diese dienen zum Überprüfen von Testfällen, Planen von Anforderungen sowie zur Formulierung von beliebigen anderen Aufgaben in Textform.

Die Aufgaben können verschachtelt und den Benutzern individuell zugeordnet werden. Dadurch kann der Fortschritt von größeren, verteilten Testaktivitäten einfach verfolgt werden.

2.13. Benutzer - Benutzer und ihre Rollen

Klaros-Test­management bietet vier verschiedene Benutzerrollen, die beim Anlegen des Benutzers vergeben werden und bei Bedarf später geändert werden können: Administrator, Manager, Tester und Gast.

Administrator

Ein Administrator hat stets Zugriff auf alle Funktionen in Klaros-Test­management. Dazu gehören neben den testbezogenen Aktivitäten auch die Benutzerverwaltung, Backups und Wiederherstellung sowie systemweite Einstellungen.

Testmanager

Testmanager haben vollständigen Lese- und Schreibzugriff auf alle Daten eines Projekts. Sie können Objekte anlegen und löschen sowie Projekteinstellungen verwalten. Dazu gehört auch das Anlegen, Bearbeiten und Löschen von Benutzern mit der Rolle Tester oder Gast.

Tester

Tester können Tests ausführen und Testergebnisse und Issues bearbeiten und Berichte anzeigen. Darüber hinaus haben sie nur Leserechte.

Gast

Die Rolle Gast ist z.B. für Projektmanager, Kunden oder Reviewer gedacht. Der Gast hat vollständigen, aber nur lesenden Zugriff auf alle Daten und kann Berichte anzeigen, abspeichern und in andere Formate exportieren.

Die globalen Benutzerrollen gelten für alle vorhandenen Projekte. Bei Bedarf kann jedoch die Rolle eines Benutzers in jedem Projekt individuell vergeben werden.

2.13.1. Projektspezifische Benutzerrollen

Zusätzlich zur globalen Zuordnung können die Benutzerrollen pro Projekt neu vergeben oder Benutzer von einzelnen Projekten ausgeschlossen werden. Der Benutzer behält dabei seine globale Rolle, erhält aber im ausgewählten Projekt erweiterte oder eingeschränkte Rechte oder auch keinen Zugriff.

Dies ist z.B. sinnvoll beim Einbinden von externen Mitarbeitern, die nur in einem bestimmten Projekt aktiv sind. Andererseits kann ein Tester in bestimmten Projekten Testmanager-Rechte benötigen und die entsprechende Zuordnung erhalten.

Detaillierte Informationen über das Rechte- und Rollensystem finden sich in Appendix A.

2.14. Übersicht über die Objekte

Übersicht über die Objekte

Abbildung 2.7. Übersicht über die Objekte


2.15. Issue - Anlegen und Beheben von Fehlern

Klaros-Test­management lässt sich mit Issue-Tracking-Systemen wie Jira, Redmine, GitLab und vielen anderen integrieren (siehe Section 12.5). Wird in einem Testschritt ein Fehler gefunden, kann er direkt aus Klaros-Test­management heraus an das angebundene Issue-Management-System übergeben werden, ohne die Anwendung verlassen zu müssen.

Der Eintrag wird automatisch in beiden Systemen verknüpft. Änderungen im Issue-Tracker werden im Hintergrund regelmäßig mit Klaros-Test­management synchronisiert. Ein automatisch erzeugter Rückverweis (Backlink) im Issue-Management-System führt mit einem Klick wieder zum Testfall in Klaros-Test­management zurück.