New to Mainframe Community

 View Only

Next-Gen Mainframing: Making Testing 10x Better

By Jeffrey Wong posted 5 hours ago

  

Hi, I’m Jeff Wong—a computer engineering graduate from the University of Illinois at Urbana-Champaign. After an incredible summer with the z/Raiders team last year, this marks my second time working as a Next-Gen Mainframer—again under Broadcom’s MSD Data Management Team.

This summer, I joined the Pioneers, a team focused on making database administration on the mainframe seamless. My role? Use modern tools to accelerate that mission by a factor of ten.

Project Overview

My project focused on developing and integrating automated tests for RC/Compare for Db2 for z/OS, a Broadcom tool that runs under ISPF (Interactive System Productivity Facility).

If you’re not familiar:

  • ISPF is a menu-based interface that interacts with the mainframe operating system, z/OS.

  • RC/Compare helps users compare two Db2 databases, align their structures, and maintain data integrity—critical for smooth migrations across Db2 versions and mainframe subsystems.

Figure 1. ISPF Main Menu

My task was to rigorously test RC/Compare using hundreds of unique database DDL (Data Definition Language) objects and verify the absence of any defects in the output.

However, I was given a set of JCL-based test cases with some big limitations:

  • They required manual execution and review

  • They were subsystem-specific

  • And worst of all… only one person could use them

My job was to port these test cases into a new testing framework called Rev, solving all these problems and enabling automation, flexibility, and team-wide access. The result: test cases that are reusable, extensible, and automatically alert teams about defects—making long-term maintenance much more scalable.

What I Learned

Rev and PyRal: Bridging Testing with Rally

Rev is a Python-based automation framework that integrates test execution with Rally, Broadcom’s agile project management tool. It uses PyRal, a Python wrapper for Rally’s API.

Here’s what I did:

  1. Uploaded hundreds of local test cases to Rally using PyRal.

  2. Created a JCL template for Rev that dynamically generates jobs from Rally parameters.

  3. Extended Rev to support features my project needed—like reading multiple outputs, running tests sequentially, and improving how Rally test cases are handled.

PTG2 and DsnServices: Speeding Up Mainframe I/O

PTG2 (Prague Testing Gears 2) is a Python framework that automates interactions with mainframe applications. A key component I used was DsnServices, which allowed me to read and write hundreds of dataset files programmatically—saving enormous time over doing this manually in ISPF.

Note: PTG2 also includes a terminal emulator and database administration suite. I used them in my previous project when automating tests using ISPF (For more information, refer to my last blog post).

Db2 and SQL: Debugging at Scale

Broadcom tools such as RC/Compare rely on Db2, a relational mainframe database, and SQL-based DDLs to define database structures and behavior. Throughout the project, I analyzed, modified, and debugged hundreds of DDLs to ensure compatibility with newer versions of Db2 during the transition to Rev.

Jenkins: Integrating into CI/CD

Figure 2. Example Regression Tests in Jenkins

Jenkins is a powerful CI/CD tool that runs automated tests to make sure new code doesn’t break existing functionality—a process known as regression testing. I integrated my test suite into Jenkins so RC/Compare's tests could run as part of its overall regression pipeline.

Other: Custom Code & Debugging

I built a custom script that parses legacy test files, generates corresponding Rev test cases, and automatically pushes them into Rally. Additionally, I spent an abundant amount of time debugging test failures—fixing dozens of edge-case issues while porting legacy tests into a new system. If I had to sum up the three key skills I built this summer, they’d be:

  • File processing

  • Debugging

  • API request handling

Final Thoughts

Taking on a bigger project this summer was both challenging and rewarding. I learned a lot—and the work I did will have a lasting impact on both my team and the company.

Huge thanks to the Pioneers for all the help (especially when I asked a lot of questions), and to my fellow summer workers and coworkers who dragged me out to play basketball and helped me recharge after tough weeks.

Finally, I want to give a special shoutout to my buddy (Lokesh Patel) and manager (Padma Kota), who supported me every step of the way. Thanks for bringing me back for another summer—I’m proud to have been a part of the Next-Gen Mainframing program again, and I’m excited to see what’s next.

0 comments
15 views

Permalink