Logo QF-Test

Komplett in zwei Sprachen dokumentiert.
Handbuch = Das QF-Test-Nachschlagewerk

 

Gratis Testen  Download  Kaufen

Hilfe gibt's direkt in der QF-Test Anwendung

Auf die gesamte Dokumentation können Sie auch über das Hilfe Menü direkt in QF-Test zugreifen.

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

Handbuch

32.6
Protokoll

Die folgenden Optionen haben Einfluss darauf, welche Informationen in einem Protokoll aufgezeichnet werden, wann dieses angezeigt und wie es gespeichert wird.

32.6.1
Allgemeine Protokoll Optionen
Protokoll Optionen
Abbildung 32.30:  Protokoll Optionen
Protokoll anzeigen (User)

Hier lässt sich einstellen, ob und unter welchen Bedingungen das Protokoll, das für jeden Testlauf erzeugt wird, angezeigt werden soll. Die Protokolle der letzten Testläufe sind in jedem Fall über das Menü »Wiedergabe« abrufbar. Die Tastenkombination [Strg-L] ruft das jeweils letzte Protokoll ab.

Zu Beginn
Legt fest, dass das Protokoll bereits beim Start eines Testlaufs angezeigt wird.

Nach dem Ende
Bei dieser Einstellung wird das Protokoll angezeigt, nachdem ein Testlauf beendet ist.

Nur bei Fehler
In diesem Fall wird das Protokoll nur angezeigt, wenn ein Testlauf durch eine Exception abgebrochen wird.

Nicht anzeigen
Hier wird das Protokoll nicht automatisch angezeigt, ist aber dennoch über das »Wiedergabe« Menü oder mittels [Strg-L]. zugänglich.

Wie viele alte Protokolle im Menü (User)

Hier können Sie einstellen, wie viele Protokolle im »Wiedergabe« Menü aufgehoben werden sollen. Werden mehr Testläufe durchgeführt als Protokolle aufgehoben werden sollen, werden die jeweils ältesten Protokolle verworfen. Sofern sie nicht gespeichert wurden, sind sie damit unwiederbringlich verloren.

3.0+Protokolle automatisch speichern (User)

Um übermäßigen Speicherverbrauch zu vermeiden und außerdem die letzten Protokolle zwischen verschiedenen QF-Test Sessions persistent zu machen, werden die aktuellen Protokolle im »Wiedergabe« Menü automatisch im benutzerspezifischen Konfigurationsverzeichnis gespeichert, bzw. in dem Verzeichnis, das in der Option Verzeichnis für Protokolle spezifiziert wurde. Der Dateiname für ein Protokoll wird aus einem Zeitstempel gebildet. QF-Test sperrt diese Dateien, um Konflikte und versehentliches Löschen bei mehreren parallelen QF-Test Sessions zu vermeiden und hält das benutzerspezifische Konfigurationsverzeichnis durch regelmäßiges Löschen der unbenutzten Protokolle sauber. Es sollte also keinen Grund geben, diese Funktion auszuschalten, aber wenn Sie darauf bestehen, können Sie es mittels dieser Option tun.

4.0+Verzeichnis für Protokolle (User)

Standardmäßig werden bei interaktiver Ausführung von QF-Test Protokolle im benutzerspezifischen Konfigurationsverzeichnis. Mit dieser Option können Sie ein alternatives Zielverzeichnis angeben.

Hinweis Diese Option wird von QF-Test bei jedem Start eines Tests ausgewertet. Zu diesem Zeitpunkt sind globale Variablen und Variablen der Testsuite bereits definiert und im Gegensatz zu andere Option darf hier die QF-Test Variablensyntax verwendet werden, einschließlich spezieller Variablen wie ${env:HOME} um Environmentvariablen auszuwerten oder sogar ${qftest:suite.dir} um das Protokoll neben der Testsuite abzulegen. Falls das Verzeichnis, wie im letzten Fall, dynamisch ist, kann QF-Test eventuell alte Protokolle nicht regelmäßig aufräumen. Fehler bei der Expansion von Variablen werden ohne Meldung ignoriert und das benutzerspezifische Konfigurationsverzeichnis stattdessen verwendet.

