Surviving the Top Ten Challenges of Software Testing: A People-Oriented Approach
Ashbacher, Charles, Mathematics and Computer Education
SURVIVING THE TOP TEN CHALLENGES OF SOFTWARE TESTING: A PEOPLE-ORIENTED APPROACH
by William E. Perry and Randall W. Rice
Dorset House Publishing, New York, NY, 1997, 216 pp.
As software projects have grown in size and scope, the number of ways a single program can be used is huge. The combinatorial explosion of possible paths easily reaches the billions or higher, making it impossible to completely test all of them. Throw in the dynamic interactions between software modules, and there is the problem of what needs to be re-tested after modification. Furthermore, developers are often loath to perform testing, and every study leads to the solid conclusion that no one should test their own creation anyway. Hence, the development of independent testing teams.
Creating, motivating, and managing those teams is a formidable task. The testing team is in the middle between the rock of the developers and the hard place of demanding customers. They must be ruthless in their search for errors, yet not so exhaustive that the product is never completed. Managers must be satisfied that the testing effort is cost-effective and worth the delay.
The top ten list of challenges is described as follows: 10) Getting Trained in Testing
Placing someone down at a terminal and telling them to test a package is an enormous waste. Testing is a profession with strategies, competencies and a sense of pride. These qualities must be instilled, and that requires quality training.
9) Building Relationships With Developers
The relationship between testers and developers is by nature a strained one. It is easy to slip into the state of mutual dislike even though their goals are the same.
8) Testing Without Tools
While this can be done, it is to be avoided if possible. Manual testing is prone to error. The cost of most tools can be recovered by the discovery of even one serious bug.
7) Explaining Testing to Managers
Testing is not only the last step of the software cycle, it is often thought of as reserved for menials. This is commonly reflected in the amount of money budgeted for testing. Since a bug caught in-house costs a fraction of what one can cost in the hands of a user, this is very short-sighted.
6) Communicating With Customers - And Users
Testing is more than just finding bugs in the code. …