← Graph

Mutant on steroids

talk 27 connections

Markus Schirp's wroclove.rb 2019 conference talk, held the day after his mutation-testing workshop. Frames mutation testing as a 'derived check' that mechanically applies transformations to code to surface unspecified semantics, which a human must then remove or cover with an additional test. Walks through Mutant's nomenclature: subject (instance/class method that has tests and can be mutated), match expression (recursive enumeration, class scope, specific instance/singleton method), selection (process of picking the corresponding tests using RSpec describe/context metadata or explicit coverage declarations in minitest), mutation operator (semantic-reduction operators and auto-color replacements), and mutation (alive = red flag; dead = covered). Lists preconditions for any test suite: green tests, idempotent tests, random-order-runnable, concurrency-hard, carrying selection metadata, and discoverable subjects — all of which Rails challenges (auto-loading hides subjects, shared DB state breaks idempotency and ordering, etc.). Advocates incremental mutation testing as the pragmatic way to introduce Mutant on a large existing codebase, only analyzing subjects touched in the current PR. Q&A covers: whether to use it on every project (yes, human time is the most expensive resource), CI integration via a top-level namespace match expression in incremental mode, using Mutant as a complexity metric and a refactoring guide, equivalent mutations (rare; often reveal weak library semantics that can be upstreamed), and experience with mutation testing in other ecosystems (originated for Schirp with the Haskell Heckle tool while working on DataMapper 2's axiom relational-algebra engine).

type
talk
year
2019
talk Mutant on steroids
about
Mutant tool
Talk introduces Mutant's nomenclature and use.
talk Mutant on steroids
about
Talk explains mutation testing as a derived-check technique dating to the 1970s.
talk Mutant on steroids
about
Talk defines the three forms of match expressions.
talk Mutant on steroids
about
Talk defines subjects as instance/class methods that have tests and can be mutated.
talk Mutant on steroids
about
Talk explains selection via RSpec metadata and explicit minitest coverage declarations.
talk Mutant on steroids
about
Talk describes semantic-reduction and auto-color-replacement operators.
talk Mutant on steroids
about
Talk explains the alive/dead distinction and why alive mutations are the primary artifact.
talk Mutant on steroids
about
Talk lists green/idempotent/random-order/concurrent/metadata/discoverable preconditions.
talk Mutant on steroids
about
Talk promotes incremental mode as the way to start mutation testing today.
talk Mutant on steroids
about
Talk addresses the equivalent-mutation problem in Q&A.
talk Mutant on steroids
about
Talk discusses how Rails defies most mutation-testing preconditions.
talk Mutant on steroids
about
RSpec tool
RSpec's describe/context metadata is Mutant's implicit selection mechanism.
talk Mutant on steroids
about
minitest tool
minitest lacks implicit metadata so Mutant requires explicit coverage declarations.
asked_at
Mutant on steroids talk
Audience question during the Q&A.
asked_at
Mutant on steroids talk
Audience question during the Q&A.
asked_at
Mutant on steroids talk
Audience question during the Q&A.
asked_at
Mutant on steroids talk
Audience question during the Q&A.
asked_at
Mutant on steroids talk
Audience question during the Q&A.
asked_at
Mutant on steroids talk
Audience question during the Q&A.
asked_at
Mutant on steroids talk
Audience question during the Q&A.
person Markus Schirp
authored
Mutant on steroids talk
Schirp is the speaker of 'Mutant on steroids'.
from_talk
Mutant on steroids talk
Insight delivered during the Q&A on why clients should adopt mutation testing.
from_talk
Mutant on steroids talk
Pair of insights from the Q&A.
from_talk
Mutant on steroids talk
Key recommendation from the talk.
talk Mutant on steroids
presented_at
Schirp delivered the talk at wroclove.rb 2019, the day after his workshop.
talk Mutant on steroids
related_to
Schirp opens by referencing 'Martin's talk' on automatable checks and frames mutation testing as a 'derived check' building on it.
related_to
Mutant on steroids talk
Gamsjaeger explicitly sets the stage for Schirp's Mutant talk, which follows immediately.

Provenance

Created
2026-04-17 16:17 seed
Read by
16 extractions