Mutation testing mit stryker.net
16.12.2019, 00:00 Uhr
Die Mutanten kommen - wer killt sie?
Stefan Lieser hat ein kostenloses Mutation-Testing-Tool für .NET ausprobiert.
Wer Tests schreibt, stellt sich immer die Frage, ob alle relevanten Fälle abgedeckt sind. In der Regel wird dies durch ein Code-Coverage-Tool überprüft. Mit Mutation Testing steht eine ergänzende Methode zur Verfügung.
Die Idee ist verblüffend einfach: Bevor die Tests ausgeführt werden, wird der Code der Anwendung modifiziert. So wird beispielsweise die Bedingung einer if-Abfrage geändert: Lautet die Abfrage etwa if (x > 0), wird der Code so modifiziert, dass if (x >= 0) ausgeführt wird. Wenn die Tests eine ausreichende Abdeckung haben, muss diese Änderung dazu führen, dass wenigstens ein Test anschlägt und auf Rot geht. Der so modifizierte Code wird als Mutant bezeichnet. Schlägt ein Test fehl, ist der Mutant damit „gekillt“. Bleiben allerdings alle Tests auf Grün, überlebt der Mutant. Dies bedeutet. Es muss ein Test ergänzt werden, der den Mutanten killt.
Jetzt 1 Monat kostenlos testen!
Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
- + Digitales Kundenkonto,
- + Zugriff auf das digitale Heft,
- + Zugang zum digitalen Heftarchiv,
- + Auf Wunsch: Weekly Newsletter,
- + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar