Wednesday, August 20, 2008

Software Migration Test

Writen by Uzi Shuri

The purpose of this article is to describe the recommended method and approach of testing new implementation of migrated software.

The coverage and effort of testing migrated software is extremely high. Although from business component point of view there should not be any difference between the Legacy outputs (outputs of the old system) and new system, all other components are completely different. I would like to list those components: software, operational platforms, infrastructures, interfaces, data bases and even human resources. Testing group has a main roll and responsibility bringing a success or failure in such projects.

The suggested test approach presented below feats to new implementation of migrated software projects and based on personal experience, but need to be adapted in case of specific and special needs are required.

The method is having three main active testing groups. First group is a familiar one, the UAT group - User Acceptance Test. Second group is Operational group. This group includes all the relevant people that will use the system for any kind of reason in real live mode. The Third group called Legacy group and includes business people that highly familiar with the old system. The UAT and Operational groups will perform test design and execution in parallel on two completely different platforms with different goals and purposes. The Legacy group will work with each one of the other groups separately, meaning 50% with UAT and 50% with Operational.

The main task of UAT group is defining, executing and analyzing the results of all possible business test cases. Although it might looks like a regular UAT task, it is definitely not. The trivial UAT work is becoming a big unknown while testing migrated software, because the business scenarios are new to the testers and this will be the first time they will actually test them. Since business scenarios results are very important and must be accurate, there is almost no tolerance of having a mistake, the Legacy business group will work closely with UAT. In practice Legacy business group will approve or not approve each test case result that UAT will execute and produce. Without these approvals the system will considered as not ready. The rest of UAT elements which specializing this group will remain as usual - test environments, test labs, synthetic data, converted data, simulators etc.

UAT and Legacy groups will verify the business scenarios results to the level of bits and bytes: correctness of values, data, print files, calculations, file structures, working buttons, incoming files etc.

The Operational group will perform tests in parallel to UAT, but for completely different purpose. This group will work on the real near future platform, environment from all aspects. The target is testing all system components not from the business point of view, but from connectivity and operability views. The Operational group will also test interfaces, performances, system back-ups, system down-times and more elements which specializing real environment platform. Since the Legacy group has the knowledge of all the old system internal and external outputs and general system behavior they will compare and approve the output test results produced by the Operational group.

From experience, reaching the Operational group targets is definitely not easy and required many intervals of executing the same processes until system is stabilized.

Conversion of Data Base

In a software migration project the data base in the old system need to be converted to the new data base structure and definitions. The complexity of this activity is depending on the data variety. Each project management is planning the readiness for the conversion data base in different time stages according to other constraints. I strongly recommend performing this activity as early as possible. The reason is related to the UAT and Operational test groups. From testing point of view it is important to prepare and execute test cases for the different and real profiles, options and types which define in the data base, otherwise many test cases will be tested on synthetic data which is not a valuable data in migration projects.

A successfully migrated software project is depending on the approval of the Legacy group to both accumulated test results which produced by UAT and Operational groups.

My name is Uzi Shuri. I am a professional testing adviser. My profession and experience is all related to testing of software. From being a tester to managing big groups of testers, I was experienced all roles and responsibilities of testing in software life cycle. Now, I would like to share it with you.

No comments: