Property based testing with Quviq QuickCheck
Konferensbidrag (offentliggjort, men ej förlagsutgivet), 2007
QuickCheck is a combination of a tool and method to support property based testing. Quviq is a start-up that commercializes the innovative idea of using properties as objects for software testing.
With QuickCheck one can describe software properties in a concise way, and one can automatically generate thousands of test cases from them.
The method has successfully been used in the telecommunication industry for network applications, and shown that random sequences of API calls generated from our properties can test much more, much more quickly, than can traditional, manually constructed test cases. The vast number of formats and options that these modern service-oriented applications support cannot efficiently be dealt with through a manual approach.
Property-based testing will deliver more effective tests, more efficiently, and thus deliver economic benefits. At the same time, the properties are far easier to maintain than manually written test cases.
Instead of a ratio of 2:1 for lines of product code versus lines of test code, we approach 50:1 and test more nevertheless.
Testing with properties as objects instead of manually specified test cases 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.