Mercury


We are a Mercury Partner

 
automate testing of your ESB, SOA, JMS, Web Services or TIBCO project using GH Tester. extensive support for JMS, HTTP, TIBCO RV, IBM MQ, Sonic MQ and Fiorano MQ

GH Tester

automate testing of ESB, web services and messaging with this powerful tool

A good integration strategy will design the business process automation and message catalogue and then assign individuals or teams to create the components in isolation. Towards the end of the project, integration testing begins and the problems commence.

The cause of the problem is easily identified: the messages further up the chain were not available for testing.

GH Tester has been designed specifically to solve this problem. Messages can be created (or captured from the bus) and replayed at will. Test sequences can be designed without writing a single line of code to regression test your component or to simulate (stub) a missing component.

By sharing the message definition between consumer and producer, both sides of the interface can test with the same data, eliminating nasty surprises at integration time.

GH Tester 3 has been created to address all the problems inherant in testing systems that do not have graphical user interfaces.

Its powerful test suite can be used to quickly create test stubs for adapters still under construction, and enable users to continue design and implementation of workflows without waiting for the real adapters.

Features include:

  • Automatically create test plan documentation.

  • Schema-aware message editors for XML (DTD and XSD), SOAP (WSDL) and AE.

  • Support for many different protocols, including JMS, IBM MQ, Sonic MQ, TIBCO, TCP/IP, UDP/IP and SmartSockets. An API let's you write your own transports.

  • Component simulation.

  • Automatic test reports created from test results.

  • Regression testing.

  • Record and playback messages.

  • Integrate tests with databases.

  • Manipulate XML documents.

  • Edit messages using intuitive GUI, or a text editor in XML.

  • Capture messages, edit them and republish them.

  • E-mail messages to colleagues in remote locations.

  • Share messages with other Green Hat products.

If you have any kind of regular exposure to messages or ESB, GH Tester will make your life so much easier.

GH Tester in Detail

"The simple idea of having message instances available at the beginning of the development process saved us days when it came to integration, the systems went together smoother than they had on any previous project."

Developing and testing message-oriented middleware solutions is a time consuming process. Test programs need to be written to exercise the system and to simulate other components during unit test. Vendor-supplied tools tend to be basic and generally only provide minimum functionality. Traditional test automation tools, such as those used for GUIs, cope poorly with the challenges of asynchronous message-based systems. Any custom development for the purposes of testing is naturally going to add time to the project and result in further software to test, debug and support. So what is the answer?

GH Tester is the essential tool for people working with messages, writing adapters or developing process automation sequences. The creation of automated, easily repeatable tests is carried out using a GUI, achieving the power of a custom-written program in a fraction of the time. User-friendly graphical interfaces allow the display, creation and manipulation of messages. Comprehensive reports detail the test results. These not only provide information on test success or failure, but also on the performance of the application under test.

Developed using real experiences from real automation projects from both Green Hat and their customers, GH Tester is your route to more efficient integration.

  • Intuitive features allow messages to be captured, edited and replayed.
  • Messages can be saved using XML, emailed and replayed in remote locations.
  • Eliminates delays during unit and integration testing.
  • Supports ActiveEnterprise, conventional RV and XML messages.
  • Supports request-reply, certified and distributed messaging.

Testing

GH Tester comes into its own during the testing of a system. Everyone knows testing is a necessary but time-consuming task, especially regression testing. GH Tester takes the pain out of it. Powerful test sequences can be built up, including stubs and jigs. Tests can be executed at the touch of a button to thoroughly test an adapter: no need to develop additional code. Missing adapters can be simulated, providing a valuable tool for developing workflows and processes. Regression tests can be built and run in a fraction of the time it took before.

  • Publish messages using any of the features above.
  • Compare received messages with expected results.
  • Produce detailed reports on actual test results and expectations, including any differences.
  • Store tests and results in a central repository.
  • Command-line and ANT operation for batch-mode testing.
  • Validate XML fields against a schema; decode and extract contents using XPATH to produce new XML documents.
  • External command execution and capturing of output.
  • Integrate with databases to simulate adapters by querying or changing rows.
  • Create reuseable validation rules, that can be used in tests, or against ad hoc messages.
  • Extend the functionality using Java to include your own functions.

Download a trial now!

More Detail - Using GH Tester During the Design Phase

During the design phase of a project, GH Tester helps analysts and developers by allowing them to create instances of messages to build a message catalogue. This simple additional step of creating messages before any coding takes place ensures that developers on both sides of the messaging interface can actually see solid examples of what they are supposed to be coding to. Testing can commence immediately. Anyone using a formal development process will realise this corresponds to creating test cases before development commences, totally conformant with RUP, ICONIX and other methodologies.

More Detail - Using GH Tester During the Build Phase

In the build phase of a project, there is a general need to publish or send messages. Conventional vendor supplied tools make this process painful at best and impossible at worst. GH Tester provides a simple yet powerful graphical interface to allow messages to be created quickly and published to the bus with minimal effort.

There is a need to receive or subscribe to messages, and see the results in a format that makes sense. GH Tester displays messages and their headers and contents using a tree, allowing users to quickly navigate to areas of interest. GH Tester can send a request-reply format message and automatically display the returned result.

Message Replay

Any message received can be republished easily. Messages can be edited before republishing, and saved to a file for sharing with colleagues, either locally, or remotely via email. A sequence of messages can be replayed with various options, allowing them to be sped up or slowed down.

TIBCO Repository

GH Tester integrates with the TIBCO Repository. Schemas from the Repository are automatically used, along with transport definitions. When publishing or sending a message using request-reply, a schema can be chosen and populated with data values before being published. All possible combinations are supported, including nodes of type "any", unions and sequences. During subscriptions, GH Tester can automatically decode the ActiveEnterprise message and display it properly.

More Detail - Using GH Tester During the Test Phase

The purpose of testing is to find faults. Most test teams also provide some diagnosis, enough to help the developers reproduce the problem. GH Tester has specific features to aid this process. GH Tester indicates exactly where in the message there is a problem, as well as recording the information in a detailed report.

Performance Checking

One source of post-implementation dissatisfaction with an integration project is performance. Given that many projects are implemented to improve throughput on a specific business process, it is rather ironic that performance is not checked until the end. One possible reason for this is the labour-intensity of the process. GH Tester provides detailed performance information at the click of a button. Using this information, performance information can be made available for all of the components in the system, and problems identified long before systems integration testing takes place. This avoids system roll-outs that simply do not deliver what was promised and allows problems to be fixed early.

Compare Messages

Testing a message-based system requires instances of messages. Either a message needs to be produced to start a process, or a message produced by a system needs to be checked to validate it against a known message. There are also many combinations of these operations. GH Tester is able to compare messages against examples and indicate where differences lie. Stub adapters can also perform these checks, thus allowing problems at any stage of the automated process to be highlighted.

Automate Testing of JMS and Other Messaging Systems

By combining messages together in a sequence, the testing of a system can be automated. Different data values can be automatically introduced, allowing many different component functions to be tested without having to create hundreds of messages from scratch. A test can automatically start its stub components, and then test the appropriate processes, performing validation all the way.

GH Tester allows any test to be executed from the command-line, without the GUI. In this way, testing can be included as part of the build process.

Stub Adapters

Development of adapters and the processes that use them often takes place in parallel. This can greatly inhibit the ability of the developers working on the processes to perform any kind of testing. GH Tester makes it easy to simulate missing adapters by creating a stub: no programming is required. Using a variety of features within GH Tester, complex stubs can be created, interacting with files and databases to perform realistic functions if required. Complex functionality can be provided by custom-developed Java code.