Logo QF-Test

Tutorial zur praktischen Einführung
in QF-Test

 

Gratis Testen  Download  Kaufen

Yann Spöri, QF-Test Entwicklung & Support

Die Beispiele, Demos und praktischen Übungen zu QF-Test verhelfen zu einem schnellen Start.

Yann Spöri,
Software Engineer, QFS

Uwe Klüh, Senior Sales Manager, QFS

Durchsuchen Sie die gesamte Dokumentation (Handbuch, Tutorial, Mailingliste, Standardbibliothek), indem Sie die Suchfunktion der Homepage nutzen.

Uwe Klüh, Sr. Sales Manager, QFS

Tutorial

10
Bearbeiten einer Beispiel Testsuite [30-45 Min]
10.1
Starten von QF-Test und Laden einer Testsuite

Nach dem Starten von QF-Test laden Sie bitte unser erstes Beispiel. Dazu öffnen Sie den Dateiauswahl-Dialog über das Menü »Datei«-»Öffnen...« und wechseln nach qftest-4.1.6/doc/tutorial/web, welches sich unterhalb Ihrer QF-Test Installation befindet. Dort wählen Sie bitte die Datei webdemo.qft aus und öffnen diese. QF-Test präsentiert Ihnen die Testsuite wie im folgenden Bild dargestellt:

Abbildung 10.1:  Das Fenster der Testsuite webdemo.qft.

Der linke Bereich des Hauptfensters enthält eine Baumstruktur, welche die Testsuite repräsentiert. Rechts befindet sich die Detailansicht des Knotens, der im Baum gerade markiert ist. (Falls die Detailansicht bei Ihnen nicht zu sehen sein sollte, aktivieren Sie diese bitte über das Menü »Ansicht«-»Details anzeigen«.) Im unteren Fensterbereich befindet sich das Terminal, welches die Standardausgaben des zu testenden Clients protokolliert. Die Anzeige des Terminals kann mittels »Ansicht«-»Terminal«-»Anzeigen« kontrolliert werden. Mit Hilfe des Baumes können Sie durch die Testsuite navigieren und einzelne Knoten auswählen, für die dann jeweils die Details im rechten Fensterbereich eingeblendet werden.

Die oberste Ebene des Baumes besteht in diesem Fall aus folgenden Knotentypen:

  • "Testsuite" - Dies ist der Wurzelknoten einer jeden Testsuite. Alle weiteren Knoten sind ihm untergeordnet.
  • "Testfallsatz" - Dieser Knotentyp dient zur Zusammenfassung und Strukturierung von Testfällen.
  • "Prozeduren" - Unterhalb dieses Knotens können Prozeduren abgelegt werden.
  • "Extrasequenzen" - Dieser Knoten dient als Spielwiese zum Ausprobieren und Zusammenstellen von Tests. Hier können beliebige Knoten abgelegt werden, unabhängig von den normalen Einschränkungen. Beim Ausführen einer Testsuite als ganzes wird dieser Knoten nicht mitausgeführt.
  • "Fenster und Komponenten" - An dieser Stelle legt QF-Test die Informationen zu den Elementen und der Struktur der zu testenden Webseite ab. Diese werden automatisch während der Aufnahme des Tests gesammelt und sind notwendig für das Auffinden der Komponenten bei der Wiedergabe des Tests.

Klicken Sie bitte doppelt auf den Knoten "Testfallsatz: Web demo", um ihn zu expandieren. Unser Testfallsatz enthält primär drei Testfälle: "Clickstream", "Text check" und "Selected test". Umgeben werden die Testfälle von einem "Vorbereitung"/"Aufräumen" Paar, welches ein sauberes System als Ausgangsbasis für die Testfälle garantiert.

Abbildung 10.2:  Der Inhalt des Knotens "Testfallsatz: Web demo".

In den folgenden Abschnitten werden wir Funktion und Zweck der einzelnen Knoten erklären.

10.2
Starten des Browsers

