Automated Testing and TDD for Mainframe Applications

Mainframe systems continue to play an important role in large IT operations. Contemporary software solutions often comprise components that run on multiple platforms, from smart phones and tablets to Windows, OSX, and *nix systems, and mainframes. 

Is it feasible to extend modern software engineering practices like continuous integration; automated deployment; automated unit, component, and functional testing; and test-driven development to this venerable platform? It turns out to be quite feasible. There are several practical approaches to the problem, including commercial products from IBM and third parties; off-platform test drivers such as Cucumber, Concordion, and FitNesse; service virtualization products; on-platform approaches such as Java on zOS Unix System Services; hand-rolled mocking of CICS, DB2, and MQSeries resources; using IBM utilities to isolate and test individual steps from batch jobstreams; and isolated off-platform solutions based on hand-rolled test frameworks running under S390 emulation or mainframe-compatible compilers.

This session provides a summary of several of these approaches. Unfortunately, it isn't feasible to run working examples on an actual mainframe in the context of the conference. We can show code that works and walk through it to illustrate approaches to test automation that are in use in real mainframe environments, and we can demonstrate the emulation-based solutions that don't require a connection to a real mainframe.

To wrap up, we can have a group discussion about the specific testing and automation issues you have in your organization and how you might introduce test automation on your mainframe systems. Better yet, you can share your own stories of how you have solved this problem.

 

 
2 favorite thumb_down thumb_up 1 comment visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

Very brief introduction just to set context about automated testing and test-driven / test-first development.

Very brief introduction to set context about the ongoing role of mainframe systems - they didn't die after all, they evolved.

Show and walk through code for a roll-your-own approach to automated testing of batch applications.

Show and walk through code for a roll-your-own approach to automated testing of CICS applications.

Show and walk through code for using Cucumber to access DB2.

Show and walk through code for using Cucumber to access CICS applications.

Discuss options for running familiar test automation tools on the mainframe, such as Cucumber on JRuby on Java on zOS Unix System Services, with IBM-supplied jars to access MVS resources like VSAM, DB2, and MQSeries.

Discuss IBM's commercial product offerings that support automated testing, TDD, and service virtualization.

Discuss the option of running zLinux VMs under zOS.

Demonstrate a home-grown unit test framework for batch COBOL applications that runs on a laptop under GNU COBOL.

Demonstrate a home-grown unit test framework for CICS COBOL applications that runs on a laptop under GNU COBOL.

Demonstrate test automation for COBOL and Assembly language applications that runs on a laptop under IBM S390 emulation. (Yes, you can do TDD for Assembly language. Who'd a thunk it?)

Learning Outcome

Awareness of several practical approaches to automated testing and test-driven development for applications that run on an IBM mainframe platform (batch and CICS).

Target Audience

Programmers, Testers

schedule Submitted 2 years ago

Comments Subscribe to Comments

comment Comment on this Proposal
  • Craig Lacy
    By Craig Lacy  ~  1 year ago
    reply Reply

    This topic of automated-testing-and-tdd-for-mainframe-applications is an initiative I am working on currently within my organization. This is my first visit to this site and I was hoping to find a way of getting any narrative or presentation on this topic from Dave.


  • Liked Dave Nicolette
    keyboard_arrow_down

    Dave Nicolette - Using Lego to visualize Cycle Time and Process Cycle Efficiency

    Dave Nicolette
    Dave Nicolette
    Consultant
    Neo Pragma LLC
    schedule 2 years ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    When delivery issues are made visible, there is often an immediate and natural change in behavior. In this session I will demonstrate a simple technique we have used with several teams at my current client to track Cycle Time and Process Cycle Efficiency (PCE) using Lego. In some cases, team members started to behave differently right away, as soon as they saw where the time was going. Two interesting effects occurred naturally, without any training. First, teams that saw a lot of red Lego on their boards adjusted their work in process (WIP). They didn't know the term "WIP" but they could see the effect and acted appropriately on the information. Second, the moment a team mate placed a red brick on the board, other team members asked what the impediment was and how they could help remove it. 

  • Liked Diane Zajac-Woodie
    keyboard_arrow_down

    Diane Zajac-Woodie - There’s No “I” in Team, But Should There Be?

    90 mins
    Panel
    Intermediate

    Scrum suggests that business analysts, testers and developers shed their old job titles and don the badge of “team member.” And current trends like mob programming further encourage team members to abandon their individual goals in the interest of team achievements. It seems there really is no “I” on some teams...but should there be?

    In this session, Diane evaluates the pros and cons of eliminating job titles and examines the concept of becoming a generalizing specialist. What does that really mean? What are the impacts to the team? Can you maintain your individual skills while your contributions to the team are getting blurred?

    Come and join in the discussion!

  • Liked DJ Daugherty
    keyboard_arrow_down

    DJ Daugherty - BYOD : Build your own drone… multi-rotor quadcopter that is!

    DJ Daugherty
    DJ Daugherty
    developer
    Pillar Technology
    schedule 2 years ago
    Sold Out!
    90 mins
    Workshop
    Beginner

    In this world of ever increasing opportunities to purchase ‘toys’ classified as ‘drones’… have you ever wanted to fly a drone? Have you ever asked yourself the question… should I buy a drone or build? This presentation will discuss why the term ‘drone’ should be most generally referred to as… ‘multi-rotor copter’ and not UAV (unmanned autonomous vehicle) or drone. This presentation will discuss the basics of how a multi-rotor works… the steps to build a multi-rotor… including details on flight controllers, frame selection, motors and props (including determining what type of multi-rotor will suite your purpose), speed controllers and batteries. There are a lot of variables… all of these details will be broken down, making the process of building your first copter a ‘flight in the park’. At the end… a flying multi-rotor copter will be air-worthy and demonstrated.

  • Liked Dave Nicolette
    keyboard_arrow_down

    Dave Nicolette - Coding for Food

    Dave Nicolette
    Dave Nicolette
    Consultant
    Neo Pragma LLC
    schedule 2 years ago
    Sold Out!
    60 mins
    Workshop
    Intermediate

    This is a hands-on programming session in which the winning teams will receive fabulous prizes (masquerading as cheap candy). The point of the session has to do with the basis for awarding candy to the winning teams. We do not wish to reveal that point in advance.