Testing-Essentials ▪ Think Like a Tester ▪ Test Strategy ▪ Test Tooling, Automation ▪ Test Analysis and -Design ▪ Performing Tests and Reporting ▪ Appendix
We test to gather information about a software product. Here are some common information objectives for testing:
We test to be sure our software isn’t rejected because it fails to satisfy an essential customer constraint.
We test to be sure our software isn’t rejected because it doesn’t do the things people want it to do.
We test to be sure our software isn’t rejected because it imposes unacceptable costs and/or requirements on our customers.
We test to be sure our software isn’t rejected because its failures destroy customer confidence.
We test to be sure our software isn’t rejected because it forces our customers to waste their time.
We test to be sure our software isn’t rejected because it’s too costly for most of our customers.
– Weinberg.More than one organization has been killed by software that did something it didn’t want it to do. Sadly, more than one person has been killed, too.
– Weinberg.Testing cannot predict how many people will buy your product, but it can help reduce the risk that people won’t buy it because it doesn’t do what they’re willing to pay for.
– Weinberg.If customers won’t buy your products, your business won’t succeed. But even if they do buy, you could lose money on each sale if, for instance, the technical support cost exceeds the price of the product. Testing can help reduce the risk of unanticipated repair costs and support.
– Weinberg. Good testing involves balancing the need to mitigate risk against the risk of trying to gather too much information. Before you even begin to test, ask yourself: What questions do I have about this product’s risks? Will testing help answer these questions?
If you don’t have questions about a product’s risks, then there’s no reason to test. If you have at least one such question, then ask: Will these tests cost more to execute than their answers will be worth? – Weinberg.In general, though the answers to questions posed by testing should have the potential of reducing risk, assessment of risk is subjective. It has to be, because it’s about the future, and - as Woody Allen, Niels Bohr, and Yogi Berra all reportedly have quipped - we can predict anything except the future.
Risk is also subjective because the same risk feels different to different people. A person’s ideas about risk influence that person’s ideas about what is proper testing. – Weinberg.
James Thomas posed this question to members of testing communities and posted the answers in this post: Why Do They Test Software?