Zuerst wollen wir den Vorbereitungsknoten genauer unter die Lupe nehmen. Expandieren Sie ihn dazu bitte, wie im folgenden Bild gezeigt.

Abbildung 10.3:  Der Knoten "Vorbereitung: Start browser".

Es werden vier Hauptsequenzen sichtbar:

  1. "Set global variables" - definiert Werte für Client-Namen, den Browser-Typ und ein optionales Browser-Verzeichnis.
  2. "Start browser without window" - ist ein vorbereitendes Starten des Browser-Prozesses zur Konfiguration.
  3. "Perform browser settings" - setzt die notwendigen Browser-Einstellungen.
  4. "Open browser window with URL" - öffnet das Browser-Fenster und wartet auf das Laden der URL.

Auf den ersten Blick mag dies ein wenig umständlich erscheinen, hat seine Begründung aber in einer einfachen Anpassbarkeit für später mögliche spezielle Anforderungen.

Wir wollen nun die Anwendung wirklich starten. Markieren Sie dazu bitte den Knoten "Vorbereitung", doch belassen Sie ihn aufgeklappt. Dann klicken Sie den Knopf "Wiedergabe" Play. Anschließend lässt sich der Ablauf in der Baumansicht verfolgen. Der gerade aktive Knoten wird während der Wiedergabe durch "->" markiert. Auch sehen Sie die Ausgaben des SUT Clients im Terminal.

Nach Abschluss der Startsequenz erscheint das Browser-Fenster mit der Demoseite am Bildschirm. Es ist vollständig unter Kontrolle und den wachsamen Augen von QF-Test.

Hinweis Wenn das Browser-Fenster auf Ihrem Bildschirm nicht zu sehen ist, oder nur kurzzeitig erscheint, dann befindet es sich vermutlich hinter dem Hauptfenster von QF-Test. Am besten positionieren Sie beide Fenster nebeneinander, so dass Sie beide zur gleichen Zeit sehen können.

Abbildung 10.4:  Die WebDemo Seite.
10.3
Ein erster Testfall - Mausklick Sequenz

Als Nächstes wollen wir einen Blick auf einen ersten Testfall werfen. Der Testfallknoten "Clickstream" beinhaltet eine Sequenz von Mausklicks auf alle Einträge im Menü der Webseite.

Wenn Sie den Testfallknoten "Clickstream" öffnen, sehen Sie darin enthalten eine Sequenz:

Abbildung 10.5:  Der Testfallknoten "Clickstream" besteht aus einer Sequenz.

Bevor Sie den Test ausführen, stellen Sie bitte sicher, dass die "Willkommen" Seite im Webdemo ausgewählt ist. Dann markieren Sie den "Clickstream" Testfallknoten und drücken den "Wiedergabe" Knopf Play. Die Testsequenz sollte ohne Probleme durchlaufen.

Das Testergebnis wird während und nach dem Testlauf in der Statuszeile am unteren Rand des QF-Test Hauptfensters angezeigt und lautet "Keine Fehler". Daneben gibt es auch noch Zähler für Anzahl und Ergebnis der wiedergegebenen Testfälle. In unserem Fall war das nur einer, der fehlerfrei lief, was einer Erfolgsquote von 100% entspricht.

Hinweis Wenn Sie den Mauszeiger auf dem Symbol eines Testfallzählers ruhen lassen, wird Ihnen eine entsprechende Beschreibung angezeigt. Eine Auflistung aller Testfallzähler finden Sie im Kapitel Aufnahme und Wiedergabe des Handbuchs.

Um anschließend nachzuvollziehen, was wir während der Wiedergabe gesehen haben, werfen wir einen Blick in die Sequenz "Menu items" innerhalb des "Clickstream" Testfalls:

Abbildung 10.6:  Die Sequenz "Menu items" enthält Mausklicks auf die Einträge in der Menüleiste.

