Handbuch

Table of contents
Preface
How to use this manual
Table of contents
List of figures
List of tables
I
User manual
1
Installation and startup
1.1System requirements
1.1.1Prime precondition
1.1.2Supported technology versions
1.2Windows Installation
1.2.1Installing via the Windows setup file QF-Test-4.2.5.exe
1.2.2Unpacking the self-extracting archive QF-Test-4.2.5-sfx.exe
1.2.3Completing the installation and configuring Java
1.3Linux/Unix Installation
1.4macOS Installation
1.5The license file
1.6The configuration files
1.7Starting QF-Test
1.8Firewall Security Warning
2
The user interface
2.1The test-suite
2.2Basic editing
2.2.1Navigating the tree
2.2.2Insertion marker
2.2.3Moving nodes
2.2.4Transforming nodes
2.2.5Tables
2.2.6Packing and Unpacking
2.2.7Sorting Nodes
2.3Advanced editing
2.3.1Searching
2.3.2Replacing
2.3.3Complex searches and replace operations
2.3.4Multiple views
3
Quickstart your application
2.0+3.1Quickstart Wizard
3.1.1Setup sequence creation
3.1.2Executing the setup sequence
3.1.3Troubleshooting
3.2Program output and the Clients menu
3.3An application started indirectly from an already connected SUT
4
Capture and replay
4.1Recording sequences
4.2Running tests
4.3Recording checks
4.4Recording components
4.5Recording of HTTP Requests (GET/POST)
5
Components
5.1GUI component hierarchy
5.2'Components' in QF-Test
5.3'QF-Test IDs'
5.4Component class
4.0+5.4.1Generic classes
5.4.2Class hierarchy for web applications
5.4.3Settings for class recording
3.1+5.5 Component inspection
5.6The importance of naming components
5.7Considerations for setting names
5.8Updating 'Components'
5.9Troubleshooting component recognition problems
5.10Accessing hidden fields on a web page
6
Sub-items of complex GUI components
6.1'Item' nodes
6.2The 'QF-Test ID' of an 'Item'
6.3Special 'QF-Test ID'-syntax for direct element access
6.3.1Accessing simple subcomponents
4.0+6.3.2Addressing multi-level sub-items
6.4Activating item recording for web tables
7
Variables
7.1Variable lookup
7.2Defining variables
7.3Variable example
7.4Fetching data from the GUI
7.5External data and special groups
7.6Expressions
3.0+7.7Immediate and lazy binding
8
Problem analysis and debugging
8.1The run-log
8.1.1Error states
8.1.2Navigating the run-log tree
8.1.3Accepting values of failed checks as good
3.0+8.1.4Split run-logs
8.1.5Run-log options
3.3+8.1.6Creating a test-suite from the run-log
4.1+8.1.7Merging run-logs
8.2The debugger
8.2.1Entering the debugger
8.2.2The debugger window
8.2.3Debugger commands
8.2.4Manipulating breakpoints
9
Organizing the test-suite
9.1Test-suite structure
9.2'Test-set' and 'Test-case' nodes
2.0+9.2.1 Test management with 'Test-set' and 'Test-case' nodes
9.2.2Concept
9.2.3Variables and special attributes
9.3'Sequence' and 'Test-step' nodes
9.4'Setup' and 'Cleanup' nodes
9.5'Procedures' and 'Packages'
3.1+9.5.1Local 'Procedures' and 'Packages'
3.1+9.5.2Relative 'Procedures'
9.5.3Inserting 'Procedure call' nodes
3.1+9.5.4Parameterizing nodes
3.0+9.5.5Transforming a 'Sequence' into a 'Procedure'
9.6'Dependency' nodes
9.6.1Concept
9.6.2Usage of 'Dependencies'
9.6.3'Dependency' execution and 'Dependency' stack
9.6.4'Characteristic variables'
9.6.5'Forced cleanup'
9.6.6Rolling back 'Dependencies'
9.6.7Error escalation
9.6.8Error handling
9.6.9Name spaces for Dependencies
9.7Documenting test-suites
3.5+
10
Projects
11
The standard library
12
Scripting
12.1General
12.2The run-context rc
12.2.1Logging messages
12.2.2Performing checks
12.2.3Variables
12.2.4Accessing the SUT's GUI components
12.2.5Calling 'Procedures'
3.1+12.2.6Setting options
12.2.7Override components
12.3Fundamentals of the Jython integration
12.3.1Modules
12.3.2Post-mortem debugging of Jython scripts
12.3.3Boolean type
12.3.4Character encodings
12.3.5Getting the name of a Java class
12.3.6A complex example
12.4Scripting with Groovy
12.4.1Groovy packages
12.5Scripting with JavaScript
12.5.1JavaScript imports
12.5.2NPM modules
12.5.3Print statements
12.5.4Execution
13
Unit Tests
13.1Java Classes as the Source for the Unit Test
13.2Basics of the Test Scripts
13.2.1Groovy Unit Tests
13.2.2Jython Unit Tests
13.2.3JavaScript Unit-Test
13.3Injections
13.3.1Component-Injections
13.3.2WebDriver-Injections
13.4Unit Tests in Report
14
Web testing
14.1Web testing using QF-Driver connection mode
14.2Website Testing using WebDriver
14.2.1WebDriver in general
14.2.2WebDriver with Microsoft Edge
14.2.3WebDriver with Safari
14.2.4Known limitations of the WebDriver mode
14.3Web-Tests without visible Window
15
Testing PDF documents
15.1PDF Client
15.1.1PDF Client start
15.1.2PDF Client window
15.2PDF events
15.2.1Open a PDF document
15.2.2Switch page
15.3Checks for PDF components
15.3.1'Check text'
15.3.2'Check image'
15.3.3'Check Font'
15.3.4'Check Font size'
15.4PDF component types
15.5PDF component recognition
16
Data-driven testing
16.1Data-driver examples
16.2General use of 'Data drivers'
16.3Examples for 'Data drivers'
16.4Advanced use
17
Reports and test documentation
17.1Reports
17.1.1Report concepts
17.1.2Report contents
17.1.3Creating reports
17.2Testdoc documentation for 'Test-sets' and 'Test-cases'
17.3Pkgdoc documentation for 'Packages', 'Procedures' and 'Dependencies'
18
Test execution
18.1Test execution in batch mode
18.1.1Command line usage
18.1.2Windows batch script
3.0+18.1.3Groovy
18.2Executing tests in daemon mode
18.2.1Launching the daemon
3.0+18.2.2Controlling a daemon from QF-Test's command line
18.2.3Controlling a daemon with the daemon API
4.1+18.3Re-execution of nodes (Re-run)
18.3.1Triggering re-run from a run-log
18.3.2Re-running failing nodes immediately
19
Distributed test development
19.1Referencing nodes in another test-suite
19.2Managing 'Components'
19.3Merging test-suites
19.3.1Importing Components
3.3+19.3.2 Importing Procedures and Testcases
19.4Strategies for distributed development
3.1+19.5Static validation of test-suites
19.5.1Avoiding invalid references
4.0.3+19.5.2Unused procedures
3.0+
20
Automated Creation of Basic Procedures
20.1Introduction
20.2How to use the Procedure Builder
20.3Configuration of the Procedure Builder
20.3.1The Procedure Builder definition file
3.0+
21
Interaction with Test Management Tools
21.1HP ALM - Quality Center
21.1.1Introduction
21.1.2Step-by-step integration guide
21.1.3Troubleshooting
21.2Imbus TestBench
21.2.1Introduction
21.2.2Creating QF-Test template from interactions
21.2.3Importing test-execution results
21.3QMetry
21.3.1Introduction
21.3.2Sample Configuration
21.4Klaros
21.4.1Introduction
21.4.2Importing QF-Test results into Klaros
21.5SQS-TEST/Professional
21.5.1Introduction
21.5.2Integration
21.6TestLink
21.6.1Introduction
21.6.2Generating template test-suites for QF-Test from test-cases
21.6.3Execution of test-cases
21.6.4Importing QF-Test results into TestLink
22
Integration with Development Tools
22.1Eclipse
22.1.1Installation
22.1.2Configuration of the test nodes
22.2Ant
22.3Maven
3.3+22.4Jenkins/Hudson
22.4.1Install and start Jenkins
22.4.2Requirements for GUI tests
22.4.3Install QF-Test Plugin
22.4.4Configure a job for QF-Test
23
Keyword-driven testing with QF-Test
23.1Introduction
23.2Simple Keyword-driven testing with QF-Test
23.2.1Business-related Procedures
23.2.2Atomic component-oriented procedures
23.3Keyword-driven testing using dynamic or generic components
23.4Behavior-driven testing (BDT)
23.4.1Behavior-Driven Testing (BDT) from technical perspective
23.4.2Behavior-Driven Testing (BDT) from business perspective
23.5Scenario files
23.6Custom test-case description
23.7Adapting to your software
24
Performing GUI-based load tests
24.1Background and comparison with other techniques
24.2Load testing with QF-Test
24.2.1Provision of test-systems
24.2.2Conception of the test-run
24.2.3Preparing test-systems prior to the test-run
24.2.4Test execution
24.2.5Evaluating results
24.3Hints on test execution
24.3.1Synchronization
24.3.2Measuring end-to-end response times
24.4Troubleshooting
3.0+
25
Executing Manual Tests in QF-Test
25.1Introduction
25.2Step-by-step Guide
25.3Structure of the Excel file
25.4The ManualTestRunner test-suite
25.5Results
26
Controlling and testing native Windows applications
26.1Proceeding
26.1.1Starting the application
26.1.2Listing the GUI elements of a window
26.1.3Information on single GUI elements
26.1.4Identifiers for GUI elements
26.1.5Actions on GUI elements
26.2Example
26.2.1Starting the application
26.2.2GUI element information
26.2.3Performing actions on the GUI elements
II
Best Practices
27
Introduction
28
How to start a testing project
28.1Infrastructure and testing environment
28.2Location of files
28.2.1Network installation
28.3Component Recognition
29
Organizing test-suites
29.1Organizing tests
29.2Modularization
29.3Parameterization
29.4Working in multiple test-suites
29.5Roles and responsibilities
29.6Managing components at different levels
29.7Reverse includes
30
Efficient working techniques
3.5+30.1Using QF-Test projects
30.2Creating test-suites from scratch
30.3The standard library qfs.qft
30.4Component storage
30.5Extending test-suites
30.6Working in the script editor
31
How to achieve robust component recognition
31.1Using the default configuration
31.2Using the 'Name overrides everything' mode
31.3Using regular expressions for working with dynamic window titles
31.4Influencing the names by implementing a NameResolver
31.5Handling classes of components
31.5.1Handling class changes due to re-factoring by using 'Record system-classes only'
31.6Avoiding recording every component or using generic components
3.1+31.7 Switching component recognition settings dynamically
32
Hints on setting up test-systems
32.1Using the task scheduler
32.2Remote access to Windows systems
32.3Automated logon on Windows systems
32.4Test execution on Unix
33
Test execution
33.1Dependencies
33.2Timeout vs. delay
33.3What to do if the run-log contains an error
III
Reference manual
34
Options
34.1General options
3.5+34.1.1Projects
34.1.2Editing
34.1.3Bookmarks
34.1.4External tools
34.1.5Backup files
34.1.6Library path
34.1.7License
34.2Recording options
34.2.1Events to record
34.2.2Events to pack
34.2.3Components
34.2.4Recording sub-items
34.2.5Recording procedures
34.3Replay options
34.3.1Client options
34.3.2Terminal options
34.3.3Event handling
34.3.4Component recognition
34.3.5Delays
34.3.6Timeouts
34.3.7Backward compatibility
34.4Web options
34.4.1HTTP Requests
34.4.2Backward compatibility
34.5Debugger options
34.6Run-log options
34.6.1General run-log options
34.6.2Options determining run-log content
4.0+34.6.3Options for mapping between directories with test-suites
34.7Variables
35
Elements of a test-suite
35.1The test-suite and its structure
35.1.1'Test-suite'
35.2Test and Sequence nodes
35.2.1'Test-case'
35.2.2'Test-set'
35.2.3'Test call'
35.2.4'Sequence'
35.2.5'Test-step'
35.2.6'Sequence with time limit'
35.2.7'Extras'
35.3Dependencies
35.3.1'Dependency'
35.3.2'Dependency reference'
35.3.3'Setup'
35.3.4'Cleanup'
35.3.5'Error handler'
35.4Data driver
35.4.1'Data driver'
35.4.2'Data table'
35.4.3'Database'
35.4.4'Excel data file'
35.4.5'CSV data file'
35.4.6'Data loop'
35.5Procedures
35.5.1'Procedure'
35.5.2'Procedure call'
35.5.3'Return'
35.5.4'Package'
35.5.5'Procedures'
35.6Control structures
35.6.1'Loop'
35.6.2'While'
35.6.3'Break'
35.6.4'If'
35.6.5'Elseif'
35.6.6'Else'
35.6.7'Try'
35.6.8'Catch'
35.6.9'Finally'
35.6.10'Throw'
35.6.11'Rethrow'
35.6.12'Server script'
35.6.13'SUT script'
35.7Processes
35.7.1'Start Java SUT client'
35.7.2'Start SUT client'
35.7.3'Start process'
35.7.4'Start web engine'
35.7.5'Open browser window'
35.7.6'Execute shell command'
35.7.7'Start PDF client'
35.7.8'Wait for client to connect'
35.7.9'Stop client'
35.7.10'Wait for process to terminate'
35.8Events
35.8.1'Mouse event'
35.8.2'Key event'
35.8.3'Text input'
35.8.4'Window event'
35.8.5'Component event'
35.8.6'Selection'
35.8.7'File selection'
35.9Checks
35.9.1'Check text'
35.9.2'Boolean check'
35.9.3'Check items'
35.9.4'Check selectable items'
35.9.5'Check image'
35.9.6'Check geometry'
35.10Queries
35.10.1'Fetch text'
35.10.2'Fetch index'
35.10.3'Fetch geometry'
35.11Miscellaneous
35.11.1'Set variable'
35.11.2'Wait for component to appear'
35.11.3'Wait for document to load'
35.11.4'Wait for download to finish'
35.11.5'Load resources'
35.11.6'Load properties'
35.11.7'Unit test'
35.12HTTP Requests
35.12.1'Server HTTP request'
35.12.2'Browser HTTP request'
35.13Windows, Components and Items
35.13.1'Window'
35.13.2'Web page'
35.13.3'Component'
35.13.4'Item'
35.13.5'Window group'
35.13.6'Component group'
35.13.7'Windows and components'
35.14Deprecated nodes
35.14.1'Test'
36
Exceptions
IV
Technical reference
37
Command line arguments and exit codes
37.1Call syntax
37.2Command line arguments
37.2.1Arguments for the starter script
37.2.2Arguments for the Java VM
37.2.3Arguments for QF-Test
37.2.4Placeholders in the filename parameter for run-log and report
37.3Exit codes for QF-Test
38
GUI engines
39
Running an application from QF-Test
39.1Various methods to start the SUT
39.1.1A standalone script or executable file
39.1.2An application launched through Java WebStart
39.1.3An applet in a web browser
39.1.4An application started with java -jar <archive>
39.1.5 An application started with java -classpath <classpath> <class>
39.1.6 A web application in a browser
39.1.7Opening a PDF Document
40
JDK and SWT instrumentation
40.1JDK instrumentation
40.2JDK instrumentation background
40.2.1Modifications to the JDK
40.2.2Effects of the instrumentation
40.3SWT instrumentation
40.3.1Preparation for manual SWT instrumentation
40.3.2Manual SWT instrumentation for eclipse based applications
40.3.3Manual instrumentation for standalone SWT applications
41
Technical details about miscellaneous issues
41.1Drag&Drop
41.2Component recognition
41.3Timing
41.4Regular expressions
41.5Line breaks under Unix and Windows
41.6Quoting and escaping special characters
41.7Include file resolution
42
Scripting (Jython, Groovy and JavaScript)
42.1Module load-path
42.2The plugin directory
42.3The package cache (Jython)
42.4Initialization (Jython)
42.5Namespace environment for script execution (Jython)
42.6Run-context API
42.7The qf module
3.0+42.8Image API
42.8.1The ImageWrapper class
42.9Exception handling
42.10Debugging scripts (Jython)
43
Special features for web applications
43.1Pseudo DOM API
43.1.1The abstract Node class
43.1.2The DocumentNode class
43.1.3The FrameNode class
43.1.4The DomNode class
43.1.5The DialogNode class
4.1+43.2WebDriver SUT API
43.2.1The WebDriverConnection class
43.3Special support for various AJAX toolkits
43.3.1AJAX resolver concepts
43.3.2Supported AJAX toolkits
43.3.3Setting unique IDs
43.3.4Using older versions of AJAX resolvers
43.4Customizing QF-Test for your AJAX toolkit with CustomWebResolver
43.4.1Determining specifics of your web page
43.4.2Example for WebCarConfigurator
44
Extension APIs
44.1The resolvers module
44.1.1Usage
44.1.2Implementation
44.1.3addResolver
44.1.4removeResolver
44.1.5listNames
3.1+44.1.6 The NameResolver Interface
3.1+44.1.7 The ClassNameResolver Interface
4.0+44.1.8 The GenericClassNameResolver Interface
3.1+44.1.9 The FeatureResolver Interface
44.1.10The ExtraFeatureResolver Interface
3.1+44.1.11 The ItemNameResolver Interface
3.1+44.1.12 The ItemValueResolver Interface
44.1.13The TreeTableResolver Interface
44.1.14The InterestingParentResolver Interface
4.1+44.1.15 The TooltipResolver Interface
44.1.16The IdResolver interface
4.1+44.1.17 The EnabledResolver Interface
4.1+44.1.18 The VisibilityResolver Interface
4.1+44.1.19 The MainTextResolver Interface
4.1+44.1.20 The BusyPaneResolver Interfaces
4.1+44.1.21 The GlassPaneResolver Interfaces
4.1+44.1.22 The EventSynchronizer Interface
4.1+44.1.23 The BusyApplicationDetector Interface
44.1.24Matcher
44.2The webResolvers module
44.2.1General Information
44.2.2addResolver
44.2.3removeResolver
44.2.4listNames
44.2.5Examples
44.3The ResolverRegistry
3.1+44.4 Implementing custom item types with the ItemResolver interface
44.4.1ItemResolver concepts
44.4.2The ItemResolver interface
44.4.3The class SubItemIndex
44.4.4The ItemRegistry
44.4.5Default item representations
3.1+44.5 Implementing custom checks with the Checker interface
44.5.1The Checker interface
44.5.2The class Pair
44.5.3 The CheckType interface and its implementation DefaultCheckType
44.5.4The class CheckDataType
44.5.5The class CheckData and its subclasses
44.5.6The CheckerRegistry
44.5.7Custom checker example
3.2+44.6 Working with the Eclipse Graphical Editing Framework (GEF)
44.6.1Recording GEF items
44.6.2Implementing a GEF ItemNameResolver2
44.6.3Implementing a GEF ItemValueResolver2
3.1+44.7Test-run listeners
44.7.1The TestRunListener interface
44.7.2The class TestRunEvent
44.7.3The class TestSuiteNode
4.0.3+44.8ResetListener
44.9DOM processors
44.9.1The DOMProcessor interface
44.9.2The DOMProcessorRegistry
44.9.3Error handling
3.0+44.10Image API extensions
44.10.1The ImageRep class
44.10.2The ImageComparator interface
45
Daemon mode
45.1Daemon concepts
45.2Daemon API
45.2.1The DaemonLocator
45.2.2The Daemon
45.2.3The TestRunDaemon
45.2.4The DaemonRunContext
3.1+45.2.5The DaemonTestRunListener
3.5+45.3Daemon security considerations
45.3.1Creating your own keystore
45.3.2Specifying the keystore
45.3.3Specifying the keystore on the client side
46
The Procedure Builder definition file
46.1Placeholders
4.1.3+46.1.1Fallback values for placeholders
46.2Conditions for Package and Procedure Definition
46.3Interpretation of the Component Hierarchy
3.4+46.4Details about the @CONDITION tag
47
The ManualStepDialog
47.1The ManualStepDialog API
3.1+
48
Details about transforming nodes
48.1Introduction
48.2Transformation with type changes
48.3Additional transformations below the 'Extras' node
48.3.1Transformations without side-effects
48.3.2Transformations with side-effects
3.3+
49
Details about the algorithm for image comparison
49.1Introduction
49.2Description of algorithms
49.2.1Classic image check
49.2.2Pixel-based identity check
49.2.3Pixel-based similarity check
49.2.4Block-based identity check
49.2.5Block-based similarity check
49.2.6Histogram check
49.2.7Analysis with Discrete Cosine Transformation
49.2.8Block-based analysis with Discrete Cosine Transformation
49.2.9Bilinear Filter
49.3Description of special functions
49.3.1Image-in-image search
3.2+
50
Result lists
50.1Introduction
50.2Specific list actions
50.2.1All types of lists
50.2.2Replacing
50.2.3Error list
3.5+50.3Exporting and loading results
4.0+
51
Generic classes
51.1Overview generic classes
51.2Mapping of complex components
51.2.1Mapping of Comboboxes
51.2.2Mapping of Lists
51.2.3Mapping of TabPanels and Accordions
51.2.4Mapping of Tables and TreeTables
51.2.5Mapping of Trees
51.3Properties of generic classes
51.3.1Accordion
51.3.2BusyPane
51.3.3Button
51.3.4Calendar
51.3.5ColorPicker
51.3.6CheckBox
51.3.7Closer
51.3.8Divider
51.3.9ComboBox
51.3.10Expander
51.3.11FileChooser
51.3.12Graphics
51.3.13Icon
51.3.14Indicator
51.3.15Item
51.3.16Label
51.3.17Link
51.3.18List
51.3.19LoadingComponent
51.3.20Maximizer
51.3.21Menu
51.3.22MenuItem
51.3.23Minimizer
51.3.24Popup
51.3.25RadioButton
51.3.26Restore
51.3.27Panel
51.3.28ProgressBar
51.3.29ScrollBar
51.3.30Separator
51.3.31Sizer
51.3.32Slider
51.3.33Spacer
51.3.34Spinner
51.3.35SplitPanel
51.3.36Table
51.3.37TableCell
51.3.38TableFooter
51.3.39TableHeader
51.3.40TableHeaderCell
51.3.41TabPanel
51.3.42TableRow
51.3.43Text
51.3.44TextArea
51.3.45TextField
51.3.46Thumb
51.3.47ToggleButton
51.3.48ToolBar
51.3.49ToolBarItem
51.3.50ToolTip
51.3.51Tree
51.3.52TreeNode
51.3.53TreeTable
51.3.54Window
52
Doctags
52.1Doctags for reporting and documentation
4.2+52.1.1@noreport Doctag
52.2Doctags for test execution
52.3Doctags for Editing
A
FAQ - Frequently Asked Questions
B
Release notes
B.1QF-Test version 4.2
B.1.1Version 4.2.5 - July 11, 2018
B.1.2Version 4.2.4 - June 14, 2018
B.1.3Version 4.2.3 - May 3, 2018
B.1.4Version 4.2.2 - March 9, 2018
B.1.5Version 4.2.1 - February 26, 2018
B.1.6Highlights of version 4.2
B.1.7Changes that can affect test execution
B.1.8Software that is no longer supported
B.1.9Version 4.2.0 - January 10, 2018
B.2QF-Test version 4.1
B.2.1Version 4.1.6 - October 27, 2017
B.2.2Version 4.1.5 - August 9, 2017
B.2.3Version 4.1.4 - June 1, 2017
B.2.4Version 4.1.3 - March 29, 2017
B.2.5Version 4.1.2 - January 13, 2017
B.2.6Version 4.1.1 - November 23, 2016
B.2.7Highlights of version 4.1
B.2.8Changes that can affect test execution
B.2.9Software that is no longer supported
B.2.10Version 4.1.0 - October 6, 2016
B.2.11Version 4.1.0-rc2 - September 2, 2016
B.2.12Version 4.1.0-rc1 - July 29, 2016
B.3QF-Test version 4.0
B.3.1Version 4.0.11 - April 05, 2016
B.3.2Version 4.0.10 - January 28, 2016
B.3.3Version 4.0.9 - December 17, 2015
B.3.4Version 4.0.8 - November 4, 2015
B.3.5Version 4.0.7 - August 27, 2015
B.3.6Version 4.0.6 - July 16, 2015
B.3.7Version 4.0.5 - May 12, 2015
B.3.8Version 4.0.4 - March 5, 2015
B.3.9Version 4.0.3 - January 29, 2015
B.3.10Version 4.0.2-p2
B.3.11Version 4.0.2-p1
B.3.12Version 4.0.2 - October 22, 2014
B.3.13Version 4.0.1 - August 28, 2014
B.3.14Main new features in version 4
B.3.15Version 4.0.0 - July 31, 2014
B.3.16Version 4.0.0-rc1 - July 4, 2014
B.3.17Version 4.0.0-beta3 - May 13, 2014
B.3.18Version 4.0.0-beta2 - April 11, 2014
B.3.19Version 4.0.0-beta1 - March 26, 2014
B.4QF-Test version 3
B.4.1Version 3.5.7 - July 22, 2014
B.4.2Version 3.5.6 - April 29, 2014
B.4.3Version 3.5.5 - February 25, 2014
B.4.4Version 3.5.4 - December 11, 2013
B.4.5Version 3.5.3 - September 17, 2013
B.4.6Version 3.5.2 - July 2, 2013
B.4.7Version 3.5.1 - May 15, 2013
B.4.8Main new features in version 3.5
B.4.9Version 3.5.0 - March 20, 2013
B.4.10Version 3.5M3 - January 8, 2013
B.4.11Version 3.5M2 - November 16, 2012
B.4.12Version 3.5M1 - October 29, 2012
B.4.13Version 3.4.14 - March 20, 2013
B.4.14Version 3.4.13 - January 8, 2013
B.4.15Version 3.4.12 - November 16, 2012
B.4.16Version 3.4.11 - October 4, 2012
B.4.17Version 3.4.10 - August 7, 2012
B.4.18Version 3.4.9 - June 29, 2012
B.4.19Version 3.4.8 - June 5, 2012
B.4.20Version 3.4.7 - April 24, 2012
B.4.21Version 3.4.6 - March 27, 2012
B.4.22Version 3.4.5 - March 12, 2012
B.4.23Version 3.4.4 - January 30, 2012
B.4.24Version 3.4.3 - October 27, 2011
B.4.25Version 3.4.2 - September 15, 2011
B.4.26Version 3.4.1 - July 15, 2011
B.4.27Main new features in version 3.4
B.4.28Version 3.4.0 - May 26, 2011
B.4.29Version 3.4M2 - March 10, 2011
B.4.30Version 3.4M1 - February 3, 2011
B.4.31Version 3.3.0 - November 30, 2010
B.4.32Version 3.2.2 - July 15, 2010
B.4.33Version 3.2.1 - May 11, 2010
B.4.34New features in QF-Test version 3.2
B.4.35Version 3.2.0 - March 25, 2010
B.4.36Version 3.1.4 - February 9, 2010
B.4.37Version 3.1.3 - December 1, 2009
B.4.38Version 3.1.2 - October 15, 2009
B.4.39Version 3.1.1 - July 28, 2009
B.4.40Version 3.1.0 - May 19, 2009
B.4.41Version 3.0.2 - March 27, 2009
B.4.42Version 3.0.1 - January 23, 2009
B.4.43New features in QF-Test version 3 - December 5, 2008
C
Keyboard shortcuts
C.1Navigation and editing
C.2Record and replay functions
C.3Keyboard helper
D
Glossary
E
Third party software