
Its free to try for 1 month

Windy Road BWUnit leverages the power of TIBCO ActiveMatrix BusinessWorks™ to provide you with a highly advanced testing tool for multi-platform integration testing and system testing, as well as unit-testing BusinessWorks projects.
BWUnit supports a vast array of protocols, such as TIBCO Rendezvous®, JMS, HTTP and JDBC using SOAP, XML or native formats. You name it – if BusinessWorks can integrate with it, then BWUnit can test it.
BWUnit tests are written as BusinessWorks processes, providing full programmatic power for your test development and allowing you to set up and tear down test data and orchestrate the execution of multiple steps within a test.
Also, because BWUnit tests are written in TIBCO Designer alongside the processes and services your team is developing, it provides your developers with a familiar test development environment, which is easier to learn and use.
This also means BWUnit tests use the same schemas, shared resources and global variables as your feature code, so they are always in sync. Always.
BWUnit also allows you to share the same configuration between your deployment scripts and your BWUnit system and integration tests. So when you change a JMS port in your SIT environment, you change it once in your BusinessWorks project to update both your deployment configuration and your SIT testing configuration. Nice.
Need to run the same test with different data? Don’t copy and paste, simply create a sub-process to share between different tests or to iterate over with data loaded from a file or a database. Need to modify the data before it’s used in a test? The transformation capabilities of BusinessWorks make this a breeze.
BWUnit also lets you easily capture and record responses. Simply run your test in TIBCO Designer and see what the interface you are testing returns, tweak your input data and see how the responses change, or record the results as a baseline for future testing.
It’s surprising how hard it is to integrate most integration testing tools with other development tools, such as CI servers like Jenkins and code quality tools like Sonar. BWUnit has been designed from the outset to make these sorts of integration easy.
BWUnit comes with a comprehensive set of Apache Ant macros that make it simple to execute your tests from the command line or from Jenkins, Hudson, Bamboo or other CI Servers, allowing you to programmatically configure global variables, file aliases and which tests to run. BWUnit also produces test results in JUnit xml format, allowing your CI server to chart the state of your test suite over time and mark your build as unstable when a test fails and send out notifications to staff or your defect management systems such as JIRA or Bugzilla.
| Features | Supported | Notes |
|---|---|---|
| Core | ||
| Automated Acceptance Testing | ![]() |
Tests can be written in a BDD style approach, with test steps shared between numerous tests |
| Integration Testing | ![]() |
BWUnit can be used for multi-platform integration testing of any set of systems BW can integrate with |
| System Testing | ![]() |
BWUnit can be used for multi-platform system testing for any system BW can integrate with |
| Unit Testing | ![]() |
BWUnit can be used for unit testing BW projects |
| Load Testing | ![]() |
BWUnit tests can be executed by common load testing tools such as Apache JMeter, HP Load Runner |
| Multi-step Tests | ![]() |
Multiple activities including sub-processes can be used with a single test allowing you to create complex test scenarios |
| Test Set-up and Tear-down | ![]() |
Fixtures can be used to set up and tear down test data for your tests |
| Stubs | ||
| Transport Stubs | ![]() |
Transport Layer Stubs can be implemented as starter processes using the same shared resources as your feature code |
| Dependency Injection | ![]() |
Activities that interact with dependencies can be encapsulated in processes, allowing you to use Dynamic Process Overrides to switch the implementation used during testing |
| In-memory DBs | ![]() |
In-memory databases can be used during testing to avoid the need for production-like databases to be running or available from the test machine |
| In-memory JMS | ![]() |
In-memory JMS implementations can be used during testing to avoid the need for production-like JMS implementations to be running or available from the test machine |
| Test Execution | ||
| CLI Execution | ![]() |
The full test suite can be executed from the command line via Apache Ant |
| CLI Partial Execution | ![]() |
A configured subset of tests can be executed from the command line via Apache Ant |
| Dynamic Partial Execution | ![]() |
User can dynamically select test subsets or individual tests to execute from the BWUnit UI or from directly with TIBCO Designer |
| Scheduled Execution | ![]() |
Test runs can be scheduled using common CI servers, such as Jenkins, Hudson and Bamboo |
| Execution on Code Commit | ![]() |
Test runs can be triggered to run after a code commit using common CI servers, such as Jenkins, Hudson and Bamboo |
| Data-driven Testing | ||
| Recording and Baselining | ![]() |
Tests can be written to record responses to a file or database and compare them to a previous baseline |
| Bulk Load | ![]() |
Tests can be written to bulk load requests from a file or database |
| Test Parameterisation | ![]() |
Common test steps can be refactored into parameterised sub-processes and used across multiple tests |
| Reporting | ||
| Machine-readable Reports | ![]() |
Machine-readable test results are recorded in JUnit compatible XML format |
| Human-readable Reports | ![]() |
Human-readable test results are recorded in HTML format |
| Report Archiving | ![]() |
Test reports can be archived using common CI servers, such as Jenkins, Hudson and Bamboo or uploaded in code quality tools such as Sonar or published to a central repository, such as Nexus, Artifactory or even SharePoint |
| Configuration | ||
| Shared Environment Configuration | ![]() |
Global Variables for each environment can be stored in properties files and used for both test runs and deployments |
| Shared Schemas and WSDLs | ![]() |
BWUnit tests use the same XSDs and WSDLs as your feature code |
| Shared Connection Resources | ![]() |
BWUnit tests use the same RV, JMS, HTTP and JDBC connection resources as your feature code |
| Transports | ||
| SOAP/HTTP(S) | ![]() |
BWUnit tests can interact with SOAP/HTTP(S) Web Services using any of the BW SOAP activities |
| SOAP/JMS | ![]() |
BWUnit tests can interact with SOAP/JMS Web Services using any of the BW SOAP activities |
| HTTP(S) | ![]() |
BWUnit tests can interact with HTTP(S) interfaces using any of the BW HTTP activities |
| TIBCO Rendezvous | ![]() |
BWUnit tests can send and receive RV message using any of the BW RV activities |
| TIBCO EMS | ![]() |
BWUnit tests can send and receive EMS message using any of the BW JMS activities |
| IBM WebSphere MQ | ![]() |
BWUnit tests can send and receive MQ messages using any of the BW JMS activities or using MQ Adapter and the corresponding Adapter activities. |
| JDBC | ![]() |
BWUnit tests can interact with databases using any of the BW JDBC Activities |
| FTP | ![]() |
BWUnit tests can interact with FTP servers using any of the BW FTP activities |
| TCP | ![]() |
BWUnit tests can send and receive raw TCP using the BW TCP activities |
| TIBCO Adapters | ![]() |
BWUnit tests can interact with TIBCO adapters using any of the BW adapter activities |
| Tool Integration | ||
| CI Servers | ![]() |
BWUnit tests can be executed from common CI servers such as CruiseControl, Jenkins, Hudson, Bamboo, TeamCity and Go |
| Artifact Repositories | ![]() |
Test reports can be published to common artifact repositories such as Artifactory and Nexus |
| Code Quality Management | ![]() |
Test reports can be uploaded to code quality management tools such as Sonar |
| Software Delivery Techniques | ||
| Test-driven Development | ![]() |
BWUnit can be used for test-driven development of your BW projects |
| Behaviour-driven Development | ![]() |
BWUnit tests can be written using BDD’s “Given, When, Then” style, with each test step implemented as a sub-process |
| Continuous Delivery | ![]() |
The automated testing BWUnit allows is an essential part of any continuous delivery pipeline |
Its free to try for 1 month