| Version 3.4.7 |
| Protokoll |
Die folgenden Optionen haben Einfluss darauf, welche Informationen in einem Protokoll aufgezeichnet werden, wann dieses angezeigt und wie es gespeichert wird.
| Allgemeine Protokoll Optionen |
|
| ![]() |
||
|
| Abbildung 29.25: Protokoll Optionen | ||
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.
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.
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 Verzeichnis
.qftest im Heimatverzeichnis des Anwenders gespeichert. 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 .qftest Verzeichnis 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.
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.
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.
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.
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 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.
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 9.1.4.
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. Letzeres 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 9.1.4.
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 9.1.4.
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 9.1.4.
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 9.1.4.
| Optionen für den Inhalt von Protokollen |
|
| ![]() |
||
|
| Abbildung 29.26: Optionen für den Inhalt von Protokollen | ||
Ist diese Option gesetzt, wird im Protokoll jedes mal, wenn für ein Attribut mit variablem Inhalt die Variablenwerte eingesetzt werden, eine Meldung erstellt.
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.
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.
Beim Abspielen eines Tests zeichnet QF-Test im SUT Events und andere interne Vorgänge auf. Diese Informationen werden normalerweise schnell wieder verworfen, ausser 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.
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.
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 9.1.4.
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.
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.
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.
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.5) wird die Option ignoriert, um
versehentlichen Informationsverlust zu vermeiden. Kompakte
Protokolle können im Batchmodus über die Kommandozeilenoption
-compact aktiviert werden.
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.
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.
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.
| Letzte Änderung: 23.04.2012 Copyright © 1999-2012 Quality First Software GmbH |