Dort sehen wir, dass die Sequenz mit einem Mausklick beginnt. Sie sehen auch die Koordinaten der Klicks relativ zum Nullpunkt der dahinter in eckigen Klammern angegebenen Komponente. Beim ersten Klick ist das z.B. der zweite Menüeintrag "Texteingabe".

Nach dem ersten Mausklick bewirkt der "Warten auf Komponente" Knoten, dass auf das Erscheinen der neuen Webseite gewartet wird. Nach dem erfolgreichen Laden der Seite, wird mit der Sequenz fortgefahren mit dem nächsten Mausklick. In gleicher Form geht es weiter mit den verbleibenden Menüeinträgen bis wieder die Seite "Willkommen" erreicht wird.

10.4
Einige Tipps zwischendurch

Hier zwischendurch ein kleiner Tipp, wenn Sie z.B. bei einem Knotentyp nicht genau wissen, wofür er eingesetzt wird, oder auch die Bedeutung eines seiner Attribute nicht zuordnen können. QF-Test ist mit einer kontextsensitiven Hilfe ausgestattet. Bewegen Sie den Mauszeiger zu dem Element, für das Sie Hilfe wünschen und drücken Sie die rechte Maustaste. Es erscheint das Kontextmenü, bei dem es ganz unten den Eintrag »Was ist das?« gibt. Wenn Sie diesen auswählen, wird das entsprechende Kapitel im Referenzteil des Handbuches in Ihren Standardbrowser geladen. (Unix-Anwender können den Browser unter »Bearbeiten«-»Optionen...« im Bereich "Allgemein" einstellen.) So finden Sie schnell die benötigte Information. Probieren Sie es doch bitte gleich mal aus.

Wenn Sie nach einem Thema oder Stichwort suchen wollen, so ist die Aktion »Hilfe«-»Online Suche... « praktisch. Sie durchsucht die gesamte Dokumentation auf einmal und die Ergebnisse lassen sich anschließend nach Herkunft (Handbuch, Tutorial, etc.) filtern.

10.5
Ein erster Check - Prüfen eines Textfeldes

Eines der wichtigsten Konzepte in QF-Test ist das der Checks, d.h. eine Überprüfung bestimmter Elemente im SUT. Ein "Text Check" prüft das Vorhandensein eines Textes in einer Textfeld-Komponente des SUT.

Als Beispiel für eine Überprüfung - einen Check - soll durch die nachfolgend beschriebene Sequenz die Beschriftung eines Textfeldes verifiziert werden.

Abbildung 10.7:  Die zu prüfende Beschriftung "Name:".

Wenn Sie in unserer Demoseite in der Menüleiste den zweiten Eintrag "Texteingabe" auswählen, sehen Sie ein Textfeld mit dem Label "Name:". Dieser Text soll geprüft werden.

Im folgenden Bild sehen Sie den zugehörigen Testfallknoten "Text check", im expandierten Zustand:

Abbildung 10.8:  Der Testfall "Text check".

Der Testfall besteht aus einem Mausklick zum Auswählen der "Texteingabe" Seite und einem "Check Text" Knoten zum Überprüfen des Beschriftungstextes.

Kehren Sie zuerst auf die "Willkommen" Seite im Webdemo zurück. Dann markieren Sie bitte den Testfall-Knoten "Text check" und führen Sie ihn aus. Ein Dialog erscheint nach dem Ablauf mit der Meldung, dass ein Fehler und eine Warnung aufgetreten sind.

Abbildung 10.9:  QF-Test meldet einen Fehler im Knoten "Check Text".

Zur weiteren Diagnose wollen wir uns das Protokoll ansehen. Wir können dazu direkt den Button "Protokoll anzeigen" drücken. Alternativ kann man das Protokoll in der Testsuite mittels »Wiedergabe«-»1. ...« oder der Tastenkombination [Strg-L] öffnen. Es wird in einem neuen Fenster angezeigt:

Abbildung 10.10:  Das Protokoll für die Wiedergabe des "Text check" Knotens.

