PROWESS: Property-based testing for web-services
Testing for complex systems and big data Reverse engineering and refactoring testing and monitoring.
The Prowess project aims to provide the European software industry with efficient and effective testing tools and techniques for web services and internet applications. We address the challenge 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. To address this, we have been developing methods and techniques to improve property based testing (PBT). 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. A number of tools have been developed within the project to further these aims, these include: QuickCheck, a tool for property-based testing, Wrangler, a tool for refactoring, WSToolkit, a testing toolkit for web services, Smother, an MC/DC code coverage tool, WEDL-DSL a DSL for automatic test data generation, and many more.
All technology developed during this project are tested in practice in a number of industrial pilots that the academic partners perform together with our industrial partners and their customers. This evaluation feed backs into the project itself, and is used to further improve and extend the technology developed. Prowess results allow the partners to increase their business attracting new customers on the web services and internet sector in general. The exposure to new companies is already achieved through Quviq consultancy on Volvo IT, Ericsson and Basho. Erlang Solutions is approaching potential customers outside of their usual Erlang users network. Our academic partners are making research widely known and increasing the user base.
Cross collaboration has started with several EU and national projects. These include the EU projects: FITTEST, MIDAS, IoT.est, Broker@Cloud, SafeCer and RELEASE. We have shared speakers and technical results, and plan a joint mini-workshop with members of the Broker@Cloud consortium on common aspects of the testing of web and cloud services.