bwunit-450x169

Turn your most advanced integration tool into your most advanced testing tool.

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.

The Power of a Full Programming Environment

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.

Data Driven Testing

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.

Integration

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.

Feature List

Features Supported Notes
Core
Automated Acceptance Testing Yes Tests can be written in a BDD style approach, with test steps shared between numerous tests
Integration Testing Yes BWUnit can be used for multi-platform integration testing of any set of systems BW can integrate with
System Testing Yes BWUnit can be used for multi-platform system testing for any system BW can integrate with
Unit Testing Yes BWUnit can be used for unit testing BW projects
Load Testing Yes BWUnit tests can be executed by common load testing tools such as Apache JMeter, HP Load Runner
Multi-step Tests Yes 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 Yes Fixtures can be used to set up and tear down test data for your tests
Stubs
Transport Stubs Yes Transport Layer Stubs can be implemented as starter processes using the same shared resources as your feature code
Dependency Injection Yes 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 Yes 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 Yes 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 Yes The full test suite can be executed from the command line via Apache Ant
CLI Partial Execution Yes A configured subset of tests can be executed from the command line via Apache Ant
Dynamic Partial Execution Yes User can dynamically select test subsets or individual tests to execute from the BWUnit UI or from directly with TIBCO Designer
Scheduled Execution Yes Test runs can be scheduled using common CI servers, such as Jenkins, Hudson and Bamboo
Execution on Code Commit Yes 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 Yes Tests can be written to record responses to a file or database and compare them to a previous baseline
Bulk Load Yes Tests can be written to bulk load requests from a file or database
Test Parameterisation Yes Common test steps can be refactored into parameterised sub-processes and used across multiple tests
Reporting
Machine-readable Reports Yes Machine-readable test results are recorded in JUnit compatible XML format
Human-readable Reports Yes Human-readable test results are recorded in HTML format
Report Archiving Yes 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 Yes Global Variables for each environment can be stored in properties files and used for both test runs and deployments
Shared Schemas and WSDLs Yes BWUnit tests use the same XSDs and WSDLs as your feature code
Shared Connection Resources Yes BWUnit tests use the same RV, JMS, HTTP and JDBC connection resources as your feature code
Transports
SOAP/HTTP(S) Yes BWUnit tests can interact with SOAP/HTTP(S) Web Services using any of the BW SOAP activities
SOAP/JMS Yes BWUnit tests can interact with SOAP/JMS Web Services using any of the BW SOAP activities
HTTP(S) Yes BWUnit tests can interact with HTTP(S) interfaces using any of the BW HTTP activities
TIBCO Rendezvous Yes BWUnit tests can send and receive RV message using any of the BW RV activities
TIBCO EMS Yes BWUnit tests can send and receive EMS message using any of the BW JMS activities
IBM WebSphere MQ Yes 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 Yes BWUnit tests can interact with databases using any of the BW JDBC Activities
FTP Yes BWUnit tests can interact with FTP servers using any of the BW FTP activities
TCP Yes BWUnit tests can send and receive raw TCP using the BW TCP activities
TIBCO Adapters Yes BWUnit tests can interact with TIBCO adapters using any of the BW adapter activities
Tool Integration
CI Servers Yes BWUnit tests can be executed from common CI servers such as CruiseControl, Jenkins, Hudson, Bamboo, TeamCity and Go
Artifact Repositories Yes Test reports can be published to common artifact repositories such as Artifactory and Nexus
Code Quality Management Yes Test reports can be uploaded to code quality management tools such as Sonar
Software Delivery Techniques
Test-driven Development Yes BWUnit can be used for test-driven development of your BW projects
Behaviour-driven Development Yes BWUnit tests can be written using BDD’s “Given, When, Then” style, with each test step implemented as a sub-process
Continuous Delivery Yes The automated testing BWUnit allows is an essential part of any continuous delivery pipeline

Get BWUnit Now!

Its free to try for 1 month