Z Virtual Test Platform - Group home

IBM announces game changing shift-left testing for mainframe applications to accelerate continuous integration

By Claire Nelson posted Wed May 27, 2020 12:00 AM

Automated testing is the key to increase quality at the same time as increasing speed of delivery.   However, automated testing is hard, you need the right environments, you need the right data at the right state, you need the system set up completely.  In the z/OS space the challenge of doing automated testing is seen as an even larger problem due to the requirement for an environment to be stable with a set of defined data while most environments are shared and not suited for this automation.   As part of IBM Developer for Z we have provided zUnit which is the first step toward shifting the testing to the left, by providing the ability for the developer to test a single program in isolation through stubbing out all the external calls. 
Today we are announcing game changing capability to truly shift left testing in the z/OS space. Wazi Virtual Test Platform (VTP)  provides the ability to do a full transaction level test without deployment into the middleware.  It provides full stubbing capability for the middleware starting with CICS and DB2 to allow you to run the transaction on z/OS but as a batch process.   This provides the first stage of Integration Testing while still in the build process, a huge step in the ability to do automated testing and development in general on z/OS.  Another key benefit is this works for COBOL, PL/I, and Assembler, and it does not matter if you have all the source code for all the programs in the flow. It uses the system to capture the calls and data, so you can test no matter what is the path.   See below for the currently supported capabilities specifically for Wazi VTP,

CICS Support: 
EXEC CICS application calls 
EXEC SQL application calls (Db2)
Calls to IMS/DB through the EXEC DLI interface 
MQSeries Calls
Program call originating form another program, whether the target of the call is the main entry point or an embedded control section (CSECT)

Batch Support:
Program call originating form another program, whether the target of the call is the main entry point or an embedded control section (CSECT)
Db2/SQL directly from batch programs 


This works by turning on Wazi VTP to begin capture, run the transaction or application in the test environment with data you want to capture as part of test, and then turn off the capture.  This will create a data file that can then be used to replay that transaction in batch mode as often as required.  This capture can be done manually or through automated processes such as Rational Test Workbench or Galasa test framework

Now this same transaction can be started as a batch program by the developer and as part of the build process for automated testing.   If you want code coverage of the program flow, run it with code coverage turned on.  If you want to step through it with a debugger, you can, without being in the middleware.  Imagine  you can now run those changes you are making in context of the rest of the flow, without having to have the middleware configured or even running.  All you need is a z/OS environment, the load modules you want to run, and the data file.  

Wazi VTP is not just that, now imagine you need to change a copy book, but this copy book change actually affects a number of programs, you can make the change and confidently recompile all impacted programs, because by running the automated test using Wazi VTP you can be sure, nothing else was impacted due to the change, or you can quickly find any impacts.  

Another benefit is the ability to do recompile with the latest compiler and rerun the test, this will verify the compiler upgrade.  And just one more for this blog, all those of you in the process of moving to a modern SCM with a modern build process, you can use Wazi VTP to test out an application recompiled with the new build system to verify all the compiler options were set correctly. 

See Wazi VTP   for more information.

These are the first use cases we have found in working with clients as part of the sponsor user program, give Wazi VTP a try and let me know what else you find.