Mutationstest
Verfahren, das absichtlich kleine Fehler in den Code einbaut, um die Aussagekraft der Tests zu prüfen.
Ein Mutationstest verändert den Code absichtlich an einzelnen Stellen minimal – etwa wird ein Vergleichsoperator vertauscht oder eine Konstante geändert – und prüft, ob die vorhandene Testsuite diese Änderung, die sogenannte Mutation, bemerkt. Schlägt kein Test fehl, hat die Mutation „überlebt“, und die Tests decken diese Stelle im Zweifel nicht ausreichend ab.
Mutationstests adressieren eine Lücke, die reine Testabdeckung offenlässt: Code kann durchlaufen werden, ohne dass ein Test tatsächlich prüft, ob das Ergebnis stimmt. Weil jede Mutation die komplette Testsuite erneut ausführt, ist das Verfahren rechenintensiv und läuft in der Praxis oft nicht bei jedem Commit.
Wofür Provimedia es einsetzt
Provimedia setzt Mutationstests in ausgewählten Projekten als lokales Gate ein, um blinde Flecken in der eigenen Testsuite aufzudecken.
Mutationstest für Ihr Projekt nutzen?
Lassen Sie uns in einem kostenlosen Gespräch herausfinden, wie wir das für Sie umsetzen.
Regional gefragt: Softwareentwicklung in Ihrer Stadt →
Mehr aus Softwarequalität
Clean Code
Leitidee für Code, der auf Verständlichkeit für Menschen ausgelegt ist statt nur für den Compiler.
Mehr erfahrenCode Review
Systematische Durchsicht von Code durch andere Entwickler vor der Zusammenführung in den Hauptstand.
Mehr erfahrenCode Smell
Auffälliges Muster im Code, das nicht zwingend falsch ist, aber auf ein tieferliegendes Problem hindeutet.
Mehr erfahrenDefinition of Done
Im Team vereinbarte, schriftliche Liste an Kriterien, die eine Aufgabe erfüllen muss, um als fertig zu gelten.
Mehr erfahrenLinting
Automatisierte Prüfung von Code auf Stil- und Formatierungsfehler nach festen Regeln.
Mehr erfahrenQuality Gate
Prüfstufe in der Entwicklungspipeline, die eine Änderung nur bei Erfüllung fester Kriterien passieren lässt.
Mehr erfahrenRefactoring
Gezielte Umstrukturierung von bestehendem Code, ohne dessen äußeres Verhalten zu verändern.
Mehr erfahrenRegressionstest
Erneuter Test bestehender Funktionen nach einer Änderung, um neu entstandene Fehler zu erkennen.
Mehr erfahren