ThatJeffSmith

What is Your Test Plan?

Is that an offensive question? Does it assume to much? I can’t imagine asking ‘Do you have a test plan?’

I was working with an Oracle group this week, and after hearing about a big application upgrade schedule to go in April, I had a few questions for them. I was most curious how they would ensure that no performance degradation would occur? This would be a major concern of mine for any major upgrade, but is particularly important on a 10g to 11g move when there are no corresponding hardware upgrades.

I find a lot of users that leave the database settings to the defaults, assuming that the database will pretty much run the way it always has.

This of course caused a lot of problems for users when they were rudely awoken to the realization that the Rules Based Optimzer (RBO) was no longer in play for 10g and that their execution plans had all changed. While there is no similar change for 11g, to assume that everything will just ‘work’ A-OK after the upgrade seems like an awfully big gamble to me.

I have ran into too many sites that have their horror stories after doing an upgrade and going back after-the-fact to tweak the database, application, and server to their optimal settings. It’s simply not good enough to check if you can login to your database and to see if the data is still in there.

You need to know how the system is running today, so you can check to see how it is going to run tomorrow. You don’t want to be the person to rely on the end-users to find your problems. DBAs hate developers who don’t do proper testing, so don’t put yourself in that same bucket.

There isn’t necessarily an easy answer.
Vendors have tools that can help with your testing, but you can’t spend your way out of testing. Someone needs to sit down and write a test plan. This requires time. It should take you longer to write your test plan and design your test cases than it does to execute the test.

Or am I just crazy?