Property Based Testing
Let's continue this quarter with a hot topic: Property-Based Testing! We have **two** speakers lined up. Since the second talk is Erlang centric we have https://www.meetup.com/Erlang-User-Group-Krakow/events/248496571/ too.
Invariants Are Everything - Joseph
Property-Based Testing may well make it into the Elixir standard library. If and when it does are you ready to make the most of it… perhaps you want to reap the benefits earlier? In this introductory talk we’ll concentrate on how Property-Based Testing helps express intent, how to come up with properties, and how it helps to get things right!
Testing C with Erlang QuickCheck - Sylwester
Sylwester would like to share the idea of property based testing C code using Erlang Quickcheck. Property based testing is about exhaustive testing on different SW levels: starting from the UT level to ending at a complete system test.
The main idea behind PBT:
Instead of writing large number of static test cases, the programmer creates a model of tested object behaviour. Test cases are generated automatically based on the model. Generated scenarios explore the areas and interactions between features that are rarely covered using static tests. So far QuickCheck has been very effective in finding problems in our code. It also allows us to maintain and specify requirements which is also beneficial.
Joseph is a Software Engineer at Erlang Solutions. He works with Elixir (and Erlang) on projects involving JSON/HTTP APIs, TURN/STUN, XMPP, and AMQP.
Sylwester graduated in Computer Science from the Kielce University of Technology. For a number of years, he worked at Motorola Solutions in Krakow, as a Tetra Subscribers and later a Tetra Infrastructure Division engineer.
At Motorola he participated in many kinds of project:
- real time embedded programming
- DSP for RF baseband processing
- He also got the basics of Erlang while working in the infrastructure division
When Sylwester joined Assa Abloy he was assigned to an individual customer embedded project. The job is very interesting. He is working with the customer hand in hand to define requirements. The most important factor is quality and reliability of code. In order to achieve this goal Sylwester decided to invest in property based testing which was an unknown approach at Assa Abloy. Since he had some experience in Erlang, Sylwester bought a commercial QuickCheck license from QuviQ and decided to use it as his main testing strategy.