Test cases for the migration project: importance and sample format
What are test cases and why are they important?
Test cases are formal examinations designed to validate certain functionality from the legacy system that should be preserved in the migrated application, that is, when the project goal was functional equivalence. In other words, they are sets of conditions or variables used to verify that the generated application is working as expected. These cases are documented in a test plan to act as a checklist for the quality assurance (QA) phase.
It is important that all the test cases used to assess the migrated application be fully detailed in its process and expected results.
From the perspective of the QA team, test cases are used to:
Understand the application to be migrated, from a functional standpoint.
Ensure that the resulting application has the same behavior as the original one.
Find any defects that may have been caused by the migration process.
Because of this, test cases become a source of knowledge that can be accessed at any moment and by several testers at the same time. This is quite useful when new QA resources join the team. The absence of this meticulous documentation can be mitigated by a knowledge transfer, but a knowledge base of the application’s functionality must be available. In Mobilize’s experience, this has been alleviated sometimes by the customer recording a series of specifications in video. Some other clients have provided one QA resource at certain points of the Testing phase, to work as an advisor for the Mobilize team, along with some knowledge base around the application.
Test cases also work as the acceptance criteria for the project; if they are not well defined, it becomes difficult to determine the assignment’s end point. At the same time, test cases provide a way to measure the progress of the testing and stabilization activities of the project.
The role of test cases in an Mobilize migration project
In general terms, test cases perform the following functions in a migration project handled by Mobilize:
Help the Mobilize Consulting and QA teams to understand the application being migrated. Many Mobilize migration projects include a phase early in the cycle in which the test cases provided by the client are validated against the original application, to verify that they are self-explanatory and provide the expected results. This also helps Mobilize’s teams to review and understand the functionality of the application. The Development team uses the Test Cases as well, to direct a Developer Testing activity that takes place before the migrated application is submitted to Mobilize’s QA staff.
Provide a way to corroborate that the migrated application is functionally equivalent.
Understand which areas of the application are critical from the customer’s standpoint.
Provide a way to track the progress of the stabilization and testing activities. The number of passing vs. failing test cases, as well as the number of active vs. closed bugs, are metrics that are constantly shared with the different stakeholders from Mobilize and the client, to provide information on the project’s advance.
Provide a way for the client to have a higher involvement in the migration project.
Provide a clear and well-defined Acceptance Criteria for the project.
Is it possible to use automated testing strategies and tools?
Automatic test cases can be used to test the application once it has been migrated, since they need the user interface to be stable: as most automatic testing engines rely on this, frequent changes to the user interface may render the automatic test cases invalid. This makes it unpractical to use this type of test cases during a migration. Automatic Test Cases developed for the VB6 application would not work on the migrated version.
In spite of this, automatic Test Cases have been used on the following scenarios:
Applications with a web interface that is not expected to change in any way during the migration process.
Business logic components with unit test cases developed for .NET only.