A TSRI Approach to Modernized Application Testing


Modernization of code demands a high degree of precision. It is absolutely critical that the reengineered software performs in the same manner as the original. This requires two things: a rigorous approach to code refactoring based upon tried principles which retain the underlying logic; and a well-planned and consistent program of testing to ensure that logic is preserved and improvements do not in any way alter the function of the code. Testing is vital. Companies need to be certain that their modernized critical software will perform according to exact the same rules as the original.

TSRI’s fully automated transformation generates as much as 20 times fewer defects than manual rewriting and we believe that rigorous testing provides an additional layer of assurance. For many languages, we also offer a warranty that we will resolve defects for free for up to one year following a transformation.

We take testing very seriously, working in partnership with our clients to ensure that they are able to further develop and maintain their code. Clients must also provide inside information on functionality. Therefore, testing is generally handled by the IT department or by system integrator partners. We have developed a program of testing which ensures that TSRI modernization continues to provide an identical result to the original software.

The TSRI approach is to perform a white box analysis of the original and delivered components. From this we develop a schedule for unit testing and component integration based upon the size and complexity of the components, their interface requirements, and other factors. Testing makes use of the client’s existing procedures and their experience with regression testing to develop the test plan.

Testing is a cooperative process involving access to client databases, test cases previous regression tests and other data that TSRI may not have access to. Because the modernization change is likely to be extensive and affect critical code, it is important that regression tests are equivalent to those which the client would ordinarily use between major upgrades and maintenance actions. While TSRI's role is to advise and aid in these testing procedures, testing itself must be principally the client's responsibility. The reason for this is that the client understands the requirements of the system and its previous operation. The client also has access to sensitive systems, understands the interfaces and their interoperability, and has experience in how the system has operated in the past. 

In developing testing procedures TSRI can provide instrumentation and instrumented versions of both legacy and modernized code to capture telemetry. This makes it easier to isolate any departures from expectations in the software and trace logic which has led to an abnormality. The client assumes principal responsibility for preparing tests and performing regression tests during transformation.

Once the testing plan has been completed and the transformation has been done, the tests which have been developed provide an excellent platform to ensure that further changes in the software do not create new bugs or interfere with the program logic. Regression testing will benefit from the transformation effort and from instrumented tracing of logic changes as transformation proceeds. This improves ability to develop customizations in future as well as to understand interactions with other software. The use of an instrumented approach makes it possible to enable rapid fault isolation and resolution of transformation and integration issues. The telemetry will have a lasting value for future regression testing and will be valuable for establishing automated testing practices in the future.

Once testing has revealed a defect, of course, TSRI remediation is almost instantaneous. We simply write a new rule in our fully automated toolset; with a push of a button, all instances throughout the application are fixed.

The advantages of frequent testing are becoming increasingly obvious as we move into an era of Agile development. Testing ensures that there are no surprises; it helps to eliminate technical debt within the software and ensures that program logic continues to perform optimally and efficiently as changes occur in the surrounding environment. TSRI has a strong commitment to frequent testing of code to ensure optimal performance. We are pioneering in developing new forms of instrumentation and new capabilities for integrating testing with our automated transformation system.

TSRI’s mission is to meet customer needs by providing flawless transformation of critical code. Our testing procedures are a key component of that mission.

Check out our Automation Advantages, as well as our Security Benefits & Contact Us for more information!