Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Testing properties with QuickCheck

Testing properties with QuickCheck

Lightning overview of testing properties of your programs with QuickCheck. Cover the very basics but introduce how these ideas can be applied to concurrent, distributed applications (aka web apps).

Steven Shaw

July 07, 2015
Tweet

More Decks by Steven Shaw

Other Decks in Programming

Transcript

  1. CONCURRENT SYSTEMS (2) Google to find reports and talks. Distributed

    Systems are Concurrency Systems that span multiple nodes. i.e. these ideas apply to Distributed Systems. i.e. web “Erlang QuviQ”
  2. REFERENCES (PDF) and —Chapter 11 of Original QuickCheck paper from

    2000—Claessen and Hughes QuickCheck homepage manual Testing and quality assurance Real World Haskell Introduction to QuickCheck on Haskell Wiki https://github.com/steshaw/quickcheck-examples
  3. REFERENCES (2) TESTING CONCURRENT SYSTEMS (PDF) (PDF) Erlang QuickCheck Testing

    Erlang Concurrency with QuickCheck Finding Race Conditions in Erlang with QuickCheck and PULSE
  4. REFERENCES (3) TESTING DISTRIBUTED SYSTEMS (PDF) (Video), Jon Meredith, Basho.

    Testing Telecoms Software with Quviq QuickCheck Modeling eventually consistent databases with QuickCheck
  5. SEE ALSO for exhaustive checking of your properties (rather than

    QuickCheck style random samples) SmallCheck Comparison of QuickCheck and SmallCheck