Continuous Integration for COBOL on Mainframe

34 views
Skip to first unread message

Thierry de Pauw

unread,
Sep 21, 2017, 12:25:13 PM9/21/17
to Continuous Delivery
Hello,

I am currently coaching several teams developing in COBOL for the Mainframe. This activity is part of a larger agile transformation of the bank these teams are part of.

I would like to introduce practices like unit testing, automated acceptance tests and Continuous Integration for their COBOL code.

In a first phase I would already be very happy when they actually write unit tests and trigger them manually on every change. As such they would adopt the practice of Continuous Integration as described by James Shore's article "Continuous Integration on a dollar a day" http://www.jamesshore.com/Blog/Continuous-Integration-on-a-Dollar-a-Day.html.
In a second phase I would like to have these unit tests triggered automatically on every change. And thus introducing the concept of a centralised build preferably with a dashboard giving test results and test execution trends.
For the unit testing I found COBOLUnit and IBM zUnit.

In parallel I see a way on how to achieve the automated acceptance tests. These would be executed off platform (outside the Mainframe). The team mostly delivers services via an ESB and some Mainframe UI screens. The services could be tested using languages like Ruby, Python, Java. And if we manage to screen scrape the Mainframe screens we could achieve the same using the same languages.
But we then would have a situation where unit tests are running on Mainframe and acceptance tests are running on a Linux or Windows. Risking to loose a unified dashboard with the state of all types of tests.

Jez Humble mentions the Suncorp Simplification Program case in Lean Enterprise and on continuousdelivery.com as an example that Continuous Delivery is possible on Mainframe. Suncorp invested a lot in a functional testing framework and automated acceptance tests for their Mainframe systems.
Unfortunately the case description stays very high level and doesn't provide details on how they achieved this.

So does anyone has experience with unit testing, automated acceptance tests and Continuous Integration for COBOL on Mainframe ?
Are we on the right track ? Are their better ways to achieve the same ?

I would be very interested to here your experiences.

Cheers,
Thierry

Sriram Narayanan

unread,
Sep 21, 2017, 12:32:09 PM9/21/17
to continuou...@googlegroups.com

I would be very interested to here your experiences.

Cheers,
Thierry

--
You received this message because you are subscribed to the Google Groups "Continuous Delivery" group.
To unsubscribe from this group and stop receiving emails from it, send an email to continuousdelivery+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Thierry de Pauw

unread,
Sep 22, 2017, 2:38:08 AM9/22/17
to continuou...@googlegroups.com
Thank you Sriram !
This is very interesting.

Thierry

To unsubscribe from this group and stop receiving emails from it, send an email to continuousdeliv...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Continuous Delivery" group.
To unsubscribe from this group and stop receiving emails from it, send an email to continuousdeliv...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
--
Sent from a device without keyboard. Please excuse brevity, errors and embarrassing autocorrections.

Nigel Charman

unread,
Sep 22, 2017, 7:39:30 AM9/22/17
to Continuous Delivery
We implemented it with a client as presented at Agile Australia 2012. Key points were:
  • We used Freehost 3270 to drive 3270 streams. This needed a bit of work to get working (but not too much, maybe a week)
  • We built a Page Object to mimic each screen, reusing the pattern from Selenium and mapping to the underlying 3270 stream fields
  • Page Objects reused across tests and for some other uses such as scripting customer setup
  • We used Stored Procs to setup and tear down data.
  • We used Concordion for automating the acceptance tests
  • On error, the raw 3270 stream was copied into an image and painted green, then shown on the screen using Concordion's Screenshot Extension. This was really neat, it showed what the screen would have looked like, even though we were only using the raw protocol
  • This required the COBOL devs to learn Java which they were more than happy to do. We primarily did this using coding dojos with the team.
Nigel

Thierry de Pauw

unread,
Sep 25, 2017, 2:00:08 AM9/25/17
to continuou...@googlegroups.com
Thank you Nigel for the details.

Is this presentation recorded or are there any slides available?

Thierry


--
You received this message because you are subscribed to a topic in the Google Groups "Continuous Delivery" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/continuousdelivery/pePwO7B3n-A/unsubscribe.
To unsubscribe from this group and all its topics, send an email to continuousdeliv...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages