We started this chapter by first considering the system as a black box. Before even starting the testing process, by applying use cases, the team could be reasonably confident that the requirements for the system were correct and that they had user buy-in and acceptance. In that sense, some of the testing had already begun.
Now, by using a comprehensive use-case-to-test-case strategy, we can fully test the behaviors of the black box, thereby assuring the team that the system performs as specified in the use cases.
We then described how we can look inside the box by analyzing the use-case realization design elements, both the static and dynamic behaviors, through inspection, emulation, and so on. This provides the team with assurance that the system is designed right , so that it should behave right .
Taken together, the team members can reach whatever degree of assurance is necessary for them to be confident that they have defined, designed, and implemented a system that meets the needs of the users . And that, after all, was the goal we established to begin with.