Formal Methods for Conformance Testing: Theory Can Be Practical
نویسنده
چکیده
Although testing is the most widely used technique to control the quality of software systems, it is a topic that, until relatively recently, has received scant attention from the computer research community. Although some pioneering work was already done a considerable time ago [Cho78,GG83,How78,Mye79], the testing of software systems has never become a mainstream activity of scientific research. The reasons that are given to explain this situation usually include arguments to the effect that testing as a technique is inferior to verification – testing can show only the presence of errors, not their absence – and that we should therefore concentrate on developing theory and tools for the latter. It has also been frequently said that testing is by its very nature a non-formal activity, where formal methods and related tools are at best of little use. The first argument is incorrect in the sense that it gives an incomplete picture of the situation. Testing is inferior to verification if the verification model can be assumed to be correct and if its complexity can be handled correctly by the person and or tool involved in the verification task. If these conditions are not fulfilled, which is frequently the case, then testing is often the only available technique to increase the confidence in the correctness of a system. In this talk we will show that the second argument is flawed as well. It is based on the identification of testing with robustness testing, where it is precisely the objective to find out how the system behaves under unspecified circumstances. This excludes the important activity of conformance testing , which tries to test the extent to which system behaviour conforms to its specification. It is precisely in this area where formal methods and tools can help to derive tests systematically from specifications, which is a great improvement over laborious, error-prone and costly manual test derivation. In our talk we show how the process algebraic testing theory due to De Nicola and Hennessy [DNH84,DeN87], originally conceived out of semantic considerations, may be used to obtain principles for test derivation. We will give an overview of the evolution of these ideas over the past ten years or so, starting with the conformance testing theory of simple synchronously communicating reactive systems [Bri88,Lan90] and leading to realistic systems that involve sophisticated asynchronous message passing mechanisms [Tre96,HT97]. Written
منابع مشابه
A formal approach to practical test selection
This paper presents a formal approach to the practical test selection problem that arises in conformance test laboratories when the question is which test cases from a given test suite should be executed. The existing standard ([1]), which provides a formal framework to conformance testing, does not deal with this aspect, although it is an important part of the test laboratories’ activity. Our ...
متن کاملFormal Methods and Conformance Testing or
In this paper, we will show the correlation between the notion of implementation relations known from formal methods and ideas of conformance testing. We will show that the implementation relations realized through the practical testing of systems come from a family of parameterized implementation relations. We will also show that for glass box testing, implementation relations parameterized by...
متن کاملA Practical and Complete Algorithm for Testing Real-Time Systems
This paper presents a formal method for generating conformance tests for real-time systems. Our algorithm is complete in that, under a test hypothesis, if the system being tested passes every test generated then the tested system is bisimilar to its speciication. Because the test algorithm has exponential worst case complexity and nite state automata models of real-time systems are typically ve...
متن کاملTesting Concurrent Systems: A Formal Approach
This paper discusses the use of formal methods in testing of concurrent systems. It is argued that formal methods and testing can be mutually profitable and useful. A framework for testing based on formal specifications is presented. This framework is elaborated for labelled transition systems, providing formal definitions of conformance, test execution and test derivation. A test derivation al...
متن کاملSpecification Based Formal Testing: The EasyLink Case Study
Testing is, in most cases, a manual activity that is time consuming and error prone. Automation, however, can severely reduce the associated costs. In the project Côte de Resyste (COnformance TEsting of REactive SYSTEms) theory is being developed and a protoype tool is being built to support the automatic test generation and execution from formal specifications for reactive systems such as comm...
متن کامل