Information Technology Reference
In-Depth Information
of optional fields, for instance). In addition, such software needs to be context-
aware, since the requirements vary when the same software is used in different
ways. There are several ingredients for ensuring that such complex systems pro-
vide the expected reliability, among them choosing a good architecture, using
the right technologies, improving the software process, and also being extremely
thorough and ecient in testing .
Testing of complex systems is dicult and time-consuming in the extreme,
and in the ProTest project we build upon the innovative idea of using properties
as objects for testing software. In order to deliver dynamic services and interop-
erable network applications with guaranteed properties, we focus testing around
these properties.
The economic motivator is that testing with properties as objects improves
the competitiveness of software developers, since they can deliver higher quality
software for a lower price. It also allows collaborating companies to improve the
definition of their software interfaces and therewith improve the compatibility
between their services.
Our objective is to deliver methods and tools to support property-based de-
velopment of systems, and in order to do so we need tools to integrate property-
based testing into the development life cycle. To this extent we are conducting
work along four technical themes as follows:
Property discovery. Current testing is based on sets of test cases embedded in
test suites; over the lifetime of the project we will aim to provide tools to aid
the software developers to extract properties from this test data. Current speci-
fications and models are often informal: so we will develop specialised property
languages to ease the formalisation of existing specifications.
Test and property evolution. All software systems are subject to change and
evolution; we will thus provide tools to support the evolution of tests and
properties in line with the evolution of the system itself.
Property monitoring. Not all properties can be tested in advance of systems being
executed, and so we will provide tools to support the post hoc examination of
trace details for conformance to (or indeed violation of) particular constraints.
Analysing concurrent systems. At the heart of service oriented systems is
concurrency: servers will provide services to multiple clients in a seamlessly
concurrent way; services will federate to provide complex functionality through
concurrently performing parts of a task. We will provide tools by which such
concurrent systems can be analysed for fundamental properties by way of model-
checking and testing.
In subsequent sections of this paper we explain work in progress under each
of these themes.
2 Background
The ProTest project aims to introduce property-driven development into the
software engineering process. Property-driven development can be used in a va-
riety of programming languages and systems. The particular platform chosen for
Search WWH ::




Custom Search