Requirement-based testing through formal methods (original) (raw)
Related papers
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.
Using model checking to generate tests from requirements specifications
1999
Recently, many formal methods, such as the SCR (Software Cost Reduction) requirements method, have been proposed for improving the quality of software specifications. Although improved specifications are valuable, the ultimate objective of software development is to produce software that satisfies its requirements. To evaluate the correctness of a software implementation, one can apply black-box testing to determine whether the implementation, given a sequence of system inputs, produces the correct system outputs.
Automated support for test-driven specification
This paper discusses an approach to test-driven specification, whereby specification is aided by test case design, and vice-versa. Decision tables are used as a lightweight specification language. We introduce an automated tool set to convert static decision tables into an executable form that supports interaction between test case design and specification refinement processes. We demonstrate the use of the toolset to accomplish three complementary functions: (1) to analyze the specification for completeness and consistency; (2) to assess the functional adequacy of a test set; and (3) to produce a test oracle. The contribution of this approach is a lightweight technique that exploits the duality between specification and testing early in the software lifecycle.
Approach to specification-based testing systems
At the end of a software development process, there is a need for software verification. The aim of the software verification is to assess the software product to determine conformance to its specification. There are a few methods which can be used for doing this. However, the most popular method is software testing. For software testing to be done effectively, there is a need to select proper test cases such that all aspects of the software can be tested. In this paper we describe a technique for generating test cases automatically from the formal specification of the software. We also describe a testing system based on this technique.
Formal Specification Based Software Testing: An Automated Approach
2003
Our work focuses on the use of formal techniques in order to increase the quality of HCI software and of all the processes resulting from the development, verification, design and validation activities. This paper shows how the B formal technique can be used for user tasks modelling and validation. A trace based semantics is used to describe either the HCI or the user tasks. Each task is modelled by a sequence of fired events. Each event is defined in the abstract specification and design of the HCI system.
Using formal specifications to support testing
2009
Abstract Formal methods and testing are two important approaches that assist in the development of high-quality software. While traditionally these approaches have been seen as rivals, in recent years a new consensus has developed in which they are seen as complementary. This article reviews the state of the art regarding ways in which the presence of a formal specification can be used to assist testing.
A tool for requirements-based programming
Integrated Design and …, 2005
In order to demonstrate the correctness of a system, de-velopers today must resort to either exhaustive testing or some combination of testing and formal verification follow-ing the use of appropriate methods in the development pro-cess. While formal methods have afforded numerous ...
A formal analysis of requirements-based testing
2009
Abstract The aim of requirements-based testing is to generate test cases from a set of requirements for a given system or piece of software. In this paper we propose a formal semantics for the generation of test cases from requirements by revising and extending the results presented in previous works (eg:[21, 20, 13]).
Automated Functional Test Case Synthesis from THALES industrial Requirements
IEEE Real Time Technology and Applications Symposium, 2004
Test case generation and specification validation are essential concerns for the software industry in its continuous search for productivity improvement and quality mastering. This paper presents the approach developed in the MUTATION project for functional test case synthesis in the THALES industrial context.