The Value Of Testing In A Migration Project

Understand how Sector7’s systematic approach to testing in migration projects ensures application stability, functionality, and performance, guaranteeing successful outcomes while minimizing risks throughout the migration process.

The Value of Testing in a Migration Project

Testing is a crucial component of any migration project. A well-defined test plan helps ensure the success of the project by validating the baseline system, assisting with unit and system testing, and providing the framework for final acceptance testing. At Sector7, we understand the importance of testing and follow a systematic approach to creating and using test plans throughout the migration process.

Testing for Success

The creation of a viable test plan is critical for the success of a migration project. Test plans serve various stages of the project and validate system integrity, application functionality, and platform compatibility. Sector7 applies a structured approach to developing and using these test plans for every project to ensure comprehensive coverage and successful migration.

Overview

At Sector7, we believe that spending sufficient time upfront to create a detailed test plan significantly increases the chances of meeting project deliverables, schedules, and expectations. However, we also recognize that the law of diminishing returns can apply if the test plan becomes too complex or time-consuming to execute efficiently. The challenge is to find the balance between detail and practicality, ensuring the plan is comprehensive yet simple enough for efficient execution.

The time required for testing depends on the speed of the platform, and the complexity of the migration also affects the time frame. It is important to align testing activities with the available resources to ensure effective execution and timely results.

Subject Matter Experts

At Sector7, we rely on Subject Matter Experts (SMEs), who are thoroughly familiar with the application and its operational details, to develop the test plans. These experts ensure that the test plans are documented in sufficient detail so that testers, even those unfamiliar with the application, can execute them efficiently.

In cases where automated test suites are available, they are employed for validating migration projects. However, when such automated tests do not exist, we recommend using manually scripted tests, ensuring step-by-step detail to guide the testing process. The development and implementation of automated tests can be resource-intensive and may not always be necessary for every project.

Sector7 has experienced test managers who work directly with clients to tailor test plans for their specific environments and project requirements. The remainder of this document describes how Sector7 utilizes test plans and the recommended steps for test plan creation and execution.

Test Plan Usage

Baseline Validation

The “baseline” system serves as the agreed starting point for a migration project. Baseline validation ensures that the source code received from the client can be built and validated on the source platform. This process confirms that we are migrating the correct version of the code and that all necessary source modules are accounted for. Successful execution of the test plan validates the system and serves as a reference point for functionality comparisons.

Unit Testing

Unit testing is essential during development and debugging stages. Programmers need to test parts of the application to recreate and track down issues. Although entire scripts may not be executed during unit testing, tests should be well-documented so basic program functionality can be inferred. SMEs provide necessary training to Sector7 personnel on application details and interpreting test results.

System Testing

Once all modules are migrated and unit tested, the project moves into system testing. During this phase, the target environment is set up, data is migrated or converted, and the code is moved to an isolated test system. Installation and configuration procedures are tested, and trial deployments identify the necessary setup steps. After stabilizing the environment, the test plan is used to perform system tests and ensure the migrated application's functionality is complete and accurate. We typically allocate three times the duration of the baseline test for system testing (e.g., if the baseline takes 60 hours, system testing is allocated 180 hours).

Acceptance Testing

Acceptance testing, performed by the client at project completion, validates the results of the entire migration project. It verifies that the migrated code on the target platform is functionally equivalent to the original system. The acceptance test plan must be agreed upon by both parties prior to its execution. It is critical that this phase focuses on application "hot spots"—areas with high usage and support for mission-critical business processes. Interfaces with external systems are high-risk areas, and the test plan should include detailed tests for each interface.

Test Plan Creation

Defining the Testing Approach

The first step in creating a test plan is defining the testing approach. This step does not need to be overly complex but should detail how different application areas will be tested. For instance, online tests might involve operators entering data manually, batch jobs could be submitted, and reports saved. Additionally, logistics for making tests repeatable must be considered (e.g., restoring data to a known state before each test run). The plan should also define how results will be captured and compared to baseline validation.

Defining the Application Subset to Test

Testing every possible code path in a large application is impractical. Based on profiling, Sector7 recommends testing 70-80% of the modules. This subset generally provides sufficient coverage to validate the migration. Testing the most utilized portions of the application is prioritized, and indirect subroutines or common application functions are included in functional tests without needing to be tested repeatedly.

As migration projects do not typically introduce new functionality, correcting migration-related defects usually resolves all instances of the problem across the application. However, for testing external system interfaces, Sector7 advises developing individual test plans for each, as these components often represent high-risk factors.

Training and Interpreting Results

Throughout the migration, engineers and testers will perform unit and system tests. It is essential that client testers or SMEs provide training to Sector7 engineers, enabling them to run tests independently and verify the results. This training ensures the completeness and accuracy of observed results and enables troubleshooting and problem analysis as needed.

Defining the Test Results Approval Process

Clear definitions for how test results will be captured, reported, and approved are critical. Sector7 recommends creating forms or control vehicles to manage this process. This includes designating responsible individuals, setting up communication procedures, and establishing turnaround time expectations for results approval and follow-up.

Script Each Functional Test

To ensure consistency, client QA personnel or SMEs should create written scripts for each functional test. These scripts should document each prompt seen during the test and the keystrokes required to proceed. Expected results should be listed to ensure the test’s accuracy. Scripts should be executed and debugged to ensure they reflect the actual user interaction with the application. Allowing sufficient time for script development is crucial, as this is a time-consuming but necessary task for ensuring test validity.

Approval and Agreement by All Parties

The final step is obtaining approval and agreement from all parties involved that the test plan is complete and viable. This agreement ensures that the test plan meets the needs of the project and all involved stakeholders.

cloud image Sector7 openvms migrations

Drive innovation with our technical capabilities

Trusted by top companies around the globe

Transform Your Legacy Software Today!

Get In Touch
Unlock the potential of your legacy software with our expert migration services.