Friday, May 29, 2009

Migration

Migration Testing:

Migration testing also includes up gradation testing.

After reading the first statement most of us get a doubt on what i mean by Migration / Up gradation?  

Let me explain my view with an example.

Say i have developed a software and named it as SW1
and now after i release it into the market, good that i got few customers for it. Happy Happy!!! :)

Now as my customers started using it.. they even started reporting the issues.. As there it is a fact that there is no bug free Software in this world.

and after giving some fixes to the customer, to make him happy i got another idea. let me now Compile all fixes into a pack and now give it as a fix pack release. This fix pack may again have only the fixes or may include simple feature which helps customer to enhance his business.

and finally now the fix pack say "FP1" is released.

As business keeps on growing up day by day there will be many more new business requirements.

Now gathering all the new business requirements i planned to release another version of my SW1. And now here is SW2 ready for customers.

again Fix packs on SW2...... so on.. the story continues...

Now coming to the testing side of it

There are two aspects:

  • Up gradation testing: SW1 -> FP1 ->FP2..
  • Migration Testing: (SW1+FP) -> SW2
and coming to migration testing:

There are different categories:
  • Runtime content testing
  • Design time content testing
  • Packaged content testing (This is nothing but the backward compatibility check)
  1. Runtime content testing:  Now say you have your working application which has some design time and runtime content. Now immediately after migration you execute your application and check whether it is fine or not. This is Runtime testing.
  2. Design time content testing: In the design time testing you check whether your content is migrated properly say if you have some HTML pages or XForms and some business process etc.. whether they are migrated properly or not.
Design time content migration check is equally important with the runtime check. The reason is, business keeps enhancing day by day with lot many new customers, and there comes a day where you need to enhance your business process to handle many more. Its not only in the case of business process, but may happen in any content used. Now to edit it you need to have the design time content migrated properly.



Backward compatibility Testing

Backward Compatibility:

What does we mean by it??

Backward compatibility testing is the kind of testing which ensures software pakages(ISVP's) built on your previous versions work on the latest versions.
Eg: you have version 1 of your software and you have developed some applications on top of it for your customer, which generally is delivered as an Idependent Service Vendor Package . 

Now you have Version 2 of your software.

And if you just want to check if the ISV given to your customer works fine on the newer version. This check/verification is called Backward compatibility check.

This also ensures that the previous build functionality is working fine on the latest release.