Presentation on theme: "Test Automation Tools: QF-Test and Selenium by P. Kratzer / P.Sivera Software Engineer ESO."— Presentation transcript:
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/http://www.qfs.de/en/ QF-Test pages: http://www.qfs.de/en/qftest/index.html http://www.qfs.de/en/qftest/index.html Feature checklist: http://www.qfs.de/en/qftest/checklist.html http://www.qfs.de/en/qftest/checklist.html
Introductions & Demos Demo screenshots: http://www.qfs.de/en/qftest/demos.html http://www.qfs.de/en/qftest/demos.html Demo video (length 8:40 min): http://www.qfs.de/en/qftest/demovideo.html http://www.qfs.de/en/qftest/demovideo.html Standard QF-Test library: http://www.qfs.de/en/qftest/stdlib.html 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 Procedure Detail
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 COMP- 2905) (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…http://seleniumhq.org/ Example of a demo: –http://vimeo.com/4671653http://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