Tool Support for Test-Driven Development Using Formal Specifications
نویسندگان
چکیده
This paper describes how Test-Driven Development (TDD) can be conducted using formal specifications with appropriate tool support. In TDD, the test code is a formal documentation of the required behaviour of the component or system that is being developed, but this documentation is necessarily incomplete and often over-specific. We propose an alternative approach to TDD that is to develop the specification of the required behaviour in a formal notation as a part of the TDD process and to generate test oracles from that specification. This approach has the advantage that the specifications can be complete and appropriately abstract but still support TDD.
منابع مشابه
Combining Formal Specifications with Test Driven Development
In the context of test driven development, tests specify the behavior of a program before the code that implements it, is actually written. In addition, they are used as main source of documentation in XP projects, together with the program code. However, tests alone describe the properties of a program only in terms of examples and thus are not sufficient to completely describe the behavior of...
متن کاملTest-Driven Development with Oracles and Formal Specifications
The current industry trend to using Test Driven Development (TDD) is a recognition of the high value of creating executable tests as part of the development process. In TDD, the test code is a formal documentation of the required behaviour of the component or system being developed, but this documentation is necessarily incomplete and often over-specific. An alternative approach to TDD is to de...
متن کاملUsing Test Oracles and Formal Specifications with Test-Driven Development
This paper illustrates how Test Oracles and Formal Speci ̄cations, with appropriate tool support, can be used with Test-Driven Development (TDD). In TDD, the test code is a formal documentation of the required behavior of the component or system that is being developed, but this documentation is necessarily incomplete and often over-speci ̄c. We describe an alternative approach to TDD that is to ...
متن کاملAn automated approach to specification animation for validation
Formal specification has been increasingly adopted for the development of software systems of the highest integrity. However, the readability of specifications for large-scale and complex systems can be so poor that even the developers may not easily understand whether their specifications define the ‘‘intended behaviors’’. In this paper, we describe a software tool that supports the animation ...
متن کاملA Supporting Toolfor Syntactic Analysis ofSOFL
SOFL formal specifications have been proved to be useful and expressive enough in describing functional requirements for software development. Based on SOFL formal specifications, many techniques have been proposed to provide us with effective solutions for software verification and validation. To support these techniques, a tool support for analysis of specifications is necessary. However, suc...
متن کامل