Property-Based Testing in a Screencast Editor
Property-Based Testing in a Screencast Editor
Case Studies from Komposition
About the Book
This is a short book on using property-based testing (PBT) within Komposition, a screencast editor.
First, this book introduces the system under test (SUT), Komposition. Next, it goes into PBT and highlights some challenges in testing properties of an application like Komposition. Finally, the main part of the book is compromised of case studies. Each case study covers increasingly complex components and how they are tested. It includes this author's personal reflections, what bugs the tests have found, and what still remains to be improved.
This is not a tutorial on PBT, but rather a collection of motivating examples. That said, you should be able to follow along without prior knowledge of PBT.
For example, it explains how using PBT helped find and fix bugs in the specification and implementation of Komposition's video classifier. Those were bugs that would be very hard to find using example-based tests or using a static type system.
This book is based on articles published on https://wickstrom.tech. While the content is mostly the same, there are few changes bringing it up-to-date. Also, if you've already enjoyed the articles, you might want support my work by purchasing this book. Finally, you might enjoy a nicely typeset PDF, or an EPUB book, over a web page.
To post a review, go to Goodreads.com: https://www.goodreads.com/book/show/47969546-property-based-testing-in-a-screencast-editor
Table of Contents
1 Introduction
1.1 Komposition
1.2 Property-Based Testing
1.3 Properties of the Ugly Parts
2 Case Study: Timeline Flattening
2.1 The Hierarchical Timeline
2.2 Timeline Flattening
2.3 Timeline Flattening Property Tests
2.4 Still Frames Used
2.5 Properties: Flattening Equivalences
2.6 Missing Properties
2.7 A Missing Feature
2.8 Summary
3 Case Study: Video Scene Classifcation
3.1 Classifying Scenes in Imported Video
3.2 Manually Testing the Classifier
3.3 Video Classification Properties
3.4 Testing Still Segment Minimum Length
3.5 Sidetrack: Why generate the output?
3.6 Testing Moving Segment Time Spans
3.7 Summary
4 Case Study: Integration Testing
4.1 A History of Two Stacks
4.2 Refactoring with Property-Based Integration Tests
4.3 Undo/Redo Tests
5 Summary
5.1 Property-Driven Development
5.2 PBT in Komposition
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them