Get started Bring yourself up to speed with our introductory content.

Four tips for effective software testing


Know the correct application results

Source:  Worakorn/Fotolia
Visual Editor: Sarah Evans/TechTarget

Defining expected results independently of and before actual results is necessary but not sufficient. The expected results have to be correct. You have to know the correct application results in order to tell whether the product is producing it correctly.

In general, real business requirements are the basis for determining correct application results. However, too often real business requirements are inadequately identified. Moreover, most testing is based on demonstrating that the product meets its feature requirements, which means the product works as designed. Demonstrating the product works as designed is necessary but not sufficient for -- let alone the same as -- demonstrating that the product as designed satisfies the real business requirements and thereby accomplishes the value it should.

Some exploratory testers believe their main purpose is to ascertain how the software works, essentially investigating many different instances of, "What happens if I try this?" Although perhaps interesting and even sometimes enlightening, this approach is a form of defining actual results that quite intentionally omits consciously determining what the right answer should be.

Ultimately, tests need to demonstrate that products not only work as designed but in fact satisfy the real business requirements, which are the basis for the "right answers" and should include most quality factors. Most developers and most testers, exploratory and otherwise, focus on product requirements without adequately understanding the real business requirements the product must satisfy to provide value.

Exploratory testing is one of many methods to help identify wrong and missed requirements, but it's usually neither the most economical nor most effective means to do so. Simply detecting requirements issues doesn't automatically correct them; and corrections are easily lost or distorted when they are only in the tester's mind. Moreover, I find it unlikely that exploratory testers who explicitly don't want to know the requirements somehow magically can know better, based on typical requirements, what the right answers should be.

View All Photo Stories