In that case, the boxes on the left might be better labeled “Whatever test design can be done with the information available at this point”.
Therefore, when test design is derived from a description of a component of the system, the model must allow such tests to be executed before the component is fully assembled.
I have to admit my picture is awfully ugly – all those arrows going every which way. I have two comments about that:
- We are not in the business of producing beauty. We’re in the business of finding as many serious bugs as possible as cheaply as possible.
- The ugliness is, in part, a consequence of assuming that the order in which developers produce system description documents, and the relationships among those documents, is the mighty oak tree about which the slender vine of testing twines. If we adopt a different organizing principle, things get a bit more pleasing. But they’re still complicated, because we’re working in a complicated field.
boundaries between them. It discourages people from carrying testing information across those boundaries. Some tests are executed earlier than makes economic sense. Others are executed later than makes sense.
Moreover, it discourages you from combining information from different levels of system description. For example, organizations sometimes develop a fixation on “signing off” on test designs. The specification leads to the system test design. That’s reviewed and signed off. From that point on, it’s done. It’s not revised unless the specification is. If information relevant to those tests is uncovered later – if, for example, the architectural design reveals that some tests are redundant – well, that’s too bad. Or, if the detailed design reveals an internal boundary that could easily be incorporated into existing system tests, that’s tough: separate unit tests need to be written.
Therefore, the model must allow individual tests to be designed using information combined from various sources.
And further, the model must allow tests to be redesigned as new sources of
information appear.