all - ESO

advertisement
Test Automation Tools:
QF-Test and Selenium
by
P. Kratzer / P.Sivera
Software Engineer
ESO
Introduction to QF-Test
• QF-Test is a GUI test tool for Java and
web apps developed by German company
Quality First Software GmbH (QFS)
• Vendor web site: http://www.qfs.de/en/
• QF-Test pages:
http://www.qfs.de/en/qftest/index.html
• Feature checklist:
http://www.qfs.de/en/qftest/checklist.html
Introductions & Demos
• Demo screenshots:
http://www.qfs.de/en/qftest/demos.html
• Demo video (length 8:40 min):
http://www.qfs.de/en/qftest/demovideo.html
• Standard QF-Test library:
http://www.qfs.de/en/qftest/stdlib.html
Typical workflow
to create tests with QF-Test
•
•
•
•
Create new test suite
Define application (SUT) startup
Run SUT (system under test) in QF-Test
In recording mode: perform manual actions
(includes component recognition)
• Check, adapt, parameterize recognized
components (menus, windows, buttons, …)
• Use recorded actions as basis for new
procedure(s), parameterize, …
• Define new test case, specify dependencies and
call required procedures
ALMA-OT Test Implementation
Test Procedures
Test Procedure Detail
Test Documentation
Package Documentation
Short Demo
• Video to show a test set while it runs
• http://www.eso.org/~psivera/VideoOtAndQ
fTest/OtAndQfTestVideoHigherVolumeImp
roved.html
Test Results (Report)
Test Results (Run-Log)
Developers support
• Intervention on the code:
– call during the initialization phase to the
method setName() for all GUI-elements
– event on a thread other than the AWT event
dispatch thread (COMP-5141 and COMP2905) (see
http://en.wikipedia.org/wiki/Event_dispatching
_thread)
• when important changes in the GUI are
planned and are being developed. The
sooner we are informed, the better.
Problems
• GUI test & QF-Test experience required
• Adaptations to client changes
• Component recognition issues, threads
handling (cooperation with developers)
• QF-Test covers basic functionality
but still requires a lot of manual work
Conclusions
• Once the manual work is done and the
SUT is stable enough so that it does not
require a lot of changes at every new
release, the automated tests reveal to be
very useful as regression tests.
• They are configurable, therefore can be
run in whatever environment with
whatever db and user (provided QFTest
licence is available)
Selenium
• http://seleniumhq.org/ : Introduction,
Documentation, Installation and
Download, Tutorials…
• Example of a demo:
– http://vimeo.com/4671653
• Products:
– Selenium IDE
– Selenium RC
– Selenium 2.0
– ...
Selenium IDE
•
•
•
•
Add-On for Firefox
Record and Replay Tool
Access to Selenium commands
Save test cases in Selenese or many
other programming languages
Selenium RC
• Selenium RC components are:
– The Selenium Server which launches and kills
browsers, interprets and runs the Selenese
commands passed from the test program, and
acts as an HTTP proxy, intercepting and
verifying HTTP messages passed between
the browser and the AUT.
– Client libraries which provide the interface
between each programming language and the
Selenium RC Server.
Selenium and Zk
• ZK Web Applications can be a challenge
with Selenium because ZK dynamically
generates element IDs
• Workaround: not fully satisfactory
• QFTest: just starting with support for Zk
• Other products: Sahi:
– http://docs.zkoss.org/wiki/Making_ZK_Functio
nal_Tests_With_Sahi
Download