3.1+Expandierte Variablenwerte in Baumknoten anzeigen (User)

Die Knoten der Baumansicht eines Protokolls können entweder mit expandierten Variablen - mit Werten vom Zeitpunkt der Ausführung - dargestellt werden, oder mit den Variablen selbst. Beide Ansichten sind nützlich, daher können Sie mittels dieser Option, oder einfacher über den Menüeintrag »Ansicht«-»Knoten expandiert darstellen«, zwischen ihnen wechseln.

Fehlersuche findet (User)

Hiermit legen Sie fest, welche Art von Fehlern Sie mit der über »Bearbeiten«-»Nächsten Fehler finden« bzw. [Strg-N] erreichbaren Fehlersuche finden. Dabei handelt es sich um Mindestwerte, d.h. mit der Einstellung "Warnungen" finden Sie auch Fehler und Exceptions, während Sie mit der Einstellung "Exceptions" nur Exceptions finden.

Unterdrückte Fehler überspringen (User)

Wie die vorhergehende, bezieht sich auch diese Option auf die Suche nach Fehlern im Protokoll. Ist sie aktiviert, werden nur solche Warnungen, Fehler oder Exceptions gefunden, die im Protokoll nach oben durchgereicht wurden. Exceptions, die durch ein 'Try'/'Catch' Konstrukt abgefangen oder Meldungen, die durch das 'Maximaler Fehler' Attribut unterdrückt wurden, werden übersprungen.

Diese Option kann sowohl über den Optionen Dialog, als auch direkt über den Menüeintrag »Bearbeiten«-»Unterdrückte Fehler überspringen« verändert werden.

Nach Sprung zum nächsten oder vorhergehenden Fehler Baum aufräumen (User)

Werden mehrfach Fehler in einem Protokoll angesprungen, kann dieses leicht durch die vielen expandierten Knoten unübersichtlich werden. Ist diese Option aktiviert, räumt QF-Test automatisch nach jedem Sprung zu einem Fehler den Baum auf, so dass nur die Parent-Knoten des aktuellen Fehlers expandiert sind.

Hinweis Beim Bearbeiten von geteilten Protokollen werden Teil-Protokolle, die einen Fehler enthalten, so lange im Speicher gehalten wie ihre Knoten expandiert sind. Durch Aktivieren dieser Option können Sie sicherstellen, dass Teil-Protokolle so bald wie möglich freigegeben werden und der Speicherverbrauch auch beim Betrachten der Fehler eines sehr großen Protokolls im Rahmen bleibt.

Protokolle komprimiert speichern (*.qrz) (System)
Server Skript Name: OPT_LOG_SAVE_COMPRESSED

Protokolle können als normale oder als komprimierte XML Datei gespeichert werden. Für große Protokolle ohne Bildschirmabbilder kann der Kompressionsfaktor durchaus 10 und mehr betragen, so dass es ratsam ist, Kompression zu verwenden. Das einzige Argument dagegen ist, wenn Sie die XML Protokolle nachträglich transformieren wollen. Da QF-Test aber den Standard gzip Algorithmus zur Kompression verwendet, können komprimierte und normale Protokolle jederzeit mittels gzip ineinander umgewandelt werden.

Wenn Sie ein Protokoll interaktiv speichern, können Sie jederzeit über die Kompression entscheiden indem Sie im Dialog den entsprechenden Filter auswählen oder der Datei die Entsprechende Endung .qrl oder .qrz geben.

Im Batch Modus werden Protokolle normalerweise komprimiert geschrieben. Um ein unkomprimiertes Protokoll zu erstellen geben Sie einfach mit dem Kommandozeilenargument -runlog [<Datei>] eine Datei mit der Endung .qrl an.

