Devon C. Estes

Three Classes of Problems Found by Mutation Testing

It's fairly common for folks who haven't used mutation testing previously to not immediately see the value in the practice. Mutation testing is, after all, still a fairly niche and under-used tool in the average software development team's toolbox. So today I'm going to show a few specific types of relatively common problems that mutation testing is great at finding for us (and that humans are notoriously bad at finding). »

Announcing Muzak and Muzak Pro

As of today, Muzak and Muzak Pro are live! If you follow me on twitter you may have seen some hints that I've been making some good progress recently on the mutation testing library that I've been working on for close to a year now, and I think things are in a good enough place to push up the first versions of both Muzak and Muzak Pro. »

Migrating to Elixir with the Strangler Pattern

I think it's fair to say that a good amount of folks - if not the majority of them - using Elixir in production today are doing so after migrating an application to Elixir from some other language instead of just building in Elixir from scratch. Of course this idea of re-writing an application is scary, and rightly so! But there are some ways to make this process simpler and less scary, and also to reduce the likelihood of introducing regressions during this process, and that's what I'm going to go over today. »

Designing For Elixir Compiler Hints

There are some nice new features coming in Elixir 1.11, and one many folks are excited about are some new compile-time checks. The one I've heard the most excitment about is the the compile-time check for non-existent fields in structs. »

Testing Third Party Integrations

One thing that is always hard, regardless of what language you're working in, is testing integrations with third party services. I mean, how are you going to test something like uploading files to S3 without actually uploading the file to S3?! The answer to that is usually "mocking," but then there comes the question of how exactly one does that. Well, today I'm going to show how I test these sorts of things in code I work on. »