Pit boss brisket
On this Wikipedia the language links are at the top of the page across from the article pit boss brisket. Look up PIT, pit, or pits in Wiktionary, the free dictionary.
If an internal link led you here, you may wish to change the link to point directly to the intended article. Real world mutation testing PIT is a state of the art mutation testing system, providing gold standard test coverage for Java and the jvm. It’s fast, scalable and integrates with modern test and build tooling. Mutation testing is conceptually quite simple.
If your tests fail then the mutation is killed, if your tests pass then the mutation lived. The quality of your tests can be gauged from the percentage of mutations killed. To put it another way – PIT runs your unit tests against automatically modified versions of your application code. When the application code changes, it should produce different results and cause the unit tests to fail. If a unit test does not fail in this situation, it may indicate an issue with the test suite.
It does not check that your tests are actually able to detect faults in the executed code. It is therefore only able to identify code that is definitely not tested. The most extreme examples of the problem are tests with no assertions. Fortunately these are uncommon in most code bases. Much more common is code that is only partially tested by its suite. As it is actually able to detect whether each statement is meaningfully tested, mutation testing is the gold standard against which all other types of coverage are measured. There are other mutation testing systems for Java, but they are not widely used.
They are mostly slow, difficult to use and written to meet the needs of academic research rather than real development teams. The reports produced by PIT are in an easy to read format combining line coverage and mutation coverage information. Light green shows line coverage, dark green shows mutation coverage. Light pink show lack of line coverage, dark pink shows lack of mutation coverage.