[erlang-questions] Quickcheck'ing a protocol

Andrew Berman <>
Thu Sep 22 19:53:23 CEST 2016


Hey Pierre,

How do you QuickCheck RESTful APIs?  I'm a noobie with QuickCheck and using
it with RESTful APIs would be really useful to me.  Do you have any sample
code or is there a tutorial anywhere?

Thanks!

On Wed, Sep 21, 2016 at 10:58 PM Pierre Fenoll <>
wrote:

> Have you tried using PropEr / Quickcheck statem?
> http://proper.softlab.ntua.gr/Tutorials/PropEr_testing_of_finite_state_machines.html
> PropEr is free & open source & I use it to quickcheck RESTfull APIs.
>
>
>
> Cheers,
> --
> Pierre Fenoll
>
> On 22 September 2016 at 05:45, Josh Adams <> wrote:
>
>> So I've been frustrated lately by the fact that Slack's IRC gateway isn't
>> RFC 2812 compliant (https://github.com/bitwalker/exirc/issues/51)
>>
>> In dealing with this I wondered why the crap they needed an engineer to
>> go through the spec as a result of their server's response to figure out
>> that this was an issue (they've added it to their bug tracker, so I have
>> some amount of faith it might get fixed eventually - for now I'll paper
>> over the issue in the client which reduces the stress on them to actually
>> fix it though).
>>
>> Should RFCs / protocols of this nature just come with something like a
>> quickcheck model for their spec?  Is anyone aware of prior art around this
>> sort of thing aside from Quvic/Volvo that I could draw from if I wanted to
>> fiddle in this arena?
>>
>> I'd think that the ideal situation involves an open source quickcheck
>> implementation to test a given protocol implementation against at least
>> some of the RFC, and a means to run the tests against potential
>> servers/clients, with badges potentially showing the percentage of the test
>> that passes.  This would allow economics to drive spec implementers towards
>> correctness, which would save countless engineer-hours spent figuring out
>> why the damn clients can't talk to the damn servers for a given spec.
>>
>> Thoughts?  Pipe dream?  "Silly child, see A, B, and C for the many people
>> who are already doing this?"
>>
>> --
>> Josh Adams
>>
>> _______________________________________________
>> erlang-questions mailing list
>> 
>> http://erlang.org/mailman/listinfo/erlang-questions
>>
>>
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160922/47944978/attachment.html>


More information about the erlang-questions mailing list