Artwork

Content provided by Kris Jenkins. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Kris Jenkins or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.
Player FM - Podcast App
Go offline with the Player FM app!

Automate Your Way to Better Code: Advanced Property Testing (with Oskar Wickström)

1:07:09
 
Share
 

Manage episode 403608096 series 3476072
Content provided by Kris Jenkins. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Kris Jenkins or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.

One of the most promising techniques for software reliability is property testing. The idea that, instead of writing unit tests we describe some property of our code that ought to always be true, then have the computer figure out thousands of unit tests that try to break that rule.

For example, you might say, “No matter which page you visit on my website, there should always be a login button or a logout button.” Then the test’s job is to try to break that rule, but clicking around until it finds some combination of clicks fails that assertion. Like, maybe it finds the 404 page, and you realise it was missing the website’s normal header.

At its best, property testing takes far less work than unit testing, but is far more thorough, because it lets us write the rules and has the computer write the examples. The downside is, it often seems theoretical. It can be hard to apply property testing to real-world cases. Let’s fix that.

We’re joined by Oskar Wickstrom, who’s been building all kinds of different systems and bringing property testing with him wherever he goes. We discuss the basics of property testing, then he goes into the advanced and cunning techniques that go beyond the ordinary into testing databases, webpages and more. With a bit of thought, he can help us test a ten times as much code with a tenth of the effort.

--
Oskar’s book, Property Testing a Screencast Editor [ebook]: https://leanpub.com/property-based-testing-in-a-screencast-editor

Quickstrom: https://quickstrom.io/

F# for Fun & Profit: Property Testing Series: https://fsharpforfunandprofit.com/series/property-based-testing/

Linear Temporal Logic: https://en.wikipedia.org/wiki/Linear_temporal_logic

The Quickstrom Paper: https://arxiv.org/abs/2203.11532

TodoMVC (One frontend app, many implementations): https://todomvc.com/

Oskar on Twitter: https://twitter.com/owickstrom

Kris on Mastodon: http://mastodon.social/@krisajenkins

Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

Kris on Twitter: https://twitter.com/krisajenkins
--
#softwaredevelopment #podcast #programming #testdrivendevelopment #propertytesting

  continue reading

61 episodes

Artwork
iconShare
 
Manage episode 403608096 series 3476072
Content provided by Kris Jenkins. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Kris Jenkins or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.

One of the most promising techniques for software reliability is property testing. The idea that, instead of writing unit tests we describe some property of our code that ought to always be true, then have the computer figure out thousands of unit tests that try to break that rule.

For example, you might say, “No matter which page you visit on my website, there should always be a login button or a logout button.” Then the test’s job is to try to break that rule, but clicking around until it finds some combination of clicks fails that assertion. Like, maybe it finds the 404 page, and you realise it was missing the website’s normal header.

At its best, property testing takes far less work than unit testing, but is far more thorough, because it lets us write the rules and has the computer write the examples. The downside is, it often seems theoretical. It can be hard to apply property testing to real-world cases. Let’s fix that.

We’re joined by Oskar Wickstrom, who’s been building all kinds of different systems and bringing property testing with him wherever he goes. We discuss the basics of property testing, then he goes into the advanced and cunning techniques that go beyond the ordinary into testing databases, webpages and more. With a bit of thought, he can help us test a ten times as much code with a tenth of the effort.

--
Oskar’s book, Property Testing a Screencast Editor [ebook]: https://leanpub.com/property-based-testing-in-a-screencast-editor

Quickstrom: https://quickstrom.io/

F# for Fun & Profit: Property Testing Series: https://fsharpforfunandprofit.com/series/property-based-testing/

Linear Temporal Logic: https://en.wikipedia.org/wiki/Linear_temporal_logic

The Quickstrom Paper: https://arxiv.org/abs/2203.11532

TodoMVC (One frontend app, many implementations): https://todomvc.com/

Oskar on Twitter: https://twitter.com/owickstrom

Kris on Mastodon: http://mastodon.social/@krisajenkins

Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

Kris on Twitter: https://twitter.com/krisajenkins
--
#softwaredevelopment #podcast #programming #testdrivendevelopment #propertytesting

  continue reading

61 episodes

All episodes

×
 
Loading …

Welcome to Player FM!

Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.

 

Quick Reference Guide