3.0+Geteilte Protokolle erzeugen (User)
Server Skript Name: OPT_LOG_SAVE_SPLIT

Ein Protokoll kann durch setzen des Attributs 'Name für separates Protokoll' eines 'Datentreiber' Knotens oder eines der verschiedenen Test Knoten in mehrere Teile zerlegt werden. Sie können diese Funktion deaktivieren, indem Sie diese Option ausschalten. So müssen Sie keine 'Name für separates Protokoll' Attribute ändern, wenn Sie zwischendurch ein komplettes Protokoll erstellen wollen.

Weitere Informationen zu geteilten Protokollen finden Sie in Abschnitt 8.1.4.

3.0+Geteilte Protokolle als ZIP Dateien speichern (*.qzp) (User)
Server Skript Name: OPT_LOG_SAVE_SPLIT_ZIP

Geteilte Protokolle können entweder als einzelne ZIP Datei mit der Endung .qzp gespeichert werden, die das Hauptprotokoll und alle davon abgeteilten Protokolle enthält, oder als normales .qrl oder .qrz Protokoll. Letzteres wird um ein Verzeichnis mit dem selben Basisnamen und dem Anhang _logs ergänzt, welches die abgeteilten Protokolle aufnimmt, z.B. die Datei runlog.qrz plus das Verzeichnis runlog_logs. Diese Option legt das Format fest, mit dem Protokolle automatisch im interaktiven Modus geschrieben werden. Wird die Option Protokolle automatisch speichern ausgeschaltet, ist diese Option ohne Bedeutung.

Weitere Informationen zu geteilten Protokollen finden Sie in Abschnitt 8.1.4.

3.4+Minimale Größe für automatisches Teilen (kB) (System)
Server Skript Name: OPT_LOG_AUTO_SPLIT_SIZE

Hinweis Diese Option findet nur für 'Testfall' und 'Testfallsatz' Knoten Anwendung. An anderen Stellen werden Protokolle nur bei expliziter Angabe von 'Name für separates Protokoll' geteilt.

Geteilte Protokolle sind der einzig sichere Weg um zu vermeiden, dass bei sehr lang laufenenden Tests oder bei vielen Bildschirmabbildern oder großen Ausgaben vom SUT der Speicher ausgeht. Zudem ist die Transformation in Reports bei geteilten Protokollen effizienter. Das explizite Setzen von 'Name für separates Protokoll' Attributen erfordert allerdings eine Kenntnis der Thematik und Entscheidungen, wo ein Protokoll am besten aufgeteilt wird oder führt zu ermüdender Tipparbeit beim Versuch einer feinen Unterteilung.

Als Kompromiss berechnet QF-Test sehr grob die Größe des Protokolls bei der Ausführung und bezieht dabei die Größe von Bildschirmabbildern und Programmausgaben mit ein. Immer wenn bei der Testausführung ein 'Testfall' oder 'Testfallsatz' abgeschlossen ist und die ungefähre Größe des zum Knoten gehörigen Protokolls den in dieser Option angegebenen Schwellwert überschreitet, wird das Teil-Protokoll abgetrennt und separat gespeichert. Ein Wert von 0 verhindert das automatische Teilen.

Weitere Informationen zu geteilten Protokollen finden Sie in Abschnitt 8.1.4.

3.4+Name für automatisch geteilte 'Testfall' Protokolle (System)
Server Skript Name: OPT_LOG_AUTO_SPLIT_TESTCASE_NAME

Diese Option bestimmt den Namen für ein separates Protokoll, das in Abhängigkeit von der vorhergehenden Option nach Ausführung eines Testfalls geschrieben wird. Variablen können ebenso verwendet werden wie die '%...' Platzhalter, die beim Attribut 'Name für separates Protokoll' beschrieben sind.

Die spezielle Variable ${qftest:testcase.splitlogname} ist eine gute Basis. Sie wird zu einem Pfadnamen expandiert, der aus den Namen des 'Testfall' Knotens und eventuellen 'Testfallsatz' Parentknoten als Verzeichnissen besteht.

