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 ArtinSoft’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 ArtinSoft 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 ArtinSoft migration project
In general terms, test cases perform the following functions in a migration project
handled by ArtinSoft:
-
Help the ArtinSoft Consulting and QA teams to understand the application being migrated.
During the last 2 years, ArtinSoft migration projects have also included 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 ArtinSoft’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 ArtinSoft’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 ArtinSoft 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:
There are many automatic testing and bug tracking tools in the market. It is recommendable
that each customer evaluates available options according to his requirements before
making a decision, but in several recent projects we have seen that many of our
clients use Quality Center.
Sample format
The following is an example of a test case:
[Test case title]
Test case steps
[Type here the detailed steps of the test case using the following table]
The following are some examples of how steps should be specified in this section: