In this chapter, I present some additional techniques for black-box testing. These techniques share in common a focus on testing the internal business logic of the system and how it handles realistic situations in which it must operate.
I’ll start by discussing the test application of use cases. Use cases are a common object-oriented design technique that you can utilize for testing if you work on a project where they are available. In non-object-oriented projects, scenario tests are a similar approach.
Next, I’ll discuss the use of live data and customer workflows for testing. Such test resources may be available for both IT and commercial software development and maintenance projects.
Finally, we’ll get to the topic of decision tables. Decision tables are a useful way to describe the internal logic of a system. When provided to or created by a tester, they are a powerful testing resource too.
The essence of both use case-based tests and scenario tests is simple. You design various cases that reflect typical or challenging real-world uses of the system. For example, suppose you’re testing a home equity loan application. You design tests around a hypothetical family, the Stevens. The Stevens are going to apply for a home equity loan using the application you’re testing. You flesh out the scenario as follows:
John and Jenny Stevens have three kids.
They own a house worth $400,000. They owe $350,000 on the ...