Testing Based on Formal Specifications

Authors:
    Marie-Claude Gaudel , University de Paris-Sud/CNRS

It is well accepted that formal specifications can be useful bases for software testing; some pioneering papers come back to the seventies. Given a specification and a system under test, any testing activity is, explicitly or not, based on a satisfaction relation (often called conformance relation): does the system under test satisfy the specification? The tests are derived from the specification on the basis of the satisfaction relation, and often on the basis of some additional knowledge of the system under test and of its operational environment called testability hypothesis. The verdict about the success or not of a test execution depends on the observations that can be made on the system under test, and it is based on the satisfaction relation. This course presents a generic framework for developing testing methods based on formal specifications, and its specialisation to several formal approaches: Finite State Machine, Algebraic Specifications, Input-Output Transition Systems, Communicating Sequential Processes.