Newsletters Subscriptions Media Kit About Us Contact Search Home

Mid
Windows & Linux Edition
Volume 2, Number 32 -- August 20, 2003

Shaking IT Up: Putting QA to the Test


by Kevin Vandever

Are you testing your software before promoting it into production? More specifically, beyond unit or programmer testing, do you use an internal quality assurance department to test your software before it gets promoted into production? If so, you are probably wasting time and money. You are just as well off promoting your software into production right after a clean compile.

"Nonsense!" you say. Your test environment is top-notch, complete with proper test data, comprehensive test scenarios, and, most important, knowledgeable and motivated people, to ensure that the data is proper and that the test scenarios are comprehensive, right? Okay, then how large is your support staff? How many bug fixes do you have on your backlog? Does your IT department mildly resemble that of an emergency room after an English football match? If your answers to these questions are "small," "none," and "no" respectively, you can stop reading this article, pick up the phone, and call me--because I've got to see your environment--or call Liar's Anonymous, because you have other issues that I can't help you with right now.

Take the typical post-development routine. Instead of talking about software, let's talk about building bridges. Say we've just built this beautiful bridge, and to give it the IT spin we'll say that this bridge cost way more money and took much longer to build than originally estimated. Now that we have our bridge, we had better test to see if it works. The developer writes a test scenario and tests the bridge. That test goes something like this: Get an 80-pound girl to walk across the bridge and back (got to have a complete test), because she is the only person around. If she is able to perform that test satisfactorily, you've exhausted your test data and test scenarios and the bridge is now off to QA.

Now that QA has the bridge, they first check to see if you have a test plan. Without a test plan the bridge would quickly get slammed back to the bridge developer. But you've got a test plan: Have someone walk across the bridge and back. Sounds good. Well, who does QA get to walk across the bridge? QA doesn't have test people sitting around waiting to walk the bridge, so they use the bridge developer's test data: the 80-pound girl. QA then performs other checks to make sure the bridge is the right color and that all the right paper work has been turned in, and if all that is good, your bridge has passed QA and is off to production.

We all know what happens next. Hundreds of people cross the bridge at once, some weighing 380 pounds, and the bridge collapses, sending these people plunging to some unpleasing consequence below. The bridge developer's manager, the mayor of the town, and all the relatives of the people who fell off the bridge then pay a visit to--that's right, the bridge developer, not QA. All that, and the bridge still needs to be fixed.

Sounds ridiculous, right? Of course it does, but this kind of thing happens in IT shops all over the world, everyday. So what went wrong? There are many places to start, but let's just say that it's common practice for the QA department to use the developer's test plan. In that case, the developer should have written a more thorough test plan, which would have included more than one 80-pound girl crossing the bridge and back. Next, the developer should have had better test data at his disposal. Even if a better test plan were written, if there is only one 80-pound girl around to cross the bridge, that's all the testing you're going to get. So, in line with a proper test plan--which might include the minimum weight and number of people expected, the maximum weight and number of people, people running and jumping on the bridge, and so forth--there must be appropriate data. Specifically, we need a copy/subset of production data.

Regardless of what the bridge developer does, QA must understand what needs to be tested. If this is the first time they've ever tested a bridge, there must be some communication between the developer and QA to determine what really needs to be tested. If this is just one of many bridges, QA should have previously written test plans, which have been modified over the years as the process of bridge development has changed. Maybe bridges are getting smaller or larger, or are made from different materials. The point is, if QA has already tested bridges, and they should have documentation on what they tested, how the test performed, and any changes that were made based on the testing. QA should then have access to plenty of people to test the bridge. The 80-pound girl won't do. If that's all the developer had access to, well that's too bad; QA should go find the necessary people who fit the well-written test plan: a copy/subset of production data.

Once they have enough people to perform the test, QA should ensure that the test is performed in a safe environment, because it is the goal of QA to break the bridge. QA shouldn't test to pass something; they should test to fail something. QA has to find out how many people or how much weight it takes for the bridge to crumble. When it does crumble, the test data should only fall a couple of feet to a nice soft landing, as opposed to the production environment, which is hundreds of feet and not so soft.

It sounds like a lot of work to write a proper test plan, to ensure that the data is production-like, and to maintain a safe place to test, but when you step back and think about the overall picture, this up-front work is much less expensive, time consuming, and tragic than being visited by the manager, the mayor, and the victim's relatives, and rebuilding the bridge, and running the bridge through the same QA process that failed the first time.

Of course, responsibility falls on the developer, too. He is the one doing the work, but if you're going to have a QA department and incur all the time and cost associated with it, you owe it to yourself to take a good look at the process and see that it's not going to allow any collapsible bridges in your town.


Sponsored By
WINTERNALS SOFTWARE

Now you can have a defragger designed by Windows experts

When it comes to defragging, there's no reason to settle for expensive, time-consuming manual installations and operation. And there's no reason to use a defragger that takes up disk space on every single system it defrags.

Now there's Defrag Manager. The Winternals design team - makers of the world's most powerful Windows utilities - designed it to be so efficient and trouble-free it delivers an ROI in just weeks. Install Defrag Manager on one system to optimize systems throughout your enterprise.

Don't rely on risky, out-of-date technology. Go with the defragger designed by the people who know Windows.

Try it free with an eval CD.


THIS ISSUE
SPONSORED BY:

Hewlett-Packard
Unisys/Microsoft
Stalker Software
Brooks Internet Software
Acucorp
Winternals Software


BACK ISSUES

TABLE OF
CONTENTS
Good News, Bad News: IT Workers Very Busy

Gartner Positions Server Platforms with Magic Quadrant

Big Blue Hits SCO with Countersuit

The IT Fab Four Love Linux, Says DH Brown Study

Sun Keeps the Heat on Dell, Others with Entry Servers

Shaking IT Up: Putting QA to the Test


Editor
Timothy Prickett Morgan

Managing Editor
Shannon Pastore

Contributing Editors:
Dan Burger
Joe Hertvik
Shannon O'Donnell
Victor Rozek
Hesh Wiener
Alex Woodie

Publisher and
Advertising Director:

Jenny Thomas

Advertising Sales Representative
Kim Reed

Contact the Editors
Do you have a gripe, inside dope or an opinion?
Email the editors:
editors@itjungle.com


Copyright © 1996-2008 Guild Companies, Inc. All Rights Reserved.