Eclipse Zone is brought to you in partnership with:

Mitch Pronschinske is the Lead Research Analyst at DZone. Researching and compiling content for DZone's research guides is his primary job. He likes to make his own ringtones, watches cartoons/anime, enjoys card and board games, and plays the accordion. Mitch is a DZone Zone Leader and has posted 2576 posts at DZone. You can read more from them at their website. View Full User Profile

GUIdancer Code Injected Into Eclipse Acceptance Testing Project

10.25.2010
| 7856 views |
  • submit to reddit
A newly proposed Eclipse project called Jubula is being developed under the premise that automated acceptance tests are just as important as project code.  The tool will focus on helping developers and testers generate acceptance tests that adhere to best practices such as modularity, readability, and reusability, without having to write any code.  This makes it much easier for tests to be monitored by non-programmers.  Its user-perspective approach to building tests catches important bugs or other information that would slip right past someone who merely uses JUnit tests.  The Jubula project contains an API for generating test scenarios, executing automated tests, and then retrieving the results.  Tooling is provided for automated Java and HTML GUI testing.

Most functional testing tools have test scripts that are managed in the form of code.  In the Jubula project proposal, it submits five negative side-effects of having code in acceptance testing.  These side-effects include:

  • Code redundancies, which require refactoring
  • A large amount of leg-work to make the code flexible and maintainable
  • Places test control into the hands of developers and not testers
  • Tests lag behind development
  • The dependency on working applications stands in the way of agile processes, where acceptance testing happens in parallel with development

A code-free approach, by contrast, could keep test maintenance to a minimum.  Jubula would instead focus on how the user sees and uses the software (as a black-box).  

Tests are generated by using a library of actions that can easily be combined by a customer or tester using drag and drop.  This library is already being used successfully in many other projects, and it already has most of the actions needed to write acceptance tests.  Jubula's library is also application independent, so test creation can begin before the software is ready.  Tests can be executed right when the code is committed.  

Jubula includes plugins for managing test scenarios and testing applications based on Swing, SWT, RCP, GEF and HTML.  Jubula will also use EclipseLink as a persistence layer for model elements.  The first major code contribution to the Jubula project will come from BREDEX GmbH and their award-winning, commercial GUIdancer tool.

The objectives defined in the Jubula project are as follows:

  • Provide tooling for testers and developers to do automated GUI testing on Java and HTML based applications.
  • Specify and maintain a model for test specifications and a persistence layer for the model elements.
  • Provide API for interested projects to generate test scenarios, execute automated tests and get results from these tests.
  • Integrate with other projects to get information to create test scenarios and submit results. This includes tracing changes made by other projects to their data and mirroring these changes back to the test scenarios.