Weitere Informationen zu geteilten Protokollen finden Sie in Abschnitt 8.1.4.

3.4+Name für automatisch geteilte 'Testfallsatz' Protokolle (System)
Server Skript Name: OPT_LOG_AUTO_SPLIT_TESTSET_NAME

Diese Option bestimmt den Namen für ein separates Protokoll, das in Abhängigkeit von der Option Minimale Größe für automatisches Teilen (kB) nach Ausführung eines Testfalls geschrieben wird. Variablen können ebenso verwendet werden wie die '%...' Platzhalter, die beim Attribut 'Name für separates Protokoll' beschrieben sind.

Die spezielle Variable ${qftest:testset.splitlogname} ist eine gute Basis. Sie wird zu einem Pfadnamen expandiert, der aus den Namen des 'Testfallsatz' Knotens und eventuellen 'Testfallsatz' Parentknoten als Verzeichnissen besteht.

Weitere Informationen zu geteilten Protokollen finden Sie in Abschnitt 8.1.4.

32.6.2
Optionen für den Inhalt von Protokollen
Protokollinhalt Optionen
Abbildung 32.31:  Optionen für den Inhalt von Protokollen
Variablenexpansion protokollieren (System)
Server Skript Name: OPT_LOG_CONTENT_VARIABLE_EXPANSION

Ist diese Option gesetzt, wird im Protokoll jedes mal, wenn für ein Attribut mit variablem Inhalt die Variablenwerte eingesetzt werden, eine Meldung erstellt.

Parentknoten von Komponenten protokollieren (System)
Server Skript Name: OPT_LOG_CONTENT_PARENT_COMPONENTS

Für jeden Event, Check etc. wird die Zielkomponente im Protokoll gespeichert. Das Setzen dieser Option bewirkt, dass dabei zusätzlich alle direkten und indirekten Parentknoten der Komponente mitgespeichert werden.

Level für Meldungen im SUT (System)
Server Skript Name: OPT_LOG_CONTENT_SUT_LEVEL
Mögliche Werte: VAL_LOG_SUT_LEVEL_MESSAGE, VAL_LOG_SUT_LEVEL_WARNING, VAL_LOG_SUT_LEVEL_ERROR

Während des Ablaufs eines Test werden im SUT Meldungen mit verschiedener Bedeutung automatisch generiert, z.B. zur Analyse der Wiedererkennung der Komponenten. Diese Option legt fest, welche davon im Protokoll ankommen: Alle Meldungen, Warnungen und Fehlermeldungen oder nur Fehlermeldungen. Auf explizit mit rc.logMessage oder qf.logMessage erstellte Meldungen hat diese Option keinen Einfluss.

Anzahl protokollierter Ereignisse zu Diagnosezwecken (System)
SUT Skript Name: OPT_LOG_CONTENT_DIAGNOSIS

Beim Abspielen eines Tests zeichnet QF-Test im SUT Events und andere interne Vorgänge auf. Diese Informationen werden normalerweise schnell wieder verworfen, außer im Fall eines Fehlers. Dann werden sie in einen Speziellen Knoten im Protokoll geschrieben. Diese Informationen können zwar auch für Entwickler von Interesse sein, dienen aber in erster Linie zur Fehlerdiagnose, wenn Support von Quality First Software GmbH angefordert wird.

Diese Option legt die Zahl der Ereignisse fest, die QF-Test zwischenspeichert. Ein Wert von 0 schaltet dieses Feature komplett aus. Sie sollten den Wert aber nicht ohne guten Grund auf weniger als ca. 400 reduzieren. Da die Informationen nur im Fehlerfall ausgegeben werden, ist der Aufwand für ihre Erstellung vernachlässigbar.

Maximale Anzahl von Fehlern mit Bildschirmabbild pro Protokoll (System)
Server Skript Name: OPT_LOG_CONTENT_SCREENSHOT_MAX

