Property-based testing is mainstream now in a number of functional languages (there, I’ve said it). This talk is dedicated to another randomised testing technique. Unlike property-based testing, which validates correctness of implementation of our programmes, mutation testing audits our tests suites. It introduces subtle faults to source code of our projects and verifies that our tests catch those synthetic problems. Clojure, a homoiconic language with dynamic code reloading, should offer us an excellent foundation for building a mutation testing library. But there’s not a single one out there. Why? Let’s try to answer this question together.
A video of this talk is now available here.