DataMatch is a powerful, scriptable database comparison tool. It enables quasi automatic testing of batch jobs, and can help reduce testing effort dramatically. DataMatch and its sibling product TestMatch form the core of the Astadia Automated Testing offering for mainframe migration projects. DataMatch also works closely together with DataTurn, for automated data conversion.
Astadia's migration solutions guarantee 100% functional equivalency. This means that running a converted batch job on the new platform should yield exactly the same results as running the original JCL job on mainframe.
To prove this, DataMatch basically compares the output of a converted batch job, such as Perl on Linux or PowerShell on Windows, with the “desired” output.
While this sounds straight-forward at first, several issues make this a challenging task:
DataMatch is designed with these challenges in mind. The result is a unique and flexible tool that makes batch testing a breeze in any situation.
DataMatch consists of two main parts:
The DataMatch GUI offers powerful tools to analyze and track down any differences found. It can zoom in on specific differences, or detect patterns in the differences using various correlation techniques.
The process of migrating and testing a batch job is described in the below diagram. It starts by capturing the initial state of the database (A) on the mainframe and transferring that to the target platform. If the original database is not already relational, it is converted using DataTurn.
Then, both the original job and the converted job are run. The final database state on mainframe (B) is the “desired” result; the final database state on the target platform (C) should be identical.
Before comparison takes place, database (B) is converted to a relational form again if needed.
As a last step, DataMatch performs the actual comparison to effectively prove that both jobs have produced the same result.
These steps can be easily automated so they can be repeated or re-used for subsequent jobs. Moreover, as long as database states A and B are retained, the converted batch job can be re-executed immediately, allowing the test to be repeated quickly and as often as required.
DataMatch internally uses JDBC to access all three databases (A, B, and C) so there is no limitation as to what databases can be compared.
While comparing the database states, three types of differences can occur:
While type 1 are trivial, type 2 and 3 are not: does a missing record in (C) mean that it was not inserted, or that it was deleted by mistake? This can only be found out if we also take the initial database state (A) into account. DataMatch effectively implements this three-way compare.
DataMatch is most often used in the context of mainframe migrations and particularly in testing of JCL conversion. However it is just as useful in various other situations. For instance:
Get an instant copy of this Fact Sheet.
VB NETamorpher transforms Visual Basic 6 projects into .NET (both C# and VB.NET).
Implementing the mapping of data access statements when transforming legacy programs into fully equivalent programs in modern technologies
Get in touch with our experts and find out how Astadia's range of tools and experience can support your team.contact us now