PI Mutation Tests

Faults (or mutations) are automatically seeded into your code, then your tests are run. If your tests fail then the mutation is killed, if your tests pass then the mutation lived.
https://pitest.org/


Example
Method: isPositive
Actual implementation:
  if (number >= 0) return true;
Following test will pass:
  assertEquals(true, xxx.isPositive(10));
But fail for following code mutation:
  if (number > 0) return true;
To kill the mutation, the unit test should test boundaries:
  assertEquals(true, xxx.isPositive(10));
  assertEquals(true, xxx.isPositive(0));

See: https://www.mkyong.com/maven/maven-pitest-mutation-testing-example/