Many large financial institutions rely heavily on back-end mainframe systems for completion of regression testing of distributed systems. Challenges arise from several aspects of testing. The mainframe needs to be available during the testing phase which can be a challenge, but also as critical is the fact that the data that is contained in the mainframe needs to remain in sync with the data that was used to create the regression tests. This is a challenge for several reasons.
Typically developers and testers concerned with distributed applications have no control over the data that resides in the mainframe. It is a fairly typical scenario that every few months, data from production is used to perform a database refresh in the test environment of the mainframe. This will cause a fair number of regression tests to fail not because the code has changed, but simply because the data being returned from the mainframe is different. This can invalidate a tremendous amount of regression tests and render the tests essentially worthless.
A simple approach to addressing this issue is to virtualize the back-end mainframe using a service virtualization solution like IBM’s Rational Test Virtualization Sever (RTVS). Service virtualization enables teams to simulate the messages exchanged over the many different protocols that are used to communicate with the back-end mainframe - protocols including web Services, TCP, MQ series, CICS Transaction Gateway to name a few.
The process is generally the same. Transactions can be captured through the process of recording when the mainframe is available. The regression suite can be used to drive the data into the system, and the recorder will collect information that flows to and from the mainframe. A wizard may be used to create one or several virtual services capable of simulating calls to and from the mainframe.
The developers and testers now have control over the data and if regression tests fail, it is due to the fact that the code has changed and not because of the data. An added benefit is that you can also add negative testing scenarios to you battery of regression tests. Try doing that with your live mainframe!
Give it a shot and see what great things you can accomplish.
To learn more about how IBM's service virtualization capabilities and testing applications with mainframe dependencies, check out this recent webcast.