Die Zahl der Bildschirmabbilder, die QF-Test während eines Testlaufs aufnimmt und im Protokoll speichert, kann mit dieser Option limitiert werden, um den Speicherverbrauch zu begrenzen. Ein Wert von 0 schaltet Bildschirmabbilder komplett aus, ein negativer Wert bedeutet unbegrenzte Bildschirmabbilder.

Bildschirmabbilder für geteilte Protokolle separat zählen (System)
Server Skript Name: OPT_LOG_CONTENT_SCREENSHOT_PER_SPLIT_LOG

Ist diese Option gesetzt, kann jeder Teil eines geteilten Protokolls das oben angegeben Maximum an Bildschirmabbilder enthalten, ohne die Bildschirmabbilder für das Hauptprotokoll zu beeinflussen. Andernfalls gilt das Maximum für alle Teile zusammen.

Weitere Information zu geteilten Protokollen finden Sie in Abschnitt 8.1.4.

Abbilder vom gesamten Bildschirm erstellen (System)
Server Skript Name: OPT_LOG_CONTENT_SCREENSHOT_FULLSCREEN

Das Aktivieren dieser Option veranlasst QF-Test ein Abbild des gesamten Bildschirms zu generieren und im Protokoll zu speichern, wenn dies aufgrund einer Exception oder eines Fehlers während des Testlaufs angestoßen wird.

Abbilder von einzelnen Fenstern erstellen (System)
Server Skript Name: OPT_LOG_CONTENT_SCREENSHOT_WINDOW

Ist diese Option gesetzt, generiert QF-Test im Falle von Exceptions oder Fehlern während der Testausführung Abbilder von allen Fenstern und Dialogen des SUT und speichert diese im Protokoll. Dies funktioniert größtenteils auch in Situationen, wo ein Fenster von einem anderen Fenster überdeckt wird oder für Fälle, in denen ein Abbild des gesamten Bildschirms nicht möglich ist, z.B. wenn der Bildschirm gesperrt ist.

3.4+Erfolgreiche tolerante Abbildvergleiche in das Protokoll schreiben (System)
Server Skript Name: OPT_LOG_CONTENT_SCREENSHOT_ADVANCED_ALWAYS

Ist diese Option gesetzt, werden auch bei erfolgreichem Abbildvergleich bei Verwendung von toleranten Imagevergleichen die Ergebnisse des Algorithmus inklusive der transformierten Bilder in das Protokoll geschrieben. Andernfalls werden diese Details nur bei fehlgeschlagenem Vergleich gespeichert.

Diese Option kann den Speicherverbrauch des Protokolls drastisch erhöhen, daher sollten Sie sie auf jeden Fall mit kompakten und geteilten Protokollen kombinieren.

Kompakte Protokolle erstellen (System)
Server Skript Name: OPT_LOG_CONTENT_COMPACT

Ist diese Option aktiviert, verwirft QF-Test alle Knoten eines Protokolls, die weder für die Fehlerdiagnose, noch für den XML/HTML Report benötigt werden. Nach einem Fehler oder einer Exception, sowie am Ende eines Testlaufs, bleiben die zuletzt ausgeführten 100 Knoten im Protokoll erhalten, so dass alle relevanten Informationen erhalten bleiben sollten.

Für größere Tests sollte diese Option praktisch immer aktiviert sein, um den ansonsten gewaltigen Speicherbedarf der Protokolle zu minimieren.

Diese Option wird nur ausgewertet, wenn QF-Test im interaktiven Modus ausgeführt wird. Im Batchmodus (vgl. Abschnitt 1.7) wird die Option ignoriert, um versehentlichen Informationsverlust zu vermeiden. Kompakte Protokolle können im Batchmodus über die Kommandozeilenoption -compact aktiviert werden.

Protokoll komplett unterdrücken (System)
Server Skript Name: OPT_LOG_CONTENT_SUPPRESS

Für besonders lang laufende Tests oder Demos kann der Speicherverbrauch von Protokollen ein Problem darstellen, welchem nun mit geteilten Protokollen beizukommen ist. Bevor es geteilte Protokolle gab, stellte diese Option die letzte Möglichkeit dar, besonders lang laufende Tests durchzuführen. Nun ist sie nur noch aus Gründen der Rückwärtskompatibilität vorhanden.

Achtung: Im Batchmodus wird diese Option ignoriert, stattdessen kann dort durch die Angabe von -nolog das Protokoll unterdrückt werden.

3.0+Ausgaben des SUT individuell protokollieren (System)
SUT Skript Name: OPT_LOG_CONTENT_SPLIT_IO

Ist diese Option gesetzt, werden alle Ausgaben eines SUT Clients auf seine stdout oder stderr Streams auch individuell im Protokoll abgelegt. Für jede Interaktion mit dem SUT sammelt QF-Test dabei den vorher angefallenen Text, sowie den während der Event Synchronisation ausgegebenen Text. Hierdurch können Ausgaben wie z.B. ein Exception StackTrace direkt mit dem Knoten assoziiert werden, der diese ausgelöst hat. Dies ist nahezu unmöglich, wenn alle Ausgaben nur in einem großen Block vorhanden sind.

3.0+Individuell protokollierte SUT Ausgaben kompaktifizieren (System)
Server Skript Name: OPT_LOG_CONTENT_COMPACTIFY_SPLIT_IO

Ausgaben eines SUT Clients können, wenn sie gehäuft auftreten, signifikante Mengen an Speicher verbrauchen. Ist diese Option aktiviert, werden individuell protokollierte Ausgaben zusammen mit dem auslösenden Knoten aus einem kompakten Protokoll entfernt, sofern dieser Knoten nicht weiter interessant ist. Nähere Informationen zu kompakten Protokollen finden Sie bei der Option Kompakte Protokolle erstellen.

4.0+32.6.3
Optionen für Verweise zwischen Verzeichnissen mit Testsuiten
Optinen für Verzeichnisse Testsuite
Abbildung 32.32:  Optionen für Verweise zwischen Verzeichnissen mit Testsuiten
Verweise zwischen Verzeichnissen mit Testsuiten (System)

Beim Analysieren eines Protokolls ist es oft hilfreich, schnell zwischen dem Protokoll und der zugehörigen Testsuite hin- und herwechseln zu können. Werden automatisierte Tests allerdings auf verschiedenen Systemen ausgeführt, z.B. Windows und Linux, unterscheiden sich die Verzeichnisse, aus denen die Testsuiten für den Test geladen werden. QF-Test kann verschiedene Verzeichnisstrukturen aufeinander abbilden, wenn Sie es dabei mit Hilfe dieser Option unterstützen.

Die 'Von'-Spalte ist ein Muser, das vom Beginn des Pfads der Testsuite bis zum Ende eines Verzeichnisses mit diesem Pfad übereinstimmen muss. Die 'Nach'-Spalte ist die Ersetzung für den übereinstimmenden Teil, die ebenfalls Muster enthalten kann. Bei der Suche nach der referenzierten Testsuite arbeitet QF-Test diese Liste von oben nach unten ab, führt die Ersetzung im Fall einer Übereinstimmung aus und der erste Treffer, der zu einer existierenden Testsuite führt, wird verwendet.

Hinweis Die hier verwendeten Muster sind keine regulären Ausdrücke, sondern eine einfachere Form, die oft in Entwicklungswerzeugen eingesetzt wird. Ein '*' steht für 0 oder mehr Zeichen exklusive '/', '**' für 0 oder mehr beliebige Zeichen inklusive '/'. Einige Beispiele:

**/Testsuiten
Alle Verzeichnisse namens Testsuiten in beliebiger Tiefe.
T:/Test/SUT_*
Alle Verzeichnisse beginnend mit SUT_ im Verzeichnis T:/Test
Videos Downloads Dokumentation Kaufen Gratis Testen