Testing Erlang-OTP with QuickCheck
Examensarbete för masterexamen
Din, Crystal Chang
Erlang/OTP is a concurrent functional language developed and maintained by Ericsson AB, and was released as open source in 1998. Though Erlang/OTP has been tested for many years, it is still possible to find more bugs since some test cases have not been written yet. The commercial version of QuickCheck for Erlang was recently developed by Quviq AB. It is a tool replacing conventional test cases by writing specification of properties under test that the tested function should fulfill. Moreover, QuickCheck also provides libraries for testing operations containing side-effects, which are specified via an abstract state machine. Based on that, QuickCheck is a testing tool mainly applied in this thesis that focuses on Erlang/OTP data-structures. In the first part, it starts with analyzing properties of pure functions in various data-structure modules. After that, we develop extensive test suites. As long as the functions having the same property, they can be tested through the same property. In the second part, we test imperative functions of the rest of data-structure modules by using QuickCheck state machine. The bugs which were found in Erlang/OTP as well as the method which was used to identify the bugs will also be described in the later part.
Programvaruteknik , Software Engineering