Quick Survey -- Are you doing property testing and if so, what library are you using?

I just figured I’d ask the community what they are using for Property Testing these days.

A couple of years ago I used the eqc_ex package which is quviq’s quickcheck for Elixir.

I used this to test out this module

with this test file

I recently just found out recently that Elixir has its own native property testing library, StreamData.

Clearly there are other libraries out there

So my question is: 1) are you doing property testing and if so, 2) what library are you using? And optionally impressions… – Thanks!

2 Likes

I’m currently working on inserting StreamData into parts of our testing and using it to generate example data for dev work. The reason I chose StreamData was for it’s possible inclusion in Elixir and because I had to choose one to try out. If it felt too cumbersome I’d just use another one.

2 Likes

I prefer the propEr overall. I’m not a fan of quickcheck’s license (at all). StreamData I’ve used recently even though it is not as powerful as proper because I’ve been expecting it to be added to Elixir itself (it really needs to be fleshed out a bit more first though). :slight_smile:

1 Like

Recently did a bunch of testing with StreamData, worked great. Fantastic experience.

3 Likes

Another +1 for stream_data here. Haven’t used it very much so far but it’s been working great.

3 Likes

I’ve used Quixir, QC for Elixir, PropCheck and StreamData over the past year or so. I’ve gone for StreamData recently because it’s up for inclusion with Elixir (I hope it’ll be easier to do and more common in the future). I’m happy with the API.

1 Like

I’ve used StreamData and proper. Recently I’ve been using Proper more because it’s more powerful then StreamData in StreamData’s current state. IMO the true power of property testing lies in model checking which is well supported in Proper. There’s discussions about adding a model checking api to StreamData though. I think that would be a huge win for the community.

3 Likes

That sounds intriguing, do you have more information about it? I’m having trouble finding out more about this model checking from Proper’s homepage.

Actually I just found the issue you raised on the stream_data github, following along with the conversation, it’s very interesting. Looking forward to playing with some sort of model testing in the future.

If you are not too afraid of erlang there is a great book by Fred Hebert about property testing.

http://propertesting.com/

It uses proper and gives a nice introduction from simple property testing to stateful properties.

2 Likes

Fred Hebert provides a fantastic overview of stateful tests and propers StateM module in his property testing book: http://propertesting.com/book_stateful_properties.html