| For the models to be useful, they must meet the requirements on the domain. Hence, we need to test the models against use cases as the best expression of the requirements. Each test case is a "polished" rendition of its originating use case. Agile processes rightly propose the construction of test cases before writing code. The same applies to models: You can construct a series of test cases for the models just as you would for code. Writing test cases first and executing them as soon as there is a model reduces the "verification gap"[3] between the model and its validation. Closing this gap is, we believe, a major contribution of executable models.
Final thought: Keep your brain turned "on" while creating and running tests. The procedures outlined here are not absolute. The tests must be an independent verification of the models; build tests to meet the real requirements. |