Handbuch

Abbildungsverzeichnis
2
Bedienung von QF-Test
2.1  Struktur einer Testsuite
2.2  Einfügemarkierung
2.3  Beispieltabelle
2.4  Der Dialog für die einfache Suche
2.5  Der fortgeschrittene Suchdialog
2.6  Resultatsliste von 'Referenzen finden'
2.7  Die inkrementelle Suche
2.8  Der Ersetzen Dialog
2.9  Der Rückfrage Dialog beim Ersetzen
2.0+
3
Schnellstart Ihrer Anwendung
3.1  Der Schnellstart-Assistent
3.2  Startsequenz als Resultat des Schnellstart-Assistenten
3.3  Information zu genutzten GUI-Technologien
4
Aufnahme und Wiedergabe
4.1  Gesperrter und aktivierbarer Aufnahmeknopf
5
Komponenten
5.1  Komponenten eines GUI
5.2  Komponentenhierarchie eines Swing SUT
5.3  Pseudo Klassenhierarchie für Elemente von Webanwendungen
5.4  Komponenten aktualisieren Dialog
6
Unterelemente komplexer GUI Komponenten
6.1  Ein 'Element' für ein Tabellenfeld
6.2  Extra Feature Attribute für die Komponentenerkennung anhand von XPath oder CSS-Selektoren.
7
Variablen
7.1  Direkte Zuordnungen und Defaultwerte
7.2  System Variablen
7.3  Variablen Beispiel
7.4  Beispiel zu Variablenbindungen
8
Problemanalyse und Debugging
8.1  Ein einfacher Test und sein Protokoll
8.2  Fehlerzustände im Protokoll
9
Aufbau und Organisation einer Testsuite
9.1  Struktur einer Testsuite
9.2  Teststruktur mit einfacher 'Vorbereitung' und 'Aufräumen'
9.3  Ausführungsreihenfolge bei einfacher Vorbereitung und Aufräumen
9.4  'Packages' und 'Prozeduren'
9.5  Stapel von Abhängigkeiten A-B-C
9.6  Typischer 'Vorbereitung' Knoten
9.7  Stapel von Abhängigkeiten A-B-D-E
9.8  'Charakteristische Variablen'
9.9  Fehlereskalation in 'Abhängigkeiten'
9.10  Typischer 'Aufräumen' Knoten
9.11  Beispiel 'Testfallsatz' für Namensräume
9.12  Abhängigkeitenbehandlung für Testfall Datenerfassung durch Anwender A
9.13  Abhängigkeitenbehandlung für Testfall Angebotserstellung durch Anwender C
9.14  Abhängigkeitenbehandlung für Testfall Angebot 1 im Archiv prüfen
9.15  Abhängigkeitenbehandlung für Testfall Datenerfassung durch Anwender B
9.16  Abhängigkeitenbehandlung für Testfall Angebotserstellung durch Anwender D
9.17  Abhängigkeitenbehandlung für Testfall Angebot 2 im Archiv prüfen
3.5+
10
Projekte
10.1  Die Projektansicht
11
Standardbibliothek
11.1  Standardbibliothek qfs.qft
12
Skripting
12.1  Detailansicht eines 'Server Skript' Knotens mit Hilfefenster für rc-Methoden
12.2  Übersicht über die verschiedenen Variablen in QF-Test
13
Unit Tests
13.1  Unit Test-Knoten mit Java-Klassen
13.2  Beispiel eines 'Unit Test' Knotens mit Injections
13.3  Beispiel eines 'Unit Test'-Knotens mit WebDriver-Injections
13.4  Unit Test Report
15
Testen von PDF Dokumenten
15.1  PDF Client Hauptfenster mit geöffnetem PDF Dokument
15.2  Check Text 'default' Aufnahme
15.3  Check Text 'Text positioniert' Aufnahme
15.4  Check Abbild 'default' Aufnahme eines Text Objekts
15.5  Check Abbild 'default' Aufnahme eines Image Objekts
15.6  Check Abbild 'unskaliert' Aufnahme eines Image Objekts
15.7  Check Abbild 'skaliert' Aufnahme eines Image Objekts
16
Testen von Webdiensten
16.1  Die vom Browser abgesetzte HTTP GET Anfrage
16.2  Die GET Antwort des Webservers
17
Datengetriebenes Testen
17.1  Ein einfacher datengetriebener Test
17.2  Beispiel einer 'Datentabelle'
17.3  Protokoll eines datengetriebenen Tests
17.4  Datengetriebene Tests mit verschachtelten Schleifen
17.5  Zweites Beispiel einer 'Datentabelle'
17.6  Protokoll eines datengetriebenen Tests mit verschachtelten Schleifen
18
Reports und Testdokumentation
18.1  Beispiel Report
19
Testausführung
19.1  Dialog zur Wiederausführung von Testfällen
20
Verteilte Entwicklung von Tests
20.1  Ergebnis einer Analyse
3.0+
21
Automatisierte Erstellung von Basisprozeduren
21.1  Aufgezeichnete Prozeduren
21.2  Die Procedure Builder Definitionsdatei
3.0+
22
Anbindung an Testmanagementtools
22.1  Integration mit ALM - Quality Center
22.2  QF-Test VAPI-XP-TEST Testfall in HP ALM - Quality Center
22.3  Im Testplan einen neuen Testfallsatz anlegen
22.4  Test vom Typ VAPI-XP-TEST anlegen
22.5  HP VAPI-XP Wizard
22.6  VAPI-XP-TEST Details
22.7  Template in Textbereich des Skripts kopieren
22.8  Neuer Testfallsatz im Testlabor
22.9  Test zu Ausführung hinzufügen
22.10  Ausführung des Tests
22.11  Testresultat
22.12  Hochgeladenes Protokoll
22.13  Skript Debuglauf
22.14  QF-Test Protokoll in QMetry
23
Integration mit Entwickler-Tools
23.1  Eclipse Plugin Konfiguration - Reiter "Main"
23.2  Eclipse Plugin Konfiguration - Reiter "Settings"
23.3  Eclipse Plugin Konfiguration - Reiter "Initial Settings"
23.4  Jenkins nach dem Start.
23.5  QF-Test Plugin installiert.
23.6  Verzeichnis des Arbeitsbereichs anpassen.
23.7  Build-Schritt hinzufügen.
23.8  Erweitere Optionen für den Build-Schritt.
23.9  Post-Build-Aktionen konfigurieren.
24
Schlüsselwortgetriebenes bzw. Keyword-Driven Testing mit QF-Test
24.1  Exceldatei fachliche Schlüsselwörter
24.2  Testsuite fachliche Schlüsselwörter
24.3  Prozedur fillDialog
24.4  Exceldatei generische Komponenten
24.5  Testsuite generische Komponenten
24.6  Testsuite Behavior-Driven Testing technisch
24.7  Testsuite Behavior-Driven Testing fachlich
24.8  Exceldatei als Szenariodatei
24.9  Testsuite Szenariodateien
25
Durchführung von Lasttests mit QF-Test
25.1  Lasttest Szenario
25.2  Übersicht Lasttest Umgebung
25.3  Die Beispieltestsuite daemonController_twoPhases.qft
25.4  Der Aufruf von rc.syncThreads in der Beispieltestsuite
3.0+
26
Ausführung manueller Tests mit QF-Test
26.1  Beispiel für einen ManualStepDialog
27
Steuern und Testen von nativen Windows Anwendungen
27.1  UI Automation Prozeduren in der Standardbibliothek
27.2  Die WPF Demo-Applikation
27.3  Hilfemenü
27.4  Fehlgeschlagener Image check im Protokoll
30
Organisation von Testsuiten
30.1  Struktur mit mehreren Testsuiten
30.2  'Include' Bereich von Ebene 1 Testsuiten
30.3  Struktur von Testsuiten mit Rollen
32
Wie erreicht man eine robuste Komponentenerkennung?
32.1  Standardeinstellung Komponentenaufzeichnung
32.2  Standardeinstellungen für die Wiedergabe
32.3  'Name übertrifft alles' Einstellung für die Aufzeichnung
32.4  'Name übertrifft alles' Einstellung für das Abspielen
32.5  Ein regulärer Ausdruck im 'Merkmal' Attribut
32.6  Option um nur Systemklassen aufzuzeichnen
35
Einstellungen
35.1  Optionen Baumstruktur
35.2  Allgemeine Optionen
35.3  Editieren
35.4  Projekte
35.5  Lesezeichen
35.6  Optionen für Externe Programme
35.7  Optionen für Sicherungskopien
35.8  Bibliothekspfad Option
35.9  Lizenz Optionen
35.10  Optionen für Updates
35.11  Aufnahme Optionen
35.12  Optionen für die Aufnahme von Events
35.13  Optionen für das Packen von Events
35.14  Ziehen in ein Untermenü
35.15  Option für die Aufnahme von Komponenten
35.16  Popupmenü zum Aufnehmen von Komponenten
35.17  Option für die Aufnahme von Unterelementen
35.18  Procedure Builder Optionen
35.19  Wiedergabe Optionen
35.20  Client Optionen
35.21  Terminal options
35.22  Optionen zur Eventbehandlung
35.23  Optionen zur Wiedererkennung
35.24  Verzögerungsoptionen
35.25  Timeout Optionen
35.26  Optionen für Wiedergabe Rückwärtskompatibilität
35.27  Web Optionen
35.28  Optionen für HTTP Requests
35.29  Optionen für Web Rückwärtskompatibilität
35.30  Debugger Optionen
35.31  Protokoll Optionen
35.32  Optionen für den Inhalt von Protokollen
35.33  Optionen für Verweise zwischen Verzeichnissen mit Testsuiten
35.34  Variablen Optionen
36
Bestandteile einer Testsuite
36.1  'Testsuite' Attribute
36.2  'Testfall' Attribute
36.3  'Testfallsatz' Attribute
36.4  'Testaufruf' Attribute
36.5  'Sequenz' Attribute
36.6  'Testschritt' Attribute
36.7  'Sequenz mit Zeitlimit' Attribute
36.8  'Extrasequenzen' Attribute
36.9  'Abhängigkeit' Attribute
36.10  'Bezug auf Abhängigkeit' Attribute
36.11  'Vorbereitung' Attribute
36.12  'Aufräumen' Attribute
36.13  'Fehlerbehandlung' Attribute
36.14  'Datentreiber' Attribute
36.15  'Datentabelle' Attribute
36.16  'Datenbank' Attribute
36.17  'Excel Datei' Attribute
36.18  'CSV Datei' Attribute
36.19  'Datenschleife' Attribute
36.20  'Prozedur' Attribute
36.21  'Prozeduraufruf' Attribute
36.22  'Return' Attribute
36.23  'Package' Attribute
36.24  'Prozeduren' Attribute
36.25  'Schleife' Attribute
36.26  'While' Attribute
36.27  'Break' Attribute
36.28  'If' Attribute
36.29  'Elseif' Attribute
36.30  'Else' Attribute
36.31  'Try' Attribute
36.32  'Catch' Attribute
36.33  'Finally' Attribute
36.34  'Throw' Attribute
36.35  'Rethrow' Attribute
36.36  'Server Skript' Attribute
36.37  'SUT Skript' Attribute
36.38  'Java SUT Client starten' Attribute
36.39  'SUT Client starten' Attribute
36.40  'Programm starten' Attribute
36.41  'Web-Engine starten' Attribute
36.42  'Browser-Fenster öffnen' Attribute
36.43  'Shellkommando ausführen' Attribute
36.44  'PDF Client starten' Attribute
36.45  'Warten auf Client' Attribute
36.46  'Programm beenden' Attribute
36.47  'Warten auf Programmende' Attribute
36.48  'Mausevent' Attribute
36.49  'Tastaturevent' Attribute
36.50  'Texteingabe' Attribute
36.51  'Fensterevent' Attribute
36.52  'Komponentenevent' Attribute
36.53  'Auswahl' Attribute
36.54  'Dateiauswahl' Attribute
36.55  'Check Text' Attribute
36.56  'Check Boolean' Attribute
36.57  'Check Elemente' Attribute
36.58  'Check selektierbare Elemente' Attribute
36.59  'Check Abbild' Attribute
36.60  'Check Geometrie' Attribute
36.61  'Text auslesen' Attribute
36.62  'Index auslesen' Attribute
36.63  'Geometrie auslesen' Attribute
36.64  'Variable setzen' Attribute
36.65  'Warten auf Komponente' Attribute
36.66  'Warten auf Laden des Dokuments' Attribute
36.67  'Warten auf Ende des Downloads' Attribute
36.68  'Ressourcen laden' Attribute
36.69  'Properties laden' Attribute
36.70  'Unit Test' aus einem Skript ohne Verwendung eines Clients
36.71  'Unit Test' aus Java-Klassen mit Verwendung eines Clients
36.72  'Server HTTP Request' Attribute
36.73  'Browser HTTP Request' Attribute
36.74  'Fenster' Attribute
36.75  'Webseite' Attribute
36.76  'Komponente' Attribute
36.77  'Element' Attribute
36.78  'Fenstergruppe' Attribute
36.79  'Komponentengruppe' Attribute
36.80  'Fenster und Komponenten' Attribute
36.81  'Test' Attribute
40
Starten einer Applikation aus QF-Test
40.1  Starten des SUT aus einem Skript oder ausführbaren Programm
40.2  Starten des SUT mittels Java WebStart
40.3  Starten des SUT als Applet in einem Web Browser
40.4  Starten des SUT aus einem jar Archiv
40.5  Starten des SUT über die Startklasse
40.6  Starten einer Webanwendung im Browser
40.7  Öffnen eines PDF Dokuments
41
JDK und SWT Instrumentierung
41.1  Dialog zur JDK Instrumentierung
44
Besondere Features für Webanwendungen
44.1  Webseitenuntersuchung im Firefox
44.2  Verbesserung durch Zuweisung des Beispiels vom WebCarConfigurator
44.3  WebCarConfigurator
44.4  Verbesserung durch einfache Klassenzuweisung
44.5  Aufzeichnung des '-5%' Buttons im WebCarConfigurator
44.6  Aufzeichnung mit genericClasses im WebCarConfigurator
44.7  Verbesserung durch fortgeschrittene Klassenzuweisung
44.8  Aufzeichnung der SPAN Komponenten
44.9  Aufzeichnung der Textfelder des WebCarConfigurator
44.10  Verbesserung durch Zuweisung komplexer Komponenten
44.11  Aufzeichnung einer Tabelle im WebCarConfigurator
44.12  Aufzeichnung einer aufgelösten Tabelle im WebCarConfigurator
44.13  Verbesserung durch Zuweisung des Beispiels vom WebCarConfigurator
3.3+
50
Details des Algorithmus zum Bildvergleich
50.1  Ausgangsbild
50.2  Klassischer Bildvergleich
50.3  Pixelbasierter Vergleich
50.4  Pixelbasierte Ähnlichkeitsanalyse
50.5  Blockbildung mit Vergleich
50.6  Blockbildung mit Ähnlichkeitsanalyse
50.7  Häufigkeitsanalyse mittels Histogramm
50.8  Bildanalyse mittels Diskreter Kosinustransformation
50.9  Blockbildung zur Bildanalyse mittels Diskreter Kosinustransformation
50.10  Bilinearer Filter
50.11  Bild-in-Bild Suche: Erwartetes Abbild
50.12  Bild-in-Bild Suche: Erhaltenes Abbild
3.2+
51
Resultatslisten
51.1  Ergebnis von 'Referenzen finden'
A
FAQ - Häufig gestellte Fragen
A.1  Maximalen Speicher für Browser setzen
C
Tastaturkürzel
C.1  Tastaturhelfer