Application Modernization
Testing Tools Enable Systems Modernization
The need to keep maintain and improve business systems is driven by pressure from competitors, the need to integrate with partners and the benefits of consolidating processing from across the enterprise.
Business face a key choice in the ongoing maintenance of their software systems, completely replace or incrementally modernize.
Whichever choice is preferred, necessity dictates that the following question can be answered; "how does the system operate today". This is often difficult, particularly in the case of older systems where a number of problems could exist. Technical documentation may be out of date, the live system may not match the current development codebase, the operation of modules supplied from third-party vendors can be opaque.
The use of testing and analysis tools which can record, replay and report on the operation of the current system are a key factor in beginning any systems modernization effort.
The creation of test cases for the existing system serve two roles, to document the system and to allow changes to be made with confidence.
If the system is to be replaced it is still likely that the current system will need to be maintained and perhaps adapted as the replacement system is rolled out.
When choosing to incrementally modernize parts of the existing system test cases allow the results of the new processing to be compared to a base line, ensuring the result of the change is as designed. Extending the use of test cases to exploit automated testing unlocks the potential for developers to deliver system changes within reasonable timescales.
Making an investment in understanding the current system is the foundation to any system modernization or replacement effort. Choosing to cast aside a system which has evolved over a number of years, because it is viewed as overly complex or inaccessible, is to do away with the richest source of business rules and processes.

