The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Software Testing Plan Basics

My company has been around for a while and we are just getting serious (dedicating resources) about testing the sites we're building. I am charged with setting up the structure and process of testing. Has anyone out there been charged with the same task? Any tips or pointers/resources would be greatly appreciated.
Matt D. Send private email
Tuesday, May 17, 2005
We break our testing down into these major components:

NOTE: I do very little web work, so some of this may not apply to testing your sites

(1) Functional testing: Does it work the way it's supposed to work. This is usually automated with NUnit -- but sometimes we write our own test harness.

(2) Capacity testing: Load the database up to the hilt (millions and millions of records), simulate, via automation, the maximum expected user load and start logging transaction times. Again, we usually use NUnit for this.

I imagine, for web sites, you'd have to do the same for the web server -- test to see how it handles being overloaded. I normally don't do web apps, so I can't help on this one.

(3) UI Aesthetics: are all the fonts/colors/sizes etc. correct? This is usually done with a quick script to iterate through all the forms/screens/reports to check the basics -- but it really requires a pair of real "eyeballs" to check that the UI "looks good" for sufficient values of "good" -- haven't yet found a way to fully automate this, but it's partially automated. This is the hardest part, especially dealing with customers/clients. Everything can function perfectly, scale well under heavy load, and be just perfect -- but if they don't like the look of the UI, they'll complain and ask for a never-ending series of changes that benefit nothing other than "looking good".

(4) Platform installation testing: if you're supporting multiple platforms (in my world, this means Win 2K, Win 2K3, and Win XP) - the tests have to be run with the system installed on each platform. Some sort of Virtual Machine software really really really helps out with this. Joe's big on VMWare, but we use MS Virtual PC and MS Virtual Server for this.

That's about the extent of our "normal" testing. Other testing may be added on a project-by-project basis, as needed.
Tuesday, May 17, 2005
By your description of functional testing, I'm guessing you mean testing whether the product behaves as specified.

The usual compliment is testing that determines whether the software does what the customer wants, which sounds the same as "operates per the spec" but it isn't always; it's a sort of sanity check on the spec itself.  There's also usability testing, which is closely related.  It requires human interaction with the software, and can reveal all kinds of problems that the automated tests never would.
Matt Brown
Friday, May 20, 2005

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz