The University of Sheffield
Verification and Testing

Testing

In software testing there is an urgent need to understand the process of testing and to develop coherent theories of testing that could form the basis of practical testing methods for testing complex systems. Testing is a compromise between certainty and sufficiency and the study of, for example, model-based and hypothesis-based testing is an important area of work.

We place a major emphasis on practical testing methods which are suitable for complex systems. How to build effective test sets in an automated fashion, exploiting both formal techniques and evolutionary methods for searching complex test solution spaces is key. Testing in the presence of changing requirements is another open problem.

People

Kirill Bogdanov, Tony Cowling, John Derrick, Marian Gheorghe, Mike Holcombe, Phil McMinn.

Projects

ProTest: develop software engineering approaches to improve reliability of service-oriented networks, support fault-finding and diagnosis based on specified properties of the system, build automated tools that will generate and run tests, monitor execution at run-time, and log events for analysis.

Automated Discovery of Emergent Behaviour: This research intends to test agent-based models using intelligent search techniques, with the specific intention of 'homing in' on behaviours of the model that have not been exposed in previous simulation runs. In this way, the search process will encourage testing of the model in unlikely or ill-conceived situations, where the model's behaviour may diverge from that intended.

REGI: This work explores the relationship between various fields of reverse-engineering and grammar inference, and produces a set of approaches based on and extending existing techniques that, when combined, will produce a practical technique that generates complete and accurate hierarchy of state machines of a software system.

Automated abstraction of code into a state-based specification and test generation: The work aims to develop a method and a tool to take an incomplete state-based specification, hints for developers as to how it relates to code and both extract a complete (up-to-date) specification and generate tests from it.

Taic Part 2006, 2007: grants supporting UK workshops on testing.

FORTEST: UK network on formal methods in testing.