Please log in to watch this conference skillscast.
Love it or Loathe it, testing is an unavoidable aspect of developing high-quality software. But there's a world of difference between well-tested code and simply writing tests. Very often, the difference boils down to how you assess the "correctness" of your code. By focusing on software as a mapping from inputs to outputs, property-based testing offers a powerful methodology for testing the logical invariants a piece of code should always uphold, regardless of implementation details.
During this session, you will explore a review of FsCheck, a powerful library for doing property-based testing and sophisticated data generation in the CLR ecosystem. In addition to the basic features of the library, you will learn about identifying common invariant patterns and building specifications from collections of properties. Time will also be spent exploring how FsCheck can be used to refine domain models and integrate with other popular testing tools. Finally, real-world examples will highlight both the strengths and weakness of this approach to software craftsmanship. While no prior knowledge is assumed, familiarity with the CLR (.NET or Mono) will be helpful.
YOU MAY ALSO LIKE:
- Building Distributed Systems with ZeroMQ and F# - Audience Level: Mixed (SkillsCast recorded in April 2017)
- Janet Gregory's Agile Testing for the Whole Team (in London on 28th - 30th October 2019)
- Modern development with Java (in London on 9th - 11th December 2019)
- droidcon London 2019 (in London on 24th - 25th October 2019)
- P3X - People, Product & Process eXchange 2019 (in London on 31st October - 1st November 2019)
- Testing and UB (in London on 21st November 2019)
- Reprogramming Biology with F# (in London on 28th November 2019)
- Principled Testing of Functional Reactive Systems (SkillsCast recorded in October 2019)
- Testing in Production. From DevTestOops to DevTestOps (SkillsCast recorded in September 2019)
Quick! Check your Properties (and Write Better Software) - Audience Level: Beginner
As a passionate – yet pragmatic – enthusiast of multi-paradigm and polyglot engineering, Paulmichael has spent the past 17 years blending a disparate array of languages, technologies, and methodologies to develop compelling solutions to a wide range of business problems. He especially enjoys solving challenges in distributed computing, visual communications, and heterogeneous enterprise systems. Paulmichael is a co-founder of NashF# (the Nashville F# Meetup) and a co-organizer of the New York City F# Users Group.He received Microsoft MVP Awards for his work in the .NET community in 2014, 2105, and 2016. When not at the keyboard, Paulmichael may be found globe-trotting with his wife and son (though his soul is still honky-tonkin' in Nashville, TN).