Mind of a software tester -- Interview with Louise Tamres
- By Dan Romanchik
[Jan 28, 2003 - ADT's Programmers Report] -- Software
testing is a mindset, says author Louise Tamres. In her more than 16 years of
consulting work, including stints for the Dept. of Defense and General Motors,
she has applied specific techniques to assure the quality of the end product. In
Introducing Software Testing
, her recent book for newcomers to
software testing, Tamres tells readers how to apply truly critical thinking to
this key process. Programmers Report recently spoke with Tamres about the new
Q: What is the most common mistake developers make when testing
A: Some developers still believe in ''code first, then test.''
Actually, defining tests before writing code helps to build testability into the
software and often creates more bulletproof code.
Q: How can developers improve their testing skills?
experience and learning through mistakes. Over time, you'll develop a sense of
what does and doesn't work in different situations.
It's also important to realize that software testing is a mindset. Just like
writing and editing are complementary tasks, testers must take a critical view
of software. You need to ask ''What if?'' Good testers pay attention to detail.
Over the years, I've critiqued requirements and other documents with an eye
toward testing, so I've learned to spot ambiguities and missing information. The
goal is to find problems as early as possible.
Q: What tools should be available to developers to make software testing
easier and more effective?
A: You should already have access to the most
important tools -- spreadsheets and configuration management tools. Spreadsheets
are ideal for capturing and recording test-case information and test status.
Configuration management tools are crucial for tracking the large number of
files and for ensuring that the correct configuration of code is tested.
Configuration management also allows you to keep track of the many scripts and
other files related to testing.
A bug-tracking tool helps you to track the problems found during testing.
This is typically the primary means of communication between testers and
Q: What should all software developers know about software testing?
Programming and testing require different skills, so you need to learn how to
Testing should start at the beginning of a project. Software testers use
requirements and design documents (and anything else that defines product
features) to create test cases. One by-product is that testers find problems
early on in the project -- well before the first line of code is written.
Developers are often surprised at the amount of work required for testing. In
addition to defining tests, a significant amount of coding is required to create
a test execution environment and to program test scripts. Then there's the
actual executing of the tests.
For more information on Introducing Software
Testing on the Addison-Wesley Web site, please go to http://www.aw-bc.com/catalog/academic/product/0,4096,0201719746,00.html
For other Programmers Report articles, please go to http://www.adtmag.com/article.asp?id=6265
Dan Romanchik is an engineering manager turned writer and Web developer. His current passion is amateur radio. You can read his amateur radio blog at www.blurty.com/~kb6nu.