Is Full regression Testing Necessary after database Migration
We are upgrading from Oracle 10 to Oracle 11g and i have been asked to organise Testing of a couple of applications in the Test environment after the Migration. The Operation team handling the migration seem to think FULL Functional regression of the Application is required. I however dont think it is necessary since no code changes were made.
In my opinion a few tests covering Access, searching, sorting, uploading data and deleting records should suffice. What do you think?
I would be a little leery of cases where Oracle has decided to disable a previously-deprecated function. If they did that (and I don't know that they did between 10 and 11g) you would, in effect, have a code change.
Tests can lean more towards data validation in instances where stored procedures and triggers are used.
Also performance testing is necessary as some of the indexes may not have the same impacts/performance as they did previously.
Also how is the database migrated? If it's being rebuilt from source vs. a straight DB dump, there may be issues with hotfix alters that may not be applied.
Thanks guys for your replies. This is a great site...
Keep it up
We do testing because of a perceived risk.
Originally Posted by heavyd
While none of your application's code has changed, you have to treat it as if ALL of the database has changed. You need to assess the risk that something in the database changes will adversely affect your application. Then you need to consider what you should do to reduce that risk.
I'm in the midst of migrating our datacenter from one location to another. In addition to changing the location of the systems, we are also upgrading Oracle (and about a billion other pieces of the infrastructure, too). I've decided that a full, in-depth set of regression tests, followed by a prolong Beta testing period with our customers is necessary to reduce the risks in our system. Your mileage may vary.
You certainly know your application far better than any of us can. Perhaps you know that your application was fine after a similar Oracle upgrade recently. Perhaps you've analyzed all the differences between Oracle 10 and 11, and determined that there will be no adverse impact on your application. And perhaps that led you to conclude that only a few tests are needed here.
Just a anecdotal comment, I've been part of Oracle 11g migrations for 2 different companies I've worked for. The main issues we saw from the migration was mostly in reporting related features.
I would test as much as possible for an Oracle 10 to 11 upgrade. One particular oddity we found was the difference in the way 10g and 11g manage their passwords. If I remember correctly, 10g clients and 10g databases were not case sensitive. Basically, both the client and DB converted the passwords to uppercase. We had an issue where a legacy system was still using a 10g client against the newly upgraded 11g DB. All was fine at first because 11g flags grandfathered accounts with a 10g flag, still treating them as case-insensitive. But, when we reset our password, the DB changed the account flag to 11g. Since the new password was camel-case, the legacy app with the 10g client converted the password to Ucase while the DB was now treating it as mixed. Was a bugger to figure out. Of course, if you're not using 10g clients, then I just spent 5 minutes crying over spilled milk.