Das Protokollfenster ähnelt im Aufbau dem einer Testsuite. Der Baum auf der linken Seite repräsentiert nun aber die zeitliche Darstellung des Testlaufs. Die Zeitachse verläuft von oben nach unten. Analog zur Testsuite befindet sich auf der rechten Seite eine Detailansicht des jeweils ausgewählten Protokollknotens im Baum.

Was sofort auffällt, ist der rote Rahmen um den Wurzelknoten des Protokollbaumes. Er verrät uns, dass sich ein Fehler in einem der Kindknoten verbirgt. Die schnellste Methode, um den Fehler zu finden, bietet »Bearbeiten«-»Nächsten Fehler finden« bzw. [Strg-N]. Dies führt zu folgendem Bild:

Abbildung 10.11:  Diagnose des fehlgeschlagenen Checks "Check Text".

Die Detailansicht auf der rechten Seite zeigt die Abweichung zwischen erwartetem und gefundenem Text. Hier sehen wir, dass der Unterschied zwischen erwartetem und erhaltenen Text der fehlende ":" am Schluss ist. Diesen Fehler im Test haben wir natürlich zur Demonstration absichtlich eingebaut.

Ein typischer Arbeitsschritt ist nun, ausgehend von dem Protokollknoten, in dem der Fehler aufgetreten ist, zurück in die Testsuite zu springen, um dort z.B. eine Anpassung im korrespondierenden Checkknoten vorzunehmen. Unter der Voraussetzung, dass der Fehler-Protokollknoten markiert ist, leistet hierbei »Bearbeiten«-»Knoten in Testsuite finden« bzw. [Strg-T] hervorragende Dienste. Eine Stufe weiter geht die Funktionalität des Protokollknotens mit dem Titel "Fehlgeschlagen: Check Text" in Abbildung 10.11, auswählbar über das Kontextmenü, das man über die rechte Maustaste öffnen kann: »Checkknoten mit erhaltenen Daten aktualisieren« bzw. [Strg-U].

Eine weitere Möglichkeit zur Fehlerdiagnose tritt in Erscheinung, wenn Sie den folgenden Knoten "Bildschirmabbild" auswählen. Dessen Detailansicht enthält ein vollständiges Abbild des Bildschirms zum Zeitpunkt, an dem der Fehler festgestellt wurde. Es kann eine große Hilfe sein, den Zustand des SUT in diesem Moment zu sehen, um die Ursache des Fehlers zu finden. Die folgende Grafik zeigt den Knoten:

Abbildung 10.12:  Bildschirmabbild zum Zeitpunkt des Fehlers.

Neben dem Abbild des gesamten Bildschirms speichert QF-Test auch Bilder der einzelnen Fenster des SUT. Für unser Beispiel ist dies der zweite "Bildschirmabbild" Knoten. Diese sind dann hilfreich, falls das SUT durch eine andere Anwendung zum Fehlerzeitpunkt verdeckt ist.

Hinweis Die in einem längeren Testlauf im Protokoll gesammelten Informationen können große Mengen an Arbeitsspeicher verbrauchen. Deshalb ist QF-Test so voreingestellt, dass es eine spezielle Form von kompakten Protokollen erstellt. Dabei werden nur die ca. letzten 100 Protokollknoten aufgehoben und der Rest verworfen. Informationen für Fehlerdiagnose und Reportgenerierung bleiben durchgängig erhalten. Diese Funktion ist mit der Option "Kompakte Protokolle erstellen" über »Bearbeiten«-»Optionen...«-»Protokoll«-»Inhalt« konfigurierbar. Der Typ eines Protokolls wird auch in seinem Wurzelknoten angezeigt. Auch die Anzahl der Bildschirmabbilder, die im Protokoll gespeichert werden, ist konfigurierbar.

Nun noch ein Wort zu der Warnung, die neben dem Fehler im Testlauf aufgetreten ist. Im Protokoll von Abbildung 10.11 wird sie mit einem gelben Rahmen um den Knoten angezeigt. Das ist der Knoten direkt über dem fehlerbehafteten Checkknoten. Die Warnung lautet: "Die Komponente 'textLast_name:' hat keinen Namen". Im Moment wollen wir diese Warnung nicht weiter verfolgen. Komponentennamen sind jedoch ein wichtiges Thema in Hinblick auf die Stabilität von Tests.

Wenn Sie möchten, können Sie nun als kleine Übung den erwarteten Text im Knoten "Check Text" der Testsuite wie oben beschrieben korrigieren. Wenn Sie den Checkknoten in der Testsuite anschließend nocheinmal ausführen, sollte kein Fehler mehr gemeldet werden. Machen Sie bitte zum Schluss diese Änderung mittels »Bearbeiten«-»Rückgängig machen« bzw. [Strg-Z] wieder rückgängig, um für die weitere Testdurchführung eine einheitliche Ausgangsbasis zu gewährleisten.

10.6
Ein zweiter Check - Zustand eines Optionsfeldes prüfen

In der dritten Sequenz "Selected test" werden wir überprüfen, ob sich ein Optionsfeld (Radio Button) im Zustand "ausgewählt" befindet. Auf der Seite "Optionsfelder & Auswahlkästchen" kann man interaktiv eine Anzahl von Buttons auswählen. Wir werden dieses verwenden, um sowohl einen erfolgreichen Check zu kreieren, als auch einen Check, der zu einem Fehler führt.

Abbildung 10.13:  Der "Selected test" Knoten.

Der Knoten "Selected test" zeigt einen Mausklick, zwei Checks und dazwischen eine Auswahl. Der Klick bewirkt das Auswählen der Seite "Optionsfelder & Auswahlkästchen". Danach überprüft der "Check Boolean: selected" Knoten, dass sich das erste Optionsfeld (Radio Button) im Zustand "ausgewählt" befindet. Der "Auswahl" Knoten schaltet die Combobox ganz oben auf der Seite auf die Option "nicht selektiert", was die Selektion des Knotens aufhebt. Der finale "Check Boolean: selected" Knoten überprüft erneut, dass sich dieser Button im Zustand "ausgewählt" befindet. Das ist natürlich ein Widerspruch, so dass der letzte Check offensichtlich zu einem Fehler führen wird.

Abbildung 10.14:  Check von Auswahlfeldern im "Web Demo".

Sie können nun die Check Knoten im Detail ansehen und die Sequenz auch starten. Vergessen Sie nicht, vorher im Webdemo auf die "Willkommen" Seite zurück zu wechseln.

10.7
Beenden der Applikation

Die Aufräumsequenz wird (wie auch die Vorbereitungssequenz) nach jedem Testfall innerhalb des umschließenden Testfallsatzes ausgeführt. Sie dient dazu, das SUT nach dem Ausführen eines Tests in einen spezifischen Zustand zu versetzen, welcher die Basis für den darauf folgenden Test bildet. Die Aufräumsequenz ist vergleichbar mit "tear-down" Methoden in Unittests.

Expandieren Sie bitte die Aufräumsequenz. Mit "Stop browser" haben wir den endgültigen Weg gewählt und beenden im Zuge des Aufräumens einfach den Browser.

Abbildung 10.15:  Die Aufräumsequenz "Stop browser".

Auf den "Programm beenden" Knoten folgt ein "Warten auf Programmende", um sicher zu stellen, dass der nächste Test so lange wartet bis der Browser vollständig beendet wurde.

10.8
Alles in einem Rutsch

In den vergangenen Abschnitten haben wir uns Schritt für Schritt durch die einzelnen Bereiche unserer Beispieltestsuite gearbeitet. Nun ist es an der Zeit die gesamte Suite in einem Rutsch als Ganzes ausführen zu lassen. Das könnte in der Praxis einem Regressionstest entsprechen, dem wir unser SUT unterziehen wollen.

Schließen Sie bitte den Browser, falls dieser aktuell läuft. Nun können Sie den Testfallsatz "Web demo" markieren und ihn als Ganzes ausführen. Der Testlauf dauert eine knappe Minute. Dies liegt unter anderem an einer Verzögerung, die wir zur besseren Nachvollziehbarkeit eingebaut haben. Sie sehen in den Details des Testfallsatzknotens unter Standardwerte eine Variable "delay", die auf 500 ms definiert ist. Wenn Sie diesen Wert reduzieren, können Sie den Testlauf beschleunigen. Der Test endet mit den bekannten zwei Fehlern.

Wenn Sie sich nun bitte das Protokoll ansehen, sehen Sie wie QF-Test den Test abarbeitet.

Abbildung 10.16:  Das Protokoll des gesamten Testfallsatzes "Web demo".

Hier sieht man auch noch einmal die bereits erwähnte Eigenschaft des Testfallsatzknotens, dass vor jedem darin enthaltenen Test jeweils die Vorbereitungssequenz und danach jeweils die Aufräumsequenz abgearbeitet wird. Dadurch wird immer ein sauberer Ausgangszustand sichergestellt.

10.9
Reportgenerierung

Im Qualitätssicherungsprozess ist es wichtig, Testergebnisse zu dokumentieren und auch zu archivieren. QF-Test bietet die Möglichkeit, aus Protokollen Testreports zu generieren. Wir wollen dies für das gerade aufgezeichnete Protokoll beispielhaft durchführen.

Die Reportgenerierung kann im Protokollfenster über »Datei«-»XML/HTML Report erstellen...« angestoßen werden. Es erscheint ein Dialog zur weiteren Auswahl möglicher Parameter:

Abbildung 10.17:  Auswahldialog für die Reportgenerierung.

Im ersten Feld können Sie den Dateinamen des Reports festlegen. QF-Test bietet zwei Arten von Reports - einen einfachen HTML Report und einen XML Report. Die XML Form kann der Anwender als Grundlage verwenden und sie mit Hilfe selbst geschriebener XSLT Stylesheets in einen beliebigen eigenen Report transformieren.

Es gibt weitere Optionen, um die Behandlung von HTML und Doctags in Kommentarfeldern und das Anzeigen des Reports nach der Generierung in einem Browser zu steuern. Sie können die Felder einfach unverändert belassen. Weitere Details finden Sie bei Bedarf im Kapitel Reports und Testdokumentation des Anwenderhandbuchs.

Wir wollen uns nun einen einfachen HTML Report zu unserem letzten Testlauf erzeugen lassen. Bestätigen Sie bitte den Dialog zur Reportgenerierung (nach einem eventuellen Anpassen der Optionen) mit "OK". Anschließend sollte sich automatisch Ihr Browser mit einem Ergebnis äquivalent zum folgenden Bild öffnen:

Abbildung 10.18:  Ein HTML Report.

Der Testbericht beginnt mit einer Zusammenfassung, mit allgemeinen Systeminformationen im linken Bereich, einer Legende mit der Bedeutung der verwendeten Symbole rechts und dem Gesamtergebnis darunter. In unserem Fall sind es die bekannten zwei Fehler.

Auf die Zusammenfassung folgt eine Fehlerübersicht, welche alle Fehler auflistet, inklusive Ort des Auftretens (den Testfall) und beschreibender Fehlermeldung. Teil drei bildet eine Übersicht der Testfallsätze, die hier nur den "Web demo" Testfallsatz enthält, da unsere Testsuite nur diesen enthält. Zum Schluss werden alle Testfälle des "Web demo" Testfallsatzes mit den zugehörigen Details, wie Beschreibung, Ergebnis und Laufzeit, aufgelistet.

Die Reporterstellung in QF-Test ist ein praktisches Hilfsmittel, um einen Überblick über einen Testlauf zu gewinnen und ein Dokument zu Präsentations- und Archivierungszwecken zu erstellen.

Videos Downloads Dokumentation Kaufen Gratis Testen