Complete Course

Mutation Testing with Jest and Stryker

Prove that 100% code coverage does not mean well-tested code: run Stryker, read the mutation score, kill surviving mutants, and enforce a quality gate in CI.

View Lessons

Course Content

6 comprehensive lessons covering everything you need to know

Introduction

Introduction
Course Structure
Learn how the course is organized and make the most of the content.
Introduction
Prerequisites
Systems and knowledge required to complete the course.
Introduction
Getting to know the project under test
Meet the Jest + Stryker proof of concept and its strong and weak test suites.
Lesson
Lesson 1
Fork and clone the project
Fork, clone, and install the mutation testing project.

Coverage vs. mutation testing

Lesson
Lesson 2
Why coverage is not enough
Run the tests and see 100% coverage on both modules, then ask what coverage does not tell you.
Lesson
Lesson 3
Running Stryker for the first time
Run mutation testing, read the report, and understand killed vs. survived mutants and the mutation score.

Reading and killing mutants

Lesson
Lesson 4
The strong suite vs. the weak suite
Compare a suite that kills every mutant with one that lets boundary mutants survive.
Lesson
Lesson 5
Killing the surviving mutants
Write the boundary and message tests that kill the survivors and push the score to 100%.

The quality gate and CI

Lesson
Lesson 6
The quality gate and continuous integration
Turn the mutation score into a break threshold and wire it into a CI pipeline.

Bonus & Conclusion

Conclusion
Congratulations!
You've completed the Mutation Testing with Jest and Stryker course!