Succeeding with Use Cases: Working Smart to Deliver Quality

Let's review the key points from this chapter:

  • Model-based specification is a technique for crisply specifying the expected behavior of use cases. Its componentsa simplified model of inputs, outputs and state; preconditions; postconditions and invariantsprovide an integrated basis for use case failure analysis and test design.

  • Preconditions, postconditions, and invariants work as a team. The precondition identifies the conditions under which a postconditionwhich describes the results of a use case operationwill work correctly and not cause the invariant to fail.

  • Invariants are to use cases what safety requirements are to safety critical systems. They are a statement of properties about the use case that we expect to be true. A good way to identify invariants is to identify potential hazards of the use case, then work backwards to identify what must be true to prevent the hazard.

  • A technique exists for the calculation of preconditions from a postcondition and an invariant. For numeric applications, the technique requires little more than simple algebra.

  • Each operation or step that makes up a use case can have preconditions that describe the conditions under which that operation will work and postconditions that describe outputs and state change of the operation. These operation preconditions and postconditions are the source of preconditions and postconditions that the use case literature associates with the use case as a whole.

In the next chapter, we apply what we have learned to test case design to catch system failures before they get to the customer. We'll learn that when it comes to testing, preconditions, postconditions, and invariants, taken as a unit, are a veritable triple threat test case. And we'll learn to do test design by leveraging the best of model-based specification and Robert Binder's Extended Use Case Test Design Pattern.

Категории