Testfälle

Aus ExpeccoWiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

TestSuite-Management und Testautomation

Schritt 1: TestSuite in expecco erstellen

Die Testsuite wird üblicherweise in expecco erstellt. Beachten Sie, dass lediglich expecco pro die benötigte Schnittstelle anbietet! Diese wird benötigt um TestSuites, Fehlerberichte und Testergebnisse von expecco aus hoch- und herunterzuladen.

Um mit expeccoNET kommunizieren zu können, müssen Sie zuerst einige Daten ergänzen. Öffnen Sie hierzu die Einstellungen (Settings):

Einstellungen öffnen

und navigieren zu den expeccoNET Settings:

expeccoNET Einstellungen

Dort tragen Sie den Host-Namen ein, auf welchem expeccoNET installiert ist, sowie Ihre Benutzerdaten und das Passwort. Im Normalfall können Sie den Standard Port (80) benutzen, es sei denn, der expeccoNET Host hat nebenbei einen anderen Webserver (apache) auf diesem Port installiert. In diesem Fall verwenden Sie den Port 8080 oder fragen Ihren expeccoNET Administrator.

Um die Korrektheit der Daten und die Verbindung zu expeccoNET zu prüfen, klicken Sie auf "Check Reachability".

Sollten Sie verschiedene expeccoNET Server nutzen (zum Beispiel für verschiedene Abteilungen), ist es hilfreich die Konfigurationen unter dem entsprechenden Namen zu speichern. Dazu geben Sie einen repräsentativen Namen an und klicken auf "Remember Setup". Die gespeicherten Einstellungen finden Sie dann in der darüber liegenden Pull-Down-Liste, "Use Saved Setup".

Schritt 2: Hochladen einer TestSuite in expeccoNET

Im Hauptmenü sind nun unter "File" auch die Elemente "Upload to expeccoNET" und "Download from expeccoNET" verfügbar. Nach einem Klick öffnet sich ein neues Fenster. Wählen Sie das expeccoNET-Projekt, welches zu dieser Testsuite gehört (wählen Sie "Unspecified" oder "All", wenn eine TestSuite in mehreren Projekten benutzt wird, nicht definiert oder Ihnen nicht bekannt ist, welchem Projekt dieser zugeordnet wird). Diese Zuordnung kann später von der Weboberfläche aus noch jederzeit geändert werden:

Hochladen einer TestSuite in expeccoNET

Wenn die TestSuite die Implementierung einer Anforderungen validiert oder einen Fehler reproduziert, sollten Sie der TestSuite auch gleich der Anforderung oder dem Fehler zuordnen (oder Sie tun dies später, wie weiter unten gezeigt, in expeccoNET). Nach der Eingabe der optionalen, kurzen Beschreibung sorgt ein Klick auf "OK" für den Start des Upload:

Hochladen einer TestSuite in expeccoNET

Nach erfolgreichem Upload, wird Ihre TestSuite in expeccoNET unter "Testfälle" zu finden sein:

Hochgeladene TestSuites in expeccoNET

expeccoNET kann als zentrale Plattform für die Verwaltung von TestSuites und Testergebnissen dienen.

Schritt 3: Erstellen einer Test-Definition (= Parametrisierung)

expeccoNET unterscheidet zwischen einer Test-Suite und einer Test-Definition. Eine Test-Suite ist die reine Suite, wie sie von expecco hochgeladen wird. Es kommt natürlich vor, dass eine einzelne Suite mit unterschiedlichen Parametersätzen verwendet wird oder dass verschiedene Untermengen von Einzeltests aus einer Suite benötigt werden. Eine solche Kombination von TestSuite, Testplan-Auswahl und Parametersatz heißt Test-Definition und wird auf einer speziellen Seite in expeccoNET verwaltet. Eine TestSuite kann in mehreren Definitionen verwendet werden. Falls Ihre Suite nur aus einem einzigen Testplan besteht und keine parametrisierbaren Variablenwerte darin vorkommen, gilt natürlich eine 1:1-Zuordnung von TestSuite und Testdefinition.

Damit ein Parameter in expeccoNET sichtbar wird, muss er in der obersten Variablenumgebung der TestSuite als "Visible in ExpeccoNET" gekennzeichnet sein. Das bedeutet, dass der Test-Entwickler die Variable wie folgt in expecco markiert haben muss:

Parameter in expecco

Alle sichtbaren Variablen werden in expeccoNET in der Detailansicht angezeigt:

Sichtbare Parameter in expeccoNET

Schritt 4: Einen Testplan erstellen (= festlegen, wann ein Test ausgeführt werden soll)

Definition eines Zeitplans:

Es gibt verschiedene mögliche Auslöser für eine Testausführung:

  • periodisch
  • bei Empfangen eines Auslösers durch eine Email oder Datei
  • durch Änderungen in einem überwachten Quelltext-Repository
  • ferngesteuert (durch einen SOAP-Call)
  • manuell vom Browser aus


Im folgenden Beispiel wurde der Auslöser so definiert, dass er jede Nacht auf einem beliebigen (aber verfügbaren) Testhost ausgeführt wird:

Definition eines Test Zeitplans

expeccoNET muss wissen, welche Hosts für eine Testausführung genutzt werden sollen. Deshalb müssen diese in der TestHost-Seite definiert werden:

Definition eines Test-Host

Auf den Testhosts muss ein expecco (nicht expeccoNET) zur Testausführung installiert sein; dies kann entweder eine expecco-runtime-Version (ohne Editiermöglichkeit) oder aber auch eine expecco-pro Installation sein. Letztere könnte tagsüber auch zur Entwicklung und manuellen Ausführung von Tests genutzt werden.

Wenn Sie alles richtig konfiguriert haben, und einer der definierten Testhosts eingeschaltet blieb, steht Ihnen am nächsten Morgen das Ergebnis zur Verfügung.

Natürlich haben Sie auch die Möglichkeit einen Test sofort durchzuführen. Gehen Sie zurück zur Testdefinitionsliste, suchen Sie die Definition in der Liste (beachten Sie, dass das Ausführensymbol nur aktiviert ist, wenn ein Host mit passender CPU/OS Konfiguration verfügbar ist) und klicken Sie auf : "Execute":

Manuelle Ausführung

Schritt 5: Testergebnisse betrachten

Während der Testausführung erscheint ein gelbes Icon in der Liste hinter dem Test:

Die Ausführung überwachen


Nach Beenden repräsentieren die unterschiedlichen Farben das Ergebnis:

  • Grün - bestanden
  • Rot, - fehlgeschlagen
  • Dunkelrot - Test fehlerhaft
  • Grau - nicht entscheidbar


Durch einen Klick auf einen Eintrag erhalten Sie eine Übersicht des Ergebnisses:

Zusammenfassung der Testergebnisse

Sie erhalten zwei Anhänge: eine Zusammenfassung als PDF sowie den Zugriff auf die komplette Log-Datei:

Test Ergebniss Zusammenfassung

Die Log-Datei (.elf-Datei) kann in expecco heruntergeladen und für Analysen genutzt werden. Sie enthält den Ablauf und die komplette Log-Information.

Regression-Tests

Schritt 1: Automatische Ausführung bei Quelltextänderung

Es besteht die Möglichkeit den Quelltext überwachen zu lassen und bei Änderungen einen Test zu initiieren.
Erstellen Sie hierzu erneut einen Testablaufplan und wählen wie hier im Bild 'RepositoryChangeTrigger' aus.

Regressionstest

Der Test wird ausgeführt sobald sich etwas im Quellcoderepository ändert.

Schritt 2: Periodische oder einmalige Ausführung

Um Ihre Tests regelmäßig ablaufen zu lassen, wählen Sie bitte das entsprechende Zeitintervall und einen Triggerzeitpunkt innerhalb dieses Intervalls. Zum Beispiel "jeden Montag um 2:30" oder "jeden 1. des Monats um 4:00" oder "regelmäßig, alle 30 Minuten".

Sie können auch angeben, dass Ihr Test einmalig, zu einem vorgegebenen Zeitpunkt in der Zukunft ausgeführt werden soll. Dazu geben Sie bitte im Kalender den Startzeitpunkt an.

Schritt 3: Benachrichtigungen bei Erfolg oder Misserfolg

Sie haben die Möglickeit, sich per Email benachrichtigen zu lassen wenn ein Test fehlschlägt, wenn er erfolgreich ist, oder unabhängig von dessen Ausgang:

Die Email wird an die im Account hinterlegte Adresse versandt.

Unabhängig von diesen Benachrichtigungen werden die Testresultate als Log und PDF-Summary archiviert und können in der Ausführungsliste jederzeit später wieder betrachtet werden. Es ist aber auch möglich, jeden einzelnen Testlauf mit einem individuellen Verfallsdatum zu versehen, so dass dessen Resultat nach einer bestimmten Zeit automatisch aus dem System gelöscht wird.

Meine Werkzeuge