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
Datengetriebenes Testen
16.1  Ein einfacher datengetriebener Test
16.2  Beispiel einer 'Datentabelle'
16.3  Protokoll eines datengetriebenen Tests
16.4  Datengetriebene Tests mit verschachtelten Schleifen
16.5  Zweites Beispiel einer 'Datentabelle'
16.6  Protokoll eines datengetriebenen Tests mit verschachtelten Schleifen
17
Reports und Testdokumentation
17.1  Beispiel Report
18
Testausführung
18.1  Dialog zur Wiederausführung von Testfällen
19
Verteilte Entwicklung von Tests
19.1  Ergebnis einer Analyse
3.0+
20
Automatisierte Erstellung von Basisprozeduren
20.1  Aufgezeichnete Prozeduren
20.2  Die Procedure Builder Definitionsdatei
3.0+
21
Anbindung an Testmanagementtools
21.1  Integration mit ALM - Quality Center
21.2  QF-Test VAPI-XP-TEST Testfall in HP ALM - Quality Center
21.3  Im Testplan einen neuen Testfallsatz anlegen
21.4  Test vom Typ VAPI-XP-TEST anlegen
21.5  HP VAPI-XP Wizard
21.6  VAPI-XP-TEST Details
21.7  Template in Textbereich des Skripts kopieren
21.8  Neuer Testfallsatz im Testlabor
21.9  Test zu Ausführung hinzufügen
21.10  Ausführung des Tests
21.11  Testresultat
21.12  Hochgeladenes Protokoll
21.13  Skript Debuglauf
21.14  QF-Test Protokoll in QMetry
22
Integration mit Entwickler-Tools
22.1  Eclipse Plugin Konfiguration - Reiter "Main"
22.2  Eclipse Plugin Konfiguration - Reiter "Settings"
22.3  Eclipse Plugin Konfiguration - Reiter "Initial Settings"
22.4  Jenkins nach dem Start.
22.5  QF-Test Plugin installiert.
22.6  Verzeichnis des Arbeitsbereichs anpassen.
22.7  Build-Schritt hinzufügen.
22.8  Erweitere Optionen für den Build-Schritt.
22.9  Post-Build-Aktionen konfigurieren.
23
Schlüsselwortgetriebenes bzw. Keyword-Driven Testing mit QF-Test
23.1  Exceldatei fachliche Schlüsselwörter
23.2  Testsuite fachliche Schlüsselwörter
23.3  Prozedur fillDialog
23.4  Exceldatei generische Komponenten
23.5  Testsuite generische Komponenten
23.6  Testsuite Behavior-Driven Testing technisch
23.7  Testsuite Behavior-Driven Testing fachlich
23.8  Exceldatei als Szenariodatei
23.9  Testsuite Szenariodateien
24
Durchführung von Lasttests mit QF-Test
24.1  Lasttest Szenario
24.2  Übersicht Lasttest Umgebung
24.3  Die Beispieltestsuite daemonController_twoPhases.qft
24.4  Der Aufruf von rc.syncThreads in der Beispieltestsuite
3.0+
25
Ausführung manueller Tests mit QF-Test
25.1  Beispiel für einen ManualStepDialog
26
Steuern und Testen von nativen Windows Anwendungen
26.1  UI Automation Prozeduren in der Standardbibliothek
26.2  Die WPF Demo-Applikation
26.3  Hilfemenü
26.4  Fehlgeschlagener Image check im Protokoll
29
Organisation von Testsuiten
29.1  Struktur mit mehreren Testsuiten
29.2  'Include' Bereich von Ebene 1 Testsuiten
29.3  Struktur von Testsuiten mit Rollen
31
Wie erreicht man eine robuste Komponentenerkennung?
31.1  Standardeinstellung Komponentenaufzeichnung
31.2  Standardeinstellungen für die Wiedergabe
31.3  'Name übertrifft alles' Einstellung für die Aufzeichnung
31.4  'Name übertrifft alles' Einstellung für das Abspielen
31.5  Ein regulärer Ausdruck im 'Merkmal' Attribut
31.6  Option um nur Systemklassen aufzuzeichnen
34
Einstellungen
34.1  Optionen Baumstruktur
34.2  Allgemeine Optionen
34.3  Editieren
34.4  Projekte
34.5  Lesezeichen
34.6  Optionen für Externe Programme
34.7  Optionen für Sicherungskopien
34.8  Bibliothekspfad Option
34.9  Lizenz Optionen
34.10  Aufnahme Optionen
34.11  Optionen für die Aufnahme von Events
34.12  Optionen für das Packen von Events
34.13  Ziehen in ein Untermenü
34.14  Option für die Aufnahme von Komponenten
34.15  Popupmenü zum Aufnehmen von Komponenten
34.16  Option für die Aufnahme von Unterelementen
34.17  Procedure Builder Optionen
34.18  Wiedergabe Optionen
34.19  Client Optionen
34.20  Terminal options
34.21  Optionen zur Eventbehandlung
34.22  Optionen zur Wiedererkennung
34.23  Verzögerungsoptionen
34.24  Timeout Optionen
34.25  Optionen für Wiedergabe Rückwärtskompatibilität
34.26  Web Optionen
34.27  Optionen für HTTP Requests
34.28  Optionen für Web Rückwärtskompatibilität
34.29  Debugger Optionen
34.30  Protokoll Optionen
34.31  Optionen für den Inhalt von Protokollen
34.32  Optionen für Verweise zwischen Verzeichnissen mit Testsuiten
34.33  Variablen Optionen
35
Bestandteile einer Testsuite
35.1  'Testsuite' Attribute
35.2  'Testfall' Attribute
35.3  'Testfallsatz' Attribute
35.4  'Testaufruf' Attribute
35.5  'Sequenz' Attribute
35.6  'Testschritt' Attribute
35.7  'Sequenz mit Zeitlimit' Attribute
35.8  'Extrasequenzen' Attribute
35.9  'Abhängigkeit' Attribute
35.10  'Bezug auf Abhängigkeit' Attribute
35.11  'Vorbereitung' Attribute
35.12  'Aufräumen' Attribute
35.13  'Fehlerbehandlung' Attribute
35.14  'Datentreiber' Attribute
35.15  'Datentabelle' Attribute
35.16  'Datenbank' Attribute
35.17  'Excel Datei' Attribute
35.18  'CSV Datei' Attribute
35.19  'Datenschleife' Attribute
35.20  'Prozedur' Attribute
35.21  'Prozeduraufruf' Attribute
35.22  'Return' Attribute
35.23  'Package' Attribute
35.24  'Prozeduren' Attribute
35.25  'Schleife' Attribute
35.26  'While' Attribute
35.27  'Break' Attribute
35.28  'If' Attribute
35.29  'Elseif' Attribute
35.30  'Else' Attribute
35.31  'Try' Attribute
35.32  'Catch' Attribute
35.33  'Finally' Attribute
35.34  'Throw' Attribute
35.35  'Rethrow' Attribute
35.36  'Server Skript' Attribute
35.37  'SUT Skript' Attribute
35.38  'Java SUT Client starten' Attribute
35.39  'SUT Client starten' Attribute
35.40  'Programm starten' Attribute
35.41  'Web-Engine starten' Attribute
35.42  'Browser-Fenster öffnen' Attribute
35.43  'Shellkommando ausführen' Attribute
35.44  'PDF Client starten' Attribute
35.45  'Warten auf Client' Attribute
35.46  'Programm beenden' Attribute
35.47  'Warten auf Programmende' Attribute
35.48  'Mausevent' Attribute
35.49  'Tastaturevent' Attribute
35.50  'Texteingabe' Attribute
35.51  'Fensterevent' Attribute
35.52  'Komponentenevent' Attribute
35.53  'Auswahl' Attribute
35.54  'Dateiauswahl' Attribute
35.55  'Check Text' Attribute
35.56  'Check Boolean' Attribute
35.57  'Check Elemente' Attribute
35.58  'Check selektierbare Elemente' Attribute
35.59  'Check Abbild' Attribute
35.60  'Check Geometrie' Attribute
35.61  'Text auslesen' Attribute
35.62  'Index auslesen' Attribute
35.63  'Geometrie auslesen' Attribute
35.64  'Variable setzen' Attribute
35.65  'Warten auf Komponente' Attribute
35.66  'Warten auf Laden des Dokuments' Attribute
35.67  'Warten auf Ende des Downloads' Attribute
35.68  'Ressourcen laden' Attribute
35.69  'Properties laden' Attribute
35.70  'Unit Test' aus einem Skript ohne Verwendung eines Clients
35.71  'Unit Test' aus Java-Klassen mit Verwendung eines Clients
35.72  'Server HTTP Request' Attribute
35.73  'Browser HTTP Request' Attribute
35.74  'Fenster' Attribute
35.75  'Webseite' Attribute
35.76  'Komponente' Attribute
35.77  'Element' Attribute
35.78  'Fenstergruppe' Attribute
35.79  'Komponentengruppe' Attribute
35.80  'Fenster und Komponenten' Attribute
35.81  'Test' Attribute
39
Starten einer Applikation aus QF-Test
39.1  Starten des SUT aus einem Skript oder ausführbaren Programm
39.2  Starten des SUT mittels Java WebStart
39.3  Starten des SUT als Applet in einem Web Browser
39.4  Starten des SUT aus einem jar Archiv
39.5  Starten des SUT über die Startklasse
39.6  Starten einer Webanwendung im Browser
39.7  Öffnen eines PDF Dokuments
40
JDK und SWT Instrumentierung
40.1  Dialog zur JDK Instrumentierung
43
Besondere Features für Webanwendungen
43.1  Webseitenuntersuchung im Firefox
43.2  Verbesserung durch Zuweisung des Beispiels vom WebCarConfigurator
43.3  WebCarConfigurator
43.4  Verbesserung durch einfache Klassenzuweisung
43.5  Aufzeichnung des '-5%' Buttons im WebCarConfigurator
43.6  Aufzeichnung mit genericClasses im WebCarConfigurator
43.7  Verbesserung durch fortgeschrittene Klassenzuweisung
43.8  Aufzeichnung der SPAN Komponenten
43.9  Aufzeichnung der Textfelder des WebCarConfigurator
43.10  Verbesserung durch Zuweisung komplexer Komponenten
43.11  Aufzeichnung einer Tabelle im WebCarConfigurator
43.12  Aufzeichnung einer aufgelösten Tabelle im WebCarConfigurator
43.13  Verbesserung durch Zuweisung des Beispiels vom WebCarConfigurator
3.3+
49
Details des Algorithmus zum Bildvergleich
49.1  Ausgangsbild
49.2  Klassischer Bildvergleich
49.3  Pixelbasierter Vergleich
49.4  Pixelbasierte Ähnlichkeitsanalyse
49.5  Blockbildung mit Vergleich
49.6  Blockbildung mit Ähnlichkeitsanalyse
49.7  Häufigkeitsanalyse mittels Histogramm
49.8  Bildanalyse mittels Diskreter Kosinustransformation
49.9  Blockbildung zur Bildanalyse mittels Diskreter Kosinustransformation
49.10  Bilinearer Filter
49.11  Bild-in-Bild Suche: Erwartetes Abbild
49.12  Bild-in-Bild Suche: Erhaltenes Abbild
3.2+
50
Resultatslisten
50.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