Over a million developers have joined DZone.

GUIdancer Code Injected Into Eclipse Acceptance Testing Project

· Agile Zone

Learn more about how DevOps teams must adopt a more agile development process, working in parallel instead of waiting on other teams to finish their components or for resources to become available, brought to you in partnership with CA Technologies.

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.

Discover the warning signs of DevOps Dysfunction and learn how to get back on the right track, brought to you in partnership with CA Technologies.


Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}