Testing in the program development cycle

Janusz W. Laski · Software Engineering Journal · 1989

A program design methodology is presented that advocates the synthesis of tests hand-in-hand with the design at every stage of program development, and uses them for early detection of design flaws. Formal specifications are advocated at every stage of the development process. It is illustrated on an example that• formalisation allows for a systematic derivation of black-box, design and abstract data tests• higher-level testing leads to significant structural coverage of the final code but does not eliminate the need for structural testing• abstract data testing allows a more natural selection of tests than concrete data testingExcept for the last stage, the method is of manual nature; however, the formal approach opens a way for its automation and rapid prototyping. Also, it can be combined with formal verification.

Read the paper · More papers on PaperTik