How to do Automated Testing for IBM BPM (Part VI) - Status Reporting
Don’t Panic! You haven’t missed anything. I’ve just decided to “go Star Wars"…
I think there is something of a snowball effect when it comes to continuous integration. The more you do, the more cool stuff becomes available to you. I guess it’s a bit like owning an Apple product.
I expect that most readers are familiar with some degree of instability across environments/integrations and it recently crossed my mind that I should “make it a tangible thing" instead of just complaining about it.
I would like to share a simple (once you’ve done the hard work of creating an automated test framework and implementing a robust log analysis platform) approach to Status Reporting.
Here is a feature file describing some Endpoint Tests…
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@endpoints | |
Feature: Endpoint Tests in IBM BPM | |
Scenario Outline: Endpoint Test for <description> | |
When I get "<URL>" (which is "<description>") the HTTP Status Code is <code> | |
Examples: | |
| URL | description | code | | |
# Development | |
| http://?/ProcessPortal/login.jsp | BPM Load Balancer in Development | 200 | | |
| http://?:?/ProcessPortal/login.jsp | BPM Node 1 in Development | 200 | | |
| http://?:?/ProcessPortal/login.jsp | BPM Node 2 in Development | 200 | | |
| http://?:?/acce/ | ECM in Development | 200 | | |
| https://?/logon/login.jsp | My Integration in Development | 200 | | |
# Test | |
| http://?/ProcessPortal/login.jsp | BPM Load Balancer in Test | 200 | | |
| http://?:?/ProcessPortal/login.jsp | BPM Node 1 in Test | 200 | | |
| http://?:?/ProcessPortal/login.jsp | BPM Node 2 in Test | 200 | | |
| http://?:?/acce/ | ECM in Test | 200 | | |
| https://?/logon/login.jsp | My Integration in Test | 200 | | |
# Acceptance | |
| http://?/ProcessPortal/login.jsp | BPM Load Balancer in Acceptance | 200 | | |
| http://?:?/ProcessPortal/login.jsp | BPM Node 1 in Acceptance | 200 | | |
| http://?:?/ProcessPortal/login.jsp | BPM Node 2 in Acceptance | 200 | | |
| http://?:?/acce/ | ECM in Acceptance | 200 | | |
| https://?/logon/login.jsp | My Integration in Acceptance | 200 | | |
# Production | |
| http://?/ProcessPortal/login.jsp | BPM Load Balancer in Production | 200 | | |
| http://?:?/ProcessPortal/login.jsp | BPM Node 1 in Production | 200 | | |
| http://?:?/ProcessPortal/login.jsp | BPM Node 2 in Production | 200 | | |
| http://?:?/acce/ | ECM in Production | 200 | | |
| https://?/logon/login.jsp | My Integration in Production | 200 | |
These tests are scheduled to run in Jenkins (other tools are available) every ten minutes.
Here’s a Splunk (other tools are available) dashboard from the resultant data…

So the cost of my nice new report (beyond my original “spend") was the time taken to i. create a feature file, ii. schedule a job and iii. craft a search. I think that’s pretty good “value for money".
I learnt a new Splunk command along the way. It’s called xyseries (link). You should check it out.