|
|
|
Release Notes
Dieses Dokument beschreibt die Änderungen an QF-Test seit Version 3.0.
Entwicklungs- und Produktiv-Version
Aktuell gibt es nur eine Version von QF-Test, doch manchmal sind es zwei.
Die Entwicklungsversion mit ungerader mittlerer Versionsnummer enthält immer die neuesten
Features. Auf dem Produktiv-Zweig mit gerader mittlerer Versionsnummer erscheinen neue
Versionen mit dem Hauptziel, Fehler zu beseitigen. Nur sehr wenige Features fließen hier
ein und wenn, dann sind sie typischerweise klein. Beide Versionen werden in gleichem
Umfang getestet. Die Produktiv-Version ist insofern stabiler, als sie nicht so vielen und
weniger schwerwiegenden Änderungen unterworfen ist. Auch hat ihre größere Nutzerbasis mehr
Zeit, Fehler zu entdecken.
Weitere Informationen finden Sie auf der Upgrades Seite.
Vollständige Versionen und Patches
Selbst bei dem eher konservativen Ansatz von Entwicklungs- und Produktiv-Version gibt es
gewisse Interessenskonflikte. Einerseits sollen Problemlösungen so schnell wie möglich
erscheinen. Andererseits ist davon oft nur ein kleiner Teil der Anwender betroffen und der
Rest zieht es überwiegend vor, Sammel-Updates nur bei Bedarf und in größeren Abständen
einzuspielen. Um allen gerecht zu werden gibt es zwei Arten von Releases auf dem
Produktiv-Zweig:
|
|
Volle Wartungsversionen wie die 3.0.1 werden alle 6-10 Wochen freigegeben und enthalten
eine umfassende Sammlung aller Änderungen seit der vorhergehenden Version. Im Fall eines
schwerwiegenden Fehlers wird eine volle Wartungsversion veröffentlicht sobald der Fehler
behoben ist. Wartungsversionen werden öffentlich im Newsletter und auf der Webseite
angekündigt.
|
|
|
In unregelmäßigen Abständen werden Patch-Versionen wie die 3.0.0-p1 veröffentlicht, um
die aktuellsten Änderungen interessierten Anwendern zugänglich zu machen. Diese werden
nur über die Mailingliste angekündigt (näheres zur QF-Test Mailingliste).
|
Bei der Entwicklung von neuen Features oder Problemlösungen ist es oft nötig, Feedback von
Anwendern einzuholen. Zu diesem Zweck werden einzelnen Anwendern manchmal experimentelle
Patches zur Verfügung gestellt. Falls diese von allgemeinem Interesse sind, werden sie
auch auf der Mailingliste angekündigt.
Ein Patch ist eine sehr kleine Sammlung von Änderungen relativ zu einer bestimmten QF-Test
Version. Er wird in Form eines ZIP Archivs bereitgestellt, welches über eine bestehende
QF-Test Installation extrahiert wird. Es gibt immer nur eine gemeinsame ZIP Datei für alle
Betriebssysteme und die Installation eines Patches verursacht deutlich weniger Aufwand als
das Update zu einer neuen QF-Test Version.
Ein Patch ist immer eine temporäre Lösung. Die nächste volle Wartungsversion beinhaltet
alle funktionierenden Änderungen, die seit der letzten Version als Patch freigegeben
wurden.
Wir führen immer einen vollständigen Testlauf für offizielle Patches durch. Aufgrund des
verkürzten Entwicklungszyklus sind Patches aber zwangsläufig nicht so gut getestet wie
volle Versionen. Sollten Sie nach Installation eines Patches Probleme haben, können Sie
diesen normalerweise durch Entfernen der Datei
.../qftest/qftest-x.y.z/qflib/patch.jar deaktivieren. Bitte melden Sie alle
Probleme mit Patches an qftest-bug@qfs.de oder an
die Mailingliste.
Version 3.2.2 - 15. Juli 2010
Neue Features:
|
|
Es wird nun das Testen von Eclipse/SWT Version 3.6 "Helios" unterstützt.
|
|
|
Im SWT FileDialog kann nun Mehrfachselektion aufgenommen und abgespielt werden.
|
Beseitigte Bugs:
|
|
Performance bei der Wiedergabe konnte drastisch einbrechen, wenn das Home-Verzeichnis
des Anwenders auf einem Netzlaufwerk lag.
|
|
|
Eine in QF-Test 3.2.1 eingeführte Umgehung einer Schwäche in AWT konnte die Performance bei
der Wiedergabe für AWT/Swing beeinträchtigen.
|
|
|
Ein weiteres Performance-Problem im Zusammenhang mit sehr großen Hierarchien von Swing
Menüs wurde ebenfalls beseitigt.
|
|
|
Mehrere Sonderfälle beim Hochladen von Dateien mit dem Internet Explorer werden nun
korrekt behandelt.
|
|
|
Das Herunterladen von Dateien mit dem Internet Explorer funktioniert nun auch bei HTTP
Redirection korrekt.
|
Version 3.2.1 - 11. Mai 2010
Beseitigte Bugs:
|
|
Mit einem 1.4 JDK startete QF-Test im interaktiven Modus nur, wenn beim Start bereits eine
zu öffnende Datei angegeben wurde.
|
|
|
Web-Tests funktionieren nun auch wieder unter Windows 2000.
|
|
|
Der QF-Test Debugger zeigte für 'Prozeduraufruf' und 'Testaufruf' Knoten jeweils
zwei Einträge auf dem Variablenstapel an.
|
|
|
Es gab ein Speicherleck beim interaktiven Editieren von Testsuiten mit
'Check Abbild' Knoten für große Bilder.
|
|
|
In sehr speziellen Fällen konnten beim Import von Komponenten in ihre eigene Testsuite
Referenzen falsch angepasst werden.
|
|
|
Beim Speichern von Protokollen im ZIP konnten vereinzelt Einträge nicht geschrieben
werden. QF-Test umgeht nun das Problem in der zu Grunde liegenden Bibliothek.
|
|
|
Zwei Probleme für SUTs mit mehr als einer GUI Engine, z.B. einer WebStart Anwendung oder
einer SWT/Swing Kombination, wurden beseitigt. In solch einem Fall zeichnete QF-Test bei
Fehlern mehr als einen Screenshot für den gesamten Bildschirm auf und manchmal konnte
die Verbindung mit der zweiten GUI Engine fehlschlagen.
|
|
|
Der Dialog zum Hochladen von Dateien auf einer Webseite wurde von QF-Test nicht für alle
Browser korrekt erkannt. Zudem konnte die Prozedur qfs.web.input.fileUpload
in der Standardbibliothek qfs.qft nicht alle Fälle korrekt behandeln.
|
|
|
In neueren QF-Test Versionen gab es neben dem lokalen Jython Runcontext rc
inoffiziell auch eine globale Version. In speziellen Fällen konnte dies zu einem
Namenskonflikt führen, so dass die (weiterhin inoffizielle) globale Version in
__rc umbenannt wurde.
|
|
|
Einige kleine Probleme und gelegentliche Exceptions in Verbindung mit Ergebnislisten
wurden beseitigt.
|
Neue Features in QF-Test Version 3.2
Die folgende Übersicht fasst die wichtigsten neuen Features zusammen, die für QF-Test Version
3.2 implementiert wurden. Detaillierte Informationen zu den Unterschieden zwischen QF-Test
3.0 und 3.2 finden Sie in den Release Notes zu den Versionen 3.2.0 und 3.1.x.
|
| Unterstützt Webtesten in Kombination mit Java Applets |
|
| Keine JDK Instrumentierung mehr nötig |
|
| Workbench Ansicht für eine moderne Oberfläche |
|
| 'Testschritt' Knoten für detaillierte Reports |
|
| Refactoring mit automatischem Update von Referenzen |
|
| Integration mit dem Open Source Test-Management Werkzeug TestLink |
|
| Neuer 'Best Practices' Teil im Handbuch |
|
|
Eclipse/SWT Unterstützung für die aktuellsten Versionen inklusive GEF
|
|
| Inkrementelle Suche in allen Textfeldern von QF-Test |
|
| Ergebnislisten für komplexe Operationen |
|
| Komponenteninspektor zeigt Methoden und Felder von Komponenten an |
|
| Optionen können auf Skriptebene gesetzt werden |
|
| Relative und Testsuite-lokale Prozeduren |
|
| Neue 'Check' Knoten und Checker API für eigene Checks |
|
| Statische Validierung von Referenzen |
|
| Automatische Parametrisierung von Prozeduren |
|
| Persistente Lesezeichen und nicht-persistente Markierungen |
|
|
Neue APIs: ItemResolver, Checker,
ClassNameResolver und TestRunListener
|
Version 3.2.0 - 25. März 2010
Neue Features:
|
|
Die Unterstützung für Eclipse/SWT wurde auf den Stand der aktuellen Versionen 3.5.2 und
3.6M6 gebracht.
|
|
|
Die Hervorhebung von Swing Komponenten erfolgt nicht mehr durch den Austausch von
Vorder- und Hintergrundfarbe, sondern durch Übermalen mit einem farbigen Rechteck analog
zu SWT und Web. Hierbei werden nun auch Unterelemente gekennzeichnet.
|
|
|
Der neue 'Check Boolean' Knoten mit 'Check type identifier' Attribut 'visible' ist
analog zu einem 'Warten auf Komponente' Knoten, wird aber im Gegensatz zu diesem im
Report als Check aufgeführt und hat andere Standardwerte für die Ergebnisbehandlung.
|
|
|
Die zuletzt angesprochene Komponente und gegebenenfalls das zugehörige Unterelement
können in Groovy und Jython 'SUT Skript' Knoten nun mittels
rc.getLastComponent() und rc.getLastItem() abgefragt werden.
|
|
|
Die Auswahl einer Datei zum Upload in einem Web-Formular kann nun unter Windows direkt
aufgenommen und wiedergegeben werden. Für eine plattformunabhängige Wiedergabe muss im
Moment weiterhin die Prozedur qfs.web.input.fileUpload aus der
Standardbibliothek qfs.qft aufgerufen werden.
|
|
|
Die Ergebnislisten für komplexe Operationen wurden um weitere Funktionen ergänzt. Sie
können nun z.B. die eigentliche Ersetzung aus der Ergebnisliste für den "Ersetzen"
Dialog vornehmen oder mehrere fehlgeschlagene Checks auf einmal aus der Fehlerliste
eines Protokolls heraus aktualisieren. Zudem werden die Listen für eine länger dauernde
Operation nun kontinuierlich gefüllt und die Operation kann bei Bedarf abgebrochen
werden.
|
|
|
Zuletzt verwendete Suchausdrücke werden nun in der Anwender-Konfigurationsdatei
gespeichert.
|
|
|
'Abhängigkeit' Knoten in 'Packages' werden nun in pkgdok Dokumenten aufgeführt,
sofern sie nicht im Batchmodus über das Kommandozeilenargument
-pkgdoc.dependencies oder die entsprechende interaktive Option unterdrückt
werden.
|
Beseitigte Bugs:
|
|
Rechts-Klicks für in Javascript implementierte Popups müssen nicht länger als harte
Events wiedergegeben werden, um das Popup zuverlässig auszulösen.
|
|
|
Bei der Aufnahme von Checks wird nun die Z-Order von DOM Knoten korrekt berücksichtigt,
so dass nicht länger eigentlich verdeckte Knoten im Hintergrund aufgezeichnet werden.
|
Version 3.1.4 - 9. Februar 2010
Neue Features:
|
|
Es ist nicht länger nötig, Standard JDKs und JREs zu instrumentieren, wobei eine
bereits vorhandene Instrumentierung nicht schadet.
|
|
|
Es wird nun die aktuelle Eclipse/SWT Version 3.6 unterstützt.
|
|
|
Es wird nun Firefox 3.6 unterstützt.
|
|
|
Der neue Teil II 'Best Practices' im Handbuch beschreibt empfohlene
Vorgehensweisen basierend auf Erfahrungen aus Kundenprojekten und Feedback von
Anwendern. Diese werden Sie hoffentlich dabei unterstützen, die beste Strategie zum
Einsatz von QF-Test in Ihrem eigenen Projekt zu finden.
|
|
|
Reports wurden umstrukturiert und weiter ausgebaut. 'Check' Knoten haben nun ein
optionales 'Name' Attribut für ihre Darstellung im Report. Zudem wurde die
Performance der Report-Generierung drastisch verbessert und ihr Speicherverbrauch
reduziert.
|
|
|
Die Baumdarstellung in Protokollen zeigt nun expandierte Werte anstelle von Variablen.
Dies kann über das Menü »Ansicht« eingestellt werden.
|
|
|
Protokolle werden nun noch effizienter kompaktifiziert und enthalten spezielle Einträge
als Platzhalter für Knoten, die dabei entfernt wurden.
|
|
|
Unterstützung für das Eclipse Graphical Editing Framework (GEF) ist nun standardmäßig
aktiviert. Sie funktioniert nun auch mit mehreren GEF Editoren gleichzeitig.
|
|
|
Die neue Prozedur qfs.web.input.fileUpload in der Standardbibliothek
qfs.qft unterstützt INPUT:FILE Knoten in den
verschiedenen Browser-Varianten.
|
|
|
Die TestLink Integration wurde vereinfacht.
|
|
|
Bei Swing und SWT Tabellen und mehrspaltigen Bäumen können nun ganze Zeilen auf einmal
geprüft werden.
|
|
|
ExtraFeatureResolver können nun auch für SWT und Swing verwendet werden.
|
|
|
Die Standardbibliothek qfs.qft enthält nun Prozeduren auf Basis des autowin
Moduls. Mit diesen kann unter Windows auf Existenz eines Fensters geprüft und dieses
geschlossen werden.
|
|
|
Auf die Run-ID des aktuellen Testlaufs kann nun mittels ${qftest:runid} zugegriffen
werden.
|
|
|
Spezielle Variablen und Properties vom Typ Gruppe:Name können nun für
'Characteristic variables' verwendet werden.
|
|
|
Bei Knoten wie 'Testschritt' oder 'Testfallsatz' mit mehreren Reitern für
Variablendefinitionen, insbesondere 'Testschritt', wird nun die Zahl der gebundenen
Variablen in den Reitern dargestellt, so dass diese sehr viel leichter wiederzufinden
sind.
|
Beseitigte Bugs:
|
|
Mehrere Ursachen für Abstürze im IE wurden beseitigt.
|
|
|
Warten auf Abwesenheit funktioniert nun korrekt mit unsichtbaren Knoten.
|
|
|
QF-Test blockiert nicht mehr so leicht, wenn ein SUT sehr viele Ausgaben erzeugt und die
JTextArea im Terminal mit der Anzeige nicht hinterher kommt.
|
|
|
Der interne Variablenstapel von QF-Test konnte in einigen speziellen Fällen durcheinander
geraten.
|
|
|
Bei der Aufnahme von Prozeduren werden '_' Zeichen in Package- oder Klassennamen nun
korrekt behandelt.
|
Version 3.1.3 - 1. Dezember 2009
Neue Features:
|
|
Der neue 'Testschritt' Knoten dient zur weiteren Strukturierung und Dokumentation von
Tests unterhalb von 'Testfall' Knoten. 'Testschritte' werden im Report einzeln
aufgeführt, sofern dies nicht mittels -report.teststeps verhindert wird.
Ein ähnlicher Effekt kann durch Markieren von beliebigen Knoten mit dem Doctag @teststep
erzielt werden, dem optional ein Name für den Knoten folgen kann.
|
|
|
Im Report können nun auch Checks (standardmäßig aus) und Warnungen (mit Ausnahme von
Warnungen zur Wiedererkennung von Komponenten, standardmäßig an) integriert in die
Testschritte aufgelistet werden. Außerdem werden Icons für Knoten dargestellt. Die
entsprechenden Einstellungen können mittels -report.checks,
-report.warnings und -report.nodeicons im Batchmodus
vorgenommen bzw. die jeweiligen Optionen im Dialog zur interaktiven Erstellung
ausgewählt werden.
|
|
|
In der Workbench-Ansicht gibt es nun ein Kontextmenü für die Testsuite-Reiter.
|
|
|
Alle 'Comment' Attribute können nun analog zu Skripten in einem externen Editor
bearbeitet werden.
|
|
|
Im Protokoll-Fenster gibt es neue Buttons in der Werkzeugleiste zur Navigation zum
nächsten bzw. vorhergehenden Fehler oder Warnung.
|
|
|
Die inkrementelle Suche scrollt bei Treffern nun intelligenter. Zudem kann das
durchsuchte Textfeld nun über die Tasten [Hoch],
[Runter], [Bild hoch] und [Bild runter] gescrollt werden.
|
|
|
'Abhängigkeiten' können nun optional in einem Namensraum aufgelöst werden, so dass
verschiedene Sätze von Abhängigkeiten für unabhängige Teile eines Tests verwendet werden
können, ohne dass die Abhängigkeiten einander in die Quere kommen. Weitere Informationen
finden Sie beim Attribut 'Dependency namespace'.
|
Beseitigte Bugs:
|
|
Durch die verwendete JIDE Bibliothek funktioniert die neue Workbench-Ansicht nicht mit
JDK 1.4. Sie wird nun beim Start von QF-Test mit einem 1.4 JDK automatisch deaktiviert.
|
|
|
Verschiedene Exceptions, die durch die neue Workbench-Ansicht und die Dialoge mit den
Mehrfach-Ergebnissen verursacht wurden, sind
nun beseitigt.
|
|
|
Text Checks für das SWT Group Widget fehlten.
|
|
|
Das automatische Scrollen von Webseiten für Abbild Checks und die Wiedergabe von harten
Events funktioniert nun korrekt.
|
|
|
Das Untermenü für Marken im Popup Menü konnte manchmal leer sein.
|
Patch 3.1.2-p1 - 20. Oktober 2009
Beseitigte Bugs:
|
|
In der neuen Workbench-Ansicht konnte QF-Test bezüglich der aktuell geladenen Testsuites
durcheinander kommen und dadurch eine Testsuite mehrfach laden, was zu verwirrendem
Verhalten und teilweise auch Exceptions führen konnte.
|
|
|
Der neue Mechanismus zur SWT-Instrumentierung behandelte immer nur ein Plugin, so dass
bei einer Eclipse-basierten Anwendung mit SWT Plugins für mehrere Plattformen das Plugin
für die aktuelle Plattform eventuell unverändert blieb.
|
|
|
Ein Aufruf von stopRun konnte den gemeinsamen RunContext im QF-Test Daemon
unbrauchbar machen.
|
Version 3.1.2 - 15. Oktober 2009
Neue Features:
|
|
Es wird nun die aktuelle Eclipse/SWT Version 3.5.1 unterstützt.
|
|
|
Wir haben begonnen, spezielle Unterstützung für verschiedene AJAX Web Toolkits zu
implementieren, darunter Ext GWT, Ext JS, GWT, qooxdoo und RAP. Statt einer tief
verschachtelten Hierarchie von <DIV> Knoten arbeitet QF-Test nun mit dem eigentlichen
"Rich Interface" aus Buttons, Labels, Trees, etc. Für Informationen, wie Sie dieses
Feature im aktuellen Stadium aktivieren, wenden Sie sich bitte an QFS.
|
|
|
QF-Test unterstützt nun die Interaktion mit dem Open Source Test-Management Werkzeug
TestLink.
|
|
|
QF-Test startet nun standardmäßig in der neuen "Workbench-Ansicht", in der alle offenen
Testsuites als Reiter dargestellt werden. Dieses Feature befindet sich noch in der
Entwicklung. Wenn es Probleme verursachen sollte oder wenn Sie die alte Sichtweise mit
mehreren Fenstern bevorzugen, können Sie über das »Ansicht« Menü
darauf zurückschalten.
|
|
|
Die neue Funktion »Referenzen analysieren« im Kontextmenü eines
Knotens dient zur statischen Validierung einer Testsuite. Sie kann die Existenz der
Zielknoten von 'Prozeduraufrufen', 'Testaufrufe',
'Bezüge auf Abhängigkeiten' und von Verweisen auf 'Komponenten' überprüfen.
|
|
|
Operationen, die nach mehreren Knoten suchen oder mehrere Knoten verändern, zeigen nun
als Ergebnis einen Dialog mit einer Liste dieser Knoten an. Sie können von dort direkt
zu diesen Knoten springen oder Marken für bestimmte oder alle diese Knoten setzen.
|
|
|
Knoten in einer Testsuite können nun mit verschiedenfarbigen Marken versehen werden, um
diese leichter zu finden und schnell navigieren zu können. Marken können entweder
individuell über das Menü »Bearbeiten«-»Marken« oder das Kontextmenü gesetzt werden, oder von einem
Dialog mit einer Knoten-Ergebnisliste.
|
|
|
Alle Textfelder, Terminals etc. in QF-Test Oberfläche können nun lokal durchsucht werden.
Drücken Sie hierzu [Strg-F] während das Feld den
Tastaturfokus besitzt.
|
|
|
Der neue Komponenteninspektor ermittelt Felder und Methoden von Swing oder SWT
Komponenten sowie Javascript Properties von DOM Knoten in einem Web-Client und stellt
diese übersichtlich dar.
|
|
|
Nachdem Sie eine Sequenz aufgenommen und in eine 'Prozedur' transformiert haben,
können Sie QF-Test durch Auswahl von »Knoten parameterisieren«
in deren Kontextmenü anweisen, automatisch Parameter für die Prozedur aus den enthaltenen
Knoten zu extrahieren.
|
|
|
Die Eclipse/SWT Instrumentierung mittels der 'Prozedur'
qfs.qft#qfs.swt.instrument.setup baut nun ein instrumentiertes Plugin aus
dem Original und den QF-Test spezifischen Beigaben. Damit ist es nun möglich, auch selbst
erstellte SWT Plugins oder solche von inoffiziellen Eclipse Versionen zu
instrumentieren, für die QF-Test kein exakt passendes Plugin mitbringt.
|
|
|
Event Knoten können nun in einen 'Warten auf Komponente' Knoten transformiert werden.
|
|
|
Das Tastaturkürzel für die 'Wiederherstellen' Operation wurde von [Strg-R] zu [Strg-Y] umdefiniert. In den
letzten Jahren hat sich letzteres als allgemeiner Standard etabliert.
|
|
|
Die Warnung bezüglich verschachtelter Ausführung von 'Testfall' Knoten kann nun über
die Option "Warnung bei verschachtelten Testfällen ausgeben" unterdrückt werden.
|
|
|
Wenn eine Webseite gescrollt werden muss, um einen harten Event oder einen Abbild-Check
ausführen zu können, erledigt QF-Test das nun selbst via Javascript und verlässt sich nicht
mehr auf die internen Mechanismen der Browser, welche die Darstellung komplett über den
Haufen werfen können.
|
|
|
Die Erkennung einer Komponente auf Basis der Geometrie kann nun verhindert werden, indem
für Position und Größe im 'Komponente' Knoten ein '-' eingetragen wird.
|
|
|
Es ist jetzt möglich, nur eines der Attribute 'Insgesamt' oder
'Index' in einem 'Komponente' Knoten anzugeben und das
andere zu ignorieren.
|
Beseitigte Bugs:
|
|
Beim Ersetzen eines Regulären Ausdrucks mit einem leeren String über den Ersetzen-Dialog
kam es zu einer Exception.
|
|
|
Die Funktion, um 'Prozeduraufrufe' oder 'Bezüge auf Abhängigkeiten' relativ zu
machen, funktionierte noch nicht zuverlässig.
|
|
|
Beim Verschieben von mehreren 'Prozeduren' konnte die automatische Korrektur der
'Prozeduraufrufe' in speziellen Fällen scheitern.
|
|
|
Die Aufnahme von Prozeduren funktioniert nun auch für abgeleitete Klassen mit speziellem
ClassLoader korrekt.
|
|
|
Bei der Erstellung von Reports können Warnungen durch Angabe von
-report.warnings=false im Batchmodus oder die entsprechende Option im
interaktiven Dialog komplett unterdrückt werden.
|
|
|
Die Aufnahme eines Klicks auf eine editierbare Zelle einer SWT Tabelle konnte dazu
führen, dass der Editor für die Zelle in der falschen Tabellenzeile aktiviert wurde.
|
|
|
'Index auslesen' Knoten waren für SWT nicht implementiert.
|
|
|
Das Entfernen oder Markieren von ungenutzten Komponenten, Imports und andere komplexe
Operationen auf Komponenten konnten fehlschlagen, wenn sich in der Testsuite ein
'Datentabelle' Knoten ohne Spalten oder mit leeren Zellen befand.
|
Zusatz für Eclipse/SWT 3.5.1 - 30. September, 2009
Neue Features:
|
|
Dieser Zusatz bietet Unterstützung für Eclipse/SWT 3.5.1 "Galileo".
|
Version 3.1.1 - 28. July 2009
Inkompatible Änderungen:
|
|
Die unten beschriebenen Änderungen am Checkmechanismus sind vollständig
rückwärtskompatibel. Allerdings kann eine Testsuite, die mit QF-Test 3.1.1 gespeichert
wurde, mit älteren Versionen nicht mehr korrekt ausgeführt werden - mit Ausnahme von QF-Test
Version 3.0.3, die explizit bidirektionale Kompatibilität für dieses Feature bietet.
Wenn Sie QF-Test 3.1.1 einführen, können Sie also parallel ohne Probleme mit Version 3.0.3
arbeiten, sollten aber ältere Versionen wie 3.1.0 oder 3.0.2 nicht mehr verwenden.
|
Neue Features:
|
|
Der Übergang auf den neuen Checkmechanismus ist nun abgeschlossen. Das Erstellen eigener
Checker ist vollständig dokumentiert und
diese können nun für alle Check-Datentypen erstellt werden. Alle 'Check' Knoten
haben nun ein 'Name des Check-Typs' Attribut und die alten 'Check editable', 'Check enabled'
und 'Check selected' Knoten wurden durch 'Check Boolean' Knoten mit
entsprechendem 'Name des Check-Typs' ersetzt.
|
|
|
Es können nun Lesezeichen für Testsuiten, Protokolle und einzelne Knoten in einer
Testsuite definiert werden, so dass diese direkt über das neue Untermenü »Datei«-»Lesezeichen« angesprungen werden
können.
|
|
|
Der neue ClassNameResolver ist zwar auch für SWT und Swing Anwendungen
verwendbar, bedeutet aber vor allem einen wichtigen Meilenstein für das Testen von AJAX
basierten Webanwendungen. Mit seiner Hilfe und der neuen pseudo Klassenhierarchie für
DOM Knoten kann eine tief verschachtelte Hierarchie von DIV
Knoten in eine prägnante Hierarchie mit ausdrucksstarken Klassennamen verwandelt werden,
welche die Komponentenerkennung drastisch verbessern.
|
|
|
'Prozeduren' können nun über das Untermenü »Knoten parameterisieren« im Popupmenü des 'Prozedur' Knotens automatisch parametrisiert
werden. Dieses Feature ist gerade in Arbeit und benötigt noch einiges an Feinabstimmung,
wir hoffen daher auf Feedback.
|
|
|
Beim Erstellen von testdoc Dokumentation ist es nun möglich, 'Testaufruf' Knoten zu
verfolgen und die referenzierten Ziele, also 'Testfall', 'Testfallsatz' oder ganze
Testsuite, so eizubinden, als wären sie Teil der Ausgangssuite. Aktivieren lässt sich
dies über das Kommandozeilenargument -testdoc.followcalls im Batchmodus
oder die entsprechende Option im Dialog bei interaktiver Generierung.
|
|
|
Es werden nun einige zusätzlich Varianten zum Konvertieren, Ein- und Auspacken von
Knoten angeboten.
|
Beseitigte Bugs:
|
|
Es wurden einige Probleme mit geteilten Protokollen beseitigt. Einträge konnten in
Kombination mit kompakten Protokollen verloren gehen, wenn ein geteiltes Protokoll nicht
als ZIP Datei gespeichert wurde oder wenn geteilte Protokolle deaktiviert, das Attribut
'Name für separates Protokoll' aber definiert waren.
|
|
|
DaemonTestRunListener funktionierten im asynchronen Modus nicht korrekt.
|
|
|
Bei der Reportgenerierung wurden Abbilder für fehlgeschlagene 'Check Elemente'
immer gespeichert, selbst wenn der Check nur zur Ablaufsteuerung diente und es sich
nicht um einen eigentlichen Fehler handelte.
|
|
|
Bei Verwendung der neuen regulären Ausdrücke von Java konnten im 'Ersetzen' Dialog
spezielle Ersetzungen auf Basis von Regexps nicht ausgeführt werden.
|
|
|
Bei der Bestimmung der Eindeutigkeit von "id" Attributen zur Verwendung als Name war
QF-Test etwas zu strikt, so dass nicht alle potentiellen Namen zugewiesen wurden.
|
|
|
Die JDK Instrumentierung funktioniert nun auch für ein OpenJDK Verzeichnis.
|
|
|
Beim Warten auf ein neues Dokument wurde das Attribut 'Name des Browser-Fensters'
nicht korrekt berücksichtigt.
|
|
|
Beim Warten auf das Ende eines Downloads wurde immer die gesamte Wartezeit verbraucht.
|
|
|
In sehr seltenen Fällen konnte das Abspielen einer Texteingabe eine SWT Anwendung unter
Linux zum Absturz bringen.
|
|
|
Änderungen an Optionen mittels rc.setOption() wurden im SUT wieder
zurückgesetzt, wenn Optionen interaktiv über den Dialog geändert wurden.
|
|
|
Die Wiedergabe von Events für SWT MenuItems war mit Gtk 2.4 unter RedHat
Enterprise Linux 4 nicht zuverlässig.
|
|
|
Die Jython Module ktable und gef für die entsprechenden SWT
Komponenten waren nicht korrekt an die neuen ItemResolver und
Checker Mechanismen angepasst.
|
|
|
QF-Test erkennt nun korrekt die modalste SWT Shell, wenn mehrere modale
Shells gleichzeitig geöffnet sind.
|
Patch 3.1.0-p1 - 25. Juni 2009
Neue Features:
|
|
Der Hauptgrund für diese Patch-Version ist die Unterstützung für Eclipse 3.5 "Galileo".
|
Version 3.1.0 - 19. Mai 2009
Inkompatible Änderungen:
|
|
QF-Test verwendet nun standard Java reguläre Ausdrücke, die wesentlich mächtiger sind als
das alte GNU Regexp Package. Ein grundlegender Unterschied ist, dass '{' und '}'
Sonderzeichen für Java Regexps sind, die eventuell mit '\' geschützt werden müssen.
Notfalls können Sie über die Option "Alte GNU Regexps verwenden (vor QF-Test Version
3.1)" auf das GNU Regexp Package zurückschalten.
|
|
|
Im Gegensatz zu Mozilla behandelt der Internet Explorer eine lokale Navigation zu einem
Anker auf der aktuellen Seite wie eine normale Navigation, so dass bisher auch dafür ein
'Warten auf Laden des Dokuments' Knoten aufgenommen wurde, dessen Wiedergabe für Mozilla
fehlschlägt. QF-Test behandelt diese Situation nun einheitlich, indem es die zusätzliche IE
Navigation ignoriert. Folglich schlagen 'Warten auf Laden des Dokuments' Knoten für lokale Navigation
nun fehl und müssen aus Ihren Tests entfernt werden.
|
Neue Features:
|
|
Der von QF-Test für das Webtesten eingebettete Browser unterstützt mit JDK
1.6.0_10 und höher seinerseits die Einbettung von Java Applets, so dass QF-Test nun auch die
Interaktion einer Webanwendung mit dem darin enthaltenen Applet testen kann.
|
|
|
Viele der Optionen von QF-Test, insbesondere solche mit Einfluss auf die Testausführung,
können nun zur Laufzeit über die Runcontext Methode rc.setOption gesetzt
werden.
|
|
|
Beim Verschieben von 'Prozedur', 'Abhängigkeit' oder 'Testfall' Knoten können
Referenzen auf diese Knoten nun automatisch angepasst werden. Ebenso wird verfahren,
wenn die Namen solcher Knoten, bzw. die 'Id' von 'Komponente' Knoten, über den
Ersetzen Dialog modifiziert werden. Als zusätzliches Feature wurden die spezielle
Variablengruppe ${id:...} und die Runcontext Methode rc.id eingeführt, über
die beliebiger Text als Definition einer Komponenten-Id gekennzeichnet werden kann,
welche bei Änderungen der Komponente automatisch aktualisiert wird.
|
|
|
'Prozeduraufrufe' aus einer 'Prozedur' zu einer anderen 'Prozedur' in der
gleichen 'Package' Hierarchie können nun auch relative Prozedurnamen verwenden. Zudem
können 'Prozeduren' und 'Packages' nun durch Voranstellen eines '_' Zeichens als
lokal für Ihre Testsuite markiert werden.
|
|
|
Der Auswahldialog für 'Prozedur', 'Abhängigkeit' oder 'Testfall' Knoten zeigt
nun auch die Bemerkung des ausgewählten Knotens. Zudem können nun mehrere Knoten
selektiert werden, um so mehrere Aufrufe auf einmal einzufügen.
|
|
|
Ein 'Prozeduraufruf' für eine 'Prozedur' kann nun auch erstellt werden, indem der
'Prozedur' Knoten kopiert und an einer Stelle eingefügt wird, an der 'Prozeduren'
nicht erlaubt sind, also praktisch überall dort, wo ein 'Prozeduraufruf' stehen kann.
Auch Drag&Drop wird mit dem selben Effekt unterstützt.
|
|
|
Es ist nun möglich, direkt mit der Javascript Engine des Browsers zu interagieren und
dort beliebige Skripte über die Methoden DomNode.toJs,
DomNode.evalJs und DocumentNode.evalJs auszuführen.
|
|
|
Nach Auftreten eines Fehlers oder einer Exception enthält das Protokoll nun auch einen
Stacktrace Knoten, der alle Knoten auf dem Ausführungsstapel inklusive der von ihnen
gebundenen Variablen anzeigt, vergleichbar mit der Variablen-Darstellung im
Debugger-Fenster.
|
|
|
Es gibt ein neues API für verschiedene Arten von Resolvern und Checkern, darunter ein
ItemResolver Interface zur Implementierung eigener Unterelemente von custom
Komponenten und ein Checker Interface für eigene Checks, die genauso
aufgenommen und wiedergegeben werden können, wie die standard Checks von QF-Test.
|
|
|
Das neue TestRunListener API dient zur Überwachung von Testläufen auf
Skript-Ebene. Das analoge DaemonTestRunLister Interface erweitert diese
Möglichkeit auf QF-Test's Daemon API.
|
|
|
Die Unterstützung für Eclipse/SWT wurde auf den Stand des aktuellen Eclipse Milestone
3.5M7 gebracht.
|
|
|
Die Runcontext Methode rc.callProcedure funktioniert nun auch - mit den
üblichen Einschränkungen - aus einem 'SUT Skript' für eine Webanwendung.
|
|
|
Die Ausführung eines 'Testfalls' oder 'Testfallsatzes' kann nun mittels der Runcontext
Methoden rc.skipTestCase, rc.skipTestSet,
rc.stopTestCase und rc.stopTestSet übersprungen oder
abgebrochen werden, z.B. um Zeit zu sparen und überflüssige Fehlermeldungen zu
verhindern, wenn eine Abhängigkeit nicht aufgelöst werden kann.
|
|
|
Der Name des aktuell ausgeführten 'Testfalls' kann nun über die speziellen Variablen
${qftest:testcase.name}, ${qftest:testcase.qname} und ${qftest:testcase.reportname}
ermittelt werden.
|
|
|
Über die neuen Methoden setProperty und getProperty der Klasse
Node aus QF-Test's pseudo DOM API für Webanwendungen können nun beliebige
Daten mit einem DOM Knoten assoziiert werden, ohne dabei die Webanwendung selbst zu
beeinflussen.
|
|
|
Das neue Kommandozeilenargument -ping für qftest -batch
-calldaemon hilft bei der Überprüfung ob ein QF-Test Daemon läuft und auf Anfragen
reagiert.
|
Beseitigte Bugs:
|
|
Für SUTs unter Mac OS X wird die Benutzung der Bildschirm-Menüleiste unterdrückt, um
sauberes Aufnehmen/Wiedergeben zu erlauben.
|
|
|
Das Aktivieren einer Engine-Lizenz im Optionen-Dialog funktioniert nun korrekt.
|
|
|
Bei der Aufnahme von 'Prozeduren' wird nun immer ein neues 'Package' erstellt
anstatt die 'Prozeduren' in ein eventuell bestehendes 'Package' namens
"procbuilder" zu integrieren.
|
Version 3.0.3 - 28. Juli 2009
Neue Features:
|
|
Die Behandlung von 'Check' Knoten ist in beide Richtungen kompatibel mit QF-Test
Version 3.1.1, in welcher Checks gründlich überarbeitet wurden. QF-Test Version 3.0.3 kann
Testsuiten laden, ausführen und speichern, die mit Version 3.1.1 erstellt wurden, ohne
dass dabei Informationen verloren gehen.
|
Beseitigte Bugs:
|
|
Es wurden einige Probleme mit geteilten Protokollen beseitigt. Einträge konnten in
Kombination mit kompakten Protokollen verloren gehen, wenn ein geteiltes Protokoll nicht
als ZIP Datei gespeichert wurde oder wenn geteilte Protokolle deaktiviert, das Attribut
'Name für separates Protokoll' aber definiert waren.
|
|
|
Bei der Bestimmung der Eindeutigkeit von "id" Attributen zur Verwendung als Name war
QF-Test etwas zu strikt, so dass nicht alle potentiellen Namen zugewiesen wurden.
|
|
|
Die JDK Instrumentierung funktioniert nun auch für ein OpenJDK Verzeichnis.
|
|
|
Beim Warten auf ein neues Dokument wurde das Attribut 'Name des Browser-Fensters'
nicht korrekt berücksichtigt.
|
|
|
Beim Warten auf das Ende eines Downloads wurde immer die gesamte Wartezeit verbraucht.
|
|
|
Eine Lizenz für eine Engine lässt sich nun korrekt im Optionen Dialog aktivieren.
|
|
|
In sehr seltenen Fällen konnte das Abspielen einer Texteingabe eine SWT Anwendung unter
Linux zum Absturz bringen.
|
|
|
Für SUTs unter Mac OS X wird die Benutzung der Bildschirm-Menüleiste unterdrückt, um
sauberes Aufnehmen/Wiedergeben zu erlauben.
|
Patch 3.0.2-p2 - 25. Juni 2009
Neue Features:
|
|
Der Hauptgrund für diese Patch-Version ist die Unterstützung für Eclipse 3.5 "Galileo".
|
Beseitigte Bugs:
|
|
Die Wiedergabe von Events für SWT MenuItems war mit Gtk 2.4 unter RedHat
Enterprise Linux 4 nicht zuverlässig.
|
|
|
QF-Test erkennt nun korrekt die modalste SWT Shell wenn mehrere modale
Shells gleichzeitig geöffnet sind.
|
Patch 3.0.2-p1 - 14. April 2009
Beseitigte Bugs:
|
|
In QF-Test Version 3.0.2 wurden eventuell vorhandene harte TAB Zeichen in einem Jython oder
Groovy Skript schon bei der Anzeige durch Leerzeichen ersetzt, so dass ein solcher
Knoten sofort als modifiziert eingestuft wurde. Diese Änderung wurde nun zurückgenommen.
|
|
|
Mit JDK 1.6 wurden einige von QF-Test's Dialogen nicht mit der korrekten Größe dargestellt.
|
Version 3.0.2 - 27. März 2009
Neue Features:
|
|
Es werden nun auch die Eclipse/SWT Versionen 3.5M6 und 3.4.2 unterstützt.
|
|
|
Die Klasse DaemonRunContext aus QF-Test's Daemon API besitzt nun die neue
Methode callProcedure. Diese und die bestehende Methode
runTest unterstützen nun auch die direkte Übergabe von Parametern.
|
Beseitigte Bugs:
|
|
'Warten auf Laden des Dokuments' Knoten für Web-Clients funktionierten im Fall mehrerer
geöffneter Browserfenster nicht zuverlässig.
|
|
|
Die Überprüfung des enabled/disabled Zustands einer Komponente findet nun auch bei
Webanwendungen statt.
|
|
|
Für Web-Clients wird nun auch die Aufnahme und Wiedergabe von MOVED und SIZED Events
unterstützt.
|
|
|
QF-Test führt jetzt regelmäßig eine Garbage Collection durch, um zu verhindern, dass der
Speicher im sogenannten PermGen Space knapp wird, einer speziellen Region, die vielen
Java Anwendungen Probleme bereitet. Für das SUT kann diese Garbage Collection mittels
der Option 'Automatisch Garbage Collection im SUT durchführen' unterdrückt werden.
|
|
|
Das Verwerfen und neu Erstellen eines SWT Displays wird nun korrekt
behandelt.
|
|
|
Abgeleitete SWT Widgets, die als anonyme innere Klasse
implementiert sind, wurden in speziellen Fällen nicht richtig erkannt, was zu einer
ComponentNotFoundException führen konnte.
|
|
|
Für Check Knoten mit langer Wartezeit wird die Überprüfung auf Deadlocks nun
entsprechend angepasst.
|
|
|
Die Testsuite zur Demonstration der Anbindung an die Imbus TestBench wurde aktualisiert,
an die akutelle TestBench Version angepasst und verarbeitet geteilte Protokolle nun
korrekt.
|
Version 3.0.1 - 23. Januar 2009
Neue Features:
|
|
Der Jython und Groovy Runcontext rc bietet nun die Methoden
getBool, getInt, getNum und
getString zum einfacheren Auslesen von typisierten Variablen in Skripten.
|
|
|
Proxy-Einstellungen für eine Web-Anwendung können nun direkt im Schnellstart-Assistenten
oder über die Prozedur qfs.web.browser.settings.setProxy in der
Standardbibliothek qfs.qft angegeben werden.
|
|
|
Die Template-Datei für die automatische Erstellung von Prozeduren wurde um einen Eintrag
für Swing JInternalFrame Komponenten ergänzt.
|
Beseitigte Bugs:
|
|
Webtesten mit Mozilla unter Linux ist nicht mehr auf JDK 1.4 beschränkt.
|
|
|
Die Funktion zum Aktualisieren von Komponenten konnte bei Webseiten mit tief
verschachtelten Tabellen zu doppelt vergebenen IDs von Komponenten führen.
|
|
|
Das Links-Nach-Rechts-Binden von Werten in 'Datentabelle' und anderen 'Daten'
Knoten funktioniert nun korrekt.
|
|
|
SQL-Abfragen in 'Database' Knoten funktionierten nicht mit Oracle
Datenbanken, da sie von QF-Test automatisch mit einem ';' Zeichen abgeschlossen wurden.
Dieses geschieht nun nicht mehr, wenn Ihre Datenbank einen solchen Abschluss von
Abfragen benötigt, müssen Sie das ';' Zeichen selbst angeben.
|
|
|
Die Prozedur qfs.swt.instrument.setup verwendet nun - sofern verfügbar -
immer die exakt passende Version des SWT Plugins zur Instrumentierung. Dies ist wichtig
für SWT 3.4, bei dem die Versionen 3.4.0 und 3.4.1 wechselseitig inkompatibel sind.
|
|
|
Beim Aufnehmen von Prozeduren konnte ein '$' Zeichen in einem Feld des SUT zu einer
Exception führen.
|
|
|
Das Laden von Groovy Klassen und das Parsen von Groovy Skripten wurde beschleunigt, für
manche Fälle - speziell Applets - drastisch.
|
|
|
Eine gefangene Exception unterhalb eines 'Finally' Knotens in einem
'Try' Knoten konnte den Fehlerstatus einer vorher in einem
'Catch' Knoten gefangenen Exception durcheinander bringen.
|
|
|
Die Demo-Testsuite swt_addressbook.qft basierte noch auf SWT 3.1, welches
nicht mehr mit QF-Test ausgeliefert wird. Diese Suite wurde auf SWT 3.4 umgestellt.
|
Version 3.0.0 - 5. Dezember 2008
Wichtige neue Features:
|
|
Plattform- und browserübergreifendes Webtesten mit Unterstützung für web2.0/AJAX.
|
|
|
Anbindung an HP/Mercury Quality Center und Imbus TestBench.
|
|
|
Groovy als zweite Skriptsprache.
|
|
|
Neue Jython Version 2.2.1.
|
|
|
Verbesserter Jython und Groovy Skripteditor mit Syntaxhervorhebung.
|
|
|
Automatische Erstellung von Basisprozeduren.
|
|
|
Erweiterte und vereinheitlichte Funktionalität von 'Check...' und 'Warten auf...' Knoten.
|
|
|
Direkte Unterstützung für negierte Checks.
|
|
|
Geteilte Protokolle ermöglichen lang laufende Tests ohne Speicherprobleme.
|
|
|
64-Bit Unterstützung für SWT unter Windows und Linux.
|
|
|
Erweiterungen und ein externer Treiber für das Daemon API.
|
|
|
Neues Konzept: "Erwarteter Fehler" für 'Testfall' Knoten.
|
|
|
Koordination und Dokumentation von manuellen Tests.
|
|
|
Erweitertes Undo.
|
|
|
Immediate und Lazy Binding von Variablen.
|
|
|
Image API zum Erstellen und Speichern von Screenshots.
|
|
|
Verschlüsselung von Text zur Eingabe in Kennwort-Felder.
|
|
|
Rekursives Sortieren und Transformieren von Knoten.
|
|
|
Verbesserte Suche mit Hervorhebung der Ergebnisse.
|
|
|
Erweiterungen für die Standardbibliothek qfs.qft.
|
|
|
Neue Kapitel im Tutorial für weiterführende Features.
|
|  |