December 8, 2006

Test Tool Types

Over the last decade, I've found that all test tools, regardless of what they do, can be split into one of four seperate categories.

First, there are tools that test needs to test. Things like debug spew readers, memory trackers, fault simulation tools, DVD emulation suites...all of these allow testers to either see the state of the program or exercise certain functionality in the program.

Second, there are the tools that makes test easier or more efficient. In games, things that compare maps and show areas that have changed since the last iteration, or quick buttons to set up massive battles between unit types for balance testing, or directed dependency graphs derived from code changes since the last build...anything that lets test reduce the amount of time they set up for tests or reduces the surface area required for testing falls into this category.

Third, there are the tools that make test cheaper. Automated BVT's and other types of automated testing, continuous integration servers...anything that keeps test testing instead of stuck on a bad build or lets a machine do the work of a tester falls into this area.

Finally, there are the tools that free test up to focus on finding harder bugs. Content testing tools like level-leak checkers, code testing like unit tests and integration tests, and even spell-check for help documentation...anything that keeps a bug from getting to the testers in the first place falls into this area.

Where does your company invest its time?

No comments: