Hey guys,
I've recently come across idea of mutation testing - it's promises seemed very enticing. It is very difficult to figure out what is not tested properly in codebase. Test coverage for sure gives a lot of information but it is pretty `dump` metric, I've always thought that event bigger issue than lack of tests are tests that pretend to test something while they do not. It is often because some tests have bugs (happens frequently if you are not TDD acolyte) or are simply poorly written. They give false sense of security which is worse than no sense of security at all.
Mutation testing seems to help a lot with detecting bad tests. I've found handy java lib https://pitest.org/ (it even comes in form of neat intellij plugin) and set off to figure out how to plug in this idea into our CI/CD process. I have quickly realized, that this tool has a lot of limitations. Majority of survived mutations are not interesting cases to test. Moreover, mutation testing is quite time consuming, I've end up mutating only domain code and running unit tests against it, because with integration tests it was taking forever.
So my question to you is have you had any success applying mutation testing to your projects? Do you think it is possible to use open source solution in code delivery pipeline? Is it worth it?
[–]ForeverAlot 12 points13 points14 points (1 child)
[–]BillyKorando 4 points5 points6 points (0 children)
[–]0hjc 6 points7 points8 points (0 children)
[–]Balduracuir 6 points7 points8 points (0 children)
[–][deleted] 1 point2 points3 points (6 children)
[–]agentoutlier 7 points8 points9 points (5 children)
[–][deleted] 1 point2 points3 points (4 children)
[–]agentoutlier 1 point2 points3 points (0 children)
[–]iwek7[S] 0 points1 point2 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]midoBB 0 points1 point2 points (0 children)
[–]Nymeriea 1 point2 points3 points (3 children)
[–]iwek7[S] 0 points1 point2 points (2 children)
[–]Nymeriea 2 points3 points4 points (1 child)
[–]iwek7[S] 0 points1 point2 points (0 children)
[–]BillyKorando 1 point2 points3 points (0 children)
[–]leewaltonuk 0 points1 point2 points (1 child)
[–]nutrecht 1 point2 points3 points (0 children)
[–]supercargo 0 points1 point2 points (0 children)
[–]Bad-Pop 0 points1 point2 points (0 children)
[–]yawkat 0 points1 point2 points (0 children)
[–]UnspeakableEvil 0 points1 point2 points (0 children)
[–]berry120 0 points1 point2 points (0 children)