IT Testing: What's Appropriate for Replatforming Projects
April 20, 2017

Craig Marble
Astadia

Testing is an important component of any IT project. Releasing a serious flaw to production in a business-critical application can have disastrous effects. At best, it's a nuisance that annoys users and reduces confidence in an organization's competence. At worst, it can bring an entire company to its knees and result in losing customers and investors. In extreme cases, even the very existence of an organization could be threatened.

So, one could argue that testing is the most important phase of an IT project. It's also time-consuming and expensive. It's essential to strike a balance between an IT testing program that ensures a quality product and the cost-to-value ratio of your project. But when you're dealing with replatforming projects, how much testing is enough testing?


Replatforming: Putting New Tires on a Car

First, let's clarify what we mean by replatforming. Simply put, replatforming projects move an application from one operating platform to another. The most obvious example is moving an application from a mainframe to open systems or the cloud. This process is also referred to as a forklift or lift-and-shift approach. Whatever it's called, why would you take this approach rather than rewriting or replacing with a package or service?

The answer is simple. Many of the applications targeted for replatforming represent significant investment and business differentiation. Replatforming is a great way to leverage that investment and retain the proven business logic that differentiates you from your competition. It's kind of like putting new tires on a car.

When tires lose their tread, they introduce significant risk and expense. They decrease gas mileage, they increase the likelihood of skidding in bad weather, they can affect your ability to stop quickly in an emergency, and they're much more prone to blowouts. But you don't buy a new car just because your tires are worn out, do you? Of course not. You get new tires when the old ones reach end-of-life and are no longer sustainable. The same is true for operating platforms.

To Test or Not to Test

Legacy platforms and burning platforms are not just an excessive expense that impacts the bottom line of your business. They can pose significant risk in the form of unsupported hardware and software as well as an inability to find resources with the necessary skills to administer those platforms. The fastest, cheapest way to address this problem is to replatform your critical, bread-and-butter applications to contemporary environments like open systems and cloud. Of course, doing this requires IT testing to make sure the applications are functionally equivalent and perform as well or better on the new platform.

Some of our clients prefer to err on the side of caution and insist on what I call fully-loaded testing. That is, they require testing every line of code and every path of logic. While their commitment to quality is admirable, the result is disproportionately high project costs and extended project timelines. This type of extreme IT can even kill the ROI of your modernization project.

When replatforming an application, you can be confident that the business logic that works reliably today will continue to work just as reliably on the new platform. For example, business logic of an existing or COBOL-centric or C/C#/Java application running on a mainframe or an open systems server today will continue to run on a cloud platform. Testing a replatformed application should be limited to the areas that have been modified to accommodate the target environment and the application's performance on the new platform.

IT Testing Optimized for Replatforming

One of the benefits of reusing applications on a new, lower-cost platform is a relatively small portion of the application needs to be modified. The amount of change depends on many factors, including the application's current platform. One of the most obvious changes is source code that accesses the new database. The extent of these changes depends on your target environment — like moving a database from mainframe to cloud or transforming flat-file or hierarchical data to RDBMS. In addition to EBCDIC-to-ASCII conversion, you may have to transform compressed data into a format suitable for the target environment. You may also have to modify sorting routines from EBCDIC-based sorting to ASCII-based sorting.

While these and other areas of your application will require code modification, you should focus your testing efforts on the areas of change and performance rather than the entire code base. It's also important to implement efficient issue-tracking software and processes. Our experience has shown that because many legacy applications have been running reliably for decades and the number of incidents is relatively low, some organizations have gotten a little lazy when it comes to tracking incidents through the resolution process. You'll need to dust off these tools and processes and get them back into shape to support your replatforming project.

As with any project, testing your replatformed applications is important. The point here is to maximize the ROI of your replatforming project while ensuring you deliver a quality product. Think about it this way; when you put new tires on your car, do you test the headlights, turn signals, audio/video system and air conditioning? Of course not. They weren't modified. Consider taking the same approach when testing replatformed applications.

Craig Marble is Sr. Director, Legacy Modernization Services at Astadia.

The Latest

August 17, 2017

Mobile SDKs (software developments kits); love them or hate them, they're here to stay. They provide our apps with all sorts of functionality that would be incredibly time consuming to build, and they give us another means to monetize our apps. While it would be difficult to argue that SDKs aren’t useful, it’s also hard for developers to get a good idea of the amount of resources used by each SDK once the app is in production ...

August 15, 2017

A common belief within DevOps circles is that automation not only enables greater frequency of delivery and deployment, but improves its overall success rate. Whenever manual intervention is required, the chances of errors creeping in increases. Human error is a significant factor in many an outage, after all ...

August 14, 2017

DevOps and NetOps are both far more generous in their opinion of the other with respect to prioritization of efforts than traditional archetypes purport them to be, and they have a lot in common – even though they may disagree on details – according to a new survey by F5 ...

August 10, 2017

Only 12 percent of organizations can claim that their whole organization is on the path to business agility even though more than two thirds of survey participants agreed that agile organizations are better able to quickly respond to dynamic business conditions, according to a new survey from CA Technologies ...

August 09, 2017

Alongside its clear benefits, DevOps brings unique challenges when developing and operating a mobile environment. Mobile app developers and development teams face a unique set of requirements relating to collaboration, testing, and release. Technology fragmentation, disparate back-end systems, updates that require user action, and poor instrumentation can impede the DevOps process and become critical roadblocks to agile mobile development, ultimately impacting app retention and the bottom line ...

August 07, 2017

A crashing app might be a deal breaker, no matter how heavy the load that an alternative website entry point can handle would be. It is all about quickly verifying compliance against key functional and non-functional requirements in order to meet aggressive release schedules as part of the Go-to-market strategy. This means positioning unit testing, UI testing, API testing, and, of course, performance and load testing — as pillars of SDLC ...

August 03, 2017

Most software developers make themselves easy targets for hackers, even when they are behind a corporate firewall, according to a new survey from Netsparker Ltd. ...

August 01, 2017

Your top priority is to improve application development agility, but you may run into roadblocks put up by a security team that (mistakenly) believes speed is the enemy of effective cybersecurity. A new survey finds a majority of enterprises are working to overcome those roadblocks by integrating security into their existing DevOps methodology ...

July 31, 2017

Agile development compresses software testing cycles, jeopardizing risk coverage and opening the door for software failures. Here's what you can do ...

July 27, 2017

While 75 percent of organizations highlight continuous testing as critical or important, only a minority of survey respondents have made exceptional progress acquiring the necessary knowledge and key enablers to drive digital transformation, according to a global study by CA Technologies ...

Share this