This project will develop advanced software engineering technologies suitable for the networked, distributed dimension of software and access to services and data (Objective 1.2). Specifically, we develop approaches to improve quality assurance: the challenge is to reduce time spent on testing, whilst increasing software quality, in order to quickly launch new, or enhancements of existing, web services and internet applications.
Testing for the internet software industry brings some unique challenges due to the combination of openness, complexity and evolution present in this domain. These challenges form the heart of our research project.
We aim to automate quality assurance, reducing its cost and improving effectiveness, based on properties of the system that should hold. We will develop this property-based testing for web services and internet applications in order to achieve a real improvement of testing efficiency. Property-based testing (PBT) provides a powerful, high-level, approach to testing; rather than focusing on individual test cases to encapsulate the behaviour of a system, in PBT this behaviour is specified by properties, expressed in a logical form. The system is then tested by checking whether it has the required properties for randomly generated data, which may be inputs to functions, sequences of API calls, or other representations of test cases.
We will enable PBT to be compositional, and we will simplify creation and understanding of models. We will develop techniques to compare multiple implementations, and to support testing of constantly evolving systems. We will address non-functional requirements such as performance requirements. Finally, we will define software assurance criteria that are compatible with property-based testing to ensure the highest quality assurance.
We combine academic expertise in testing, software tools, refactoring, distributed and concurrent systems, together with practical experience from our industrial partners. These companies provide a variety of services and projects to a breath of markets and include tool vendors, consultants and trainers together with software and service developers.
Our results will improve our tool vendor's products, be adopted by our partners within Interoud, and be disseminated by ESL and SP to their customers throughout Europe in a variety of sectors, and used by those customers. This three-pronged strategy will guarantee real impact.