{"guid":"371aa3f8-ba1b-4e2c-a4ca-ab79772d996e","title":"Model-Based Testing with QuickCheck","subtitle":null,"slug":"bob11-2024-model-based-testing-with-quickcheck-bailly","link":"https://bobkonf.de/2024/bailly.html","description":"QuickCheck is well-known as a framework for Property-Based Testing whereby one writes tests as properties some code should respect and use generators and shrinkers to prove or find counterexamples to those properties. Building on those principles, quickcheck-dynamic is a new tool to define State-Machine like models of software, generate and run sequence of actions, and express properties of the system in terms of high-level Dynamic Logic expressions.\n\nThis session is both an introduction to, and an experience report on, the use of quickcheck-dynamic and more generally to the principles and practices of Model-Based Testing. Through a few examples drawn from real-life use of the library, I hope to convince the audience of the relevance of these tools for the development of complex, stateful software.\t","original_language":"eng","persons":["Arnaud Bailly"],"tags":["bob2024","12","2024","Talk","BOB","BOBKonferenz"],"view_count":66,"promoted":false,"date":"2024-03-15T14:15:00.000+01:00","release_date":"2024-07-14T00:00:00.000+02:00","updated_at":"2026-04-02T14:30:07.638+02:00","length":2654,"duration":2654,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2024/12-371aa3f8-ba1b-4e2c-a4ca-ab79772d996e.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2024/12-371aa3f8-ba1b-4e2c-a4ca-ab79772d996e_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2024/12-371aa3f8-ba1b-4e2c-a4ca-ab79772d996e.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2024/12-371aa3f8-ba1b-4e2c-a4ca-ab79772d996e.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2024-model-based-testing-with-quickcheck-bailly","url":"https://api.media.ccc.de/public/events/371aa3f8-ba1b-4e2c-a4ca-ab79772d996e","conference_title":"BOB Konferenz 2024","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024","related":[],"recordings":[{"size":80,"length":2654,"mime_type":"video/webm","language":"eng","filename":"bob2024-12-eng-Model-Based_Testing_with_QuickCheck_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2024-07-14T18:40:46.611+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2024/webm-sd/bob2024-12-eng-Model-Based_Testing_with_QuickCheck_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/78475","event_url":"https://api.media.ccc.de/public/events/371aa3f8-ba1b-4e2c-a4ca-ab79772d996e","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024"},{"size":164,"length":2654,"mime_type":"video/webm","language":"eng","filename":"bob2024-12-eng-Model-Based_Testing_with_QuickCheck_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2024-07-14T18:39:58.461+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2024/webm-hd/bob2024-12-eng-Model-Based_Testing_with_QuickCheck_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/78474","event_url":"https://api.media.ccc.de/public/events/371aa3f8-ba1b-4e2c-a4ca-ab79772d996e","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024"},{"size":40,"length":2654,"mime_type":"audio/mpeg","language":"eng","filename":"bob2024-12-eng-Model-Based_Testing_with_QuickCheck_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2024-07-14T18:19:37.735+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2024/mp3/bob2024-12-eng-Model-Based_Testing_with_QuickCheck_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/78473","event_url":"https://api.media.ccc.de/public/events/371aa3f8-ba1b-4e2c-a4ca-ab79772d996e","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024"},{"size":58,"length":2654,"mime_type":"video/mp4","language":"eng","filename":"bob2024-12-eng-Model-Based_Testing_with_QuickCheck_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2024-07-14T18:19:03.990+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2024/h264-sd/bob2024-12-eng-Model-Based_Testing_with_QuickCheck_sd.mp4","url":"https://api.media.ccc.de/public/recordings/78472","event_url":"https://api.media.ccc.de/public/events/371aa3f8-ba1b-4e2c-a4ca-ab79772d996e","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024"},{"size":28,"length":2654,"mime_type":"audio/opus","language":"eng","filename":"bob2024-12-eng-Model-Based_Testing_with_QuickCheck_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2024-07-14T18:09:31.906+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2024/opus/bob2024-12-eng-Model-Based_Testing_with_QuickCheck_opus.opus","url":"https://api.media.ccc.de/public/recordings/78468","event_url":"https://api.media.ccc.de/public/events/371aa3f8-ba1b-4e2c-a4ca-ab79772d996e","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024"},{"size":114,"length":2654,"mime_type":"video/mp4","language":"eng","filename":"bob2024-12-eng-Model-Based_Testing_with_QuickCheck_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2024-07-14T17:36:59.306+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2024/h264-hd/bob2024-12-eng-Model-Based_Testing_with_QuickCheck_hd.mp4","url":"https://api.media.ccc.de/public/recordings/78461","event_url":"https://api.media.ccc.de/public/events/371aa3f8-ba1b-4e2c-a4ca-ab79772d996e","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024"}]}