Angular
-
Sep 21 2026
The two questions code coverage can't answer: property-based and mutation testing for .NET and Angular
Code coverage tells you a line ran. It doesn't tell you whether you tried the inputs that matter, or whether anything would notice if the line were wrong. Those are two separate gaps, and there's an old technique for each: property-based testing generates the inputs you didn't think of, mutation testing breaks your code to see if a test complains. Both are decades older than my interest in them, and what changed isn't the techniques. It's that generating code got cheap while checking it didn't. Here's how they work on .NET and Angular, what they cost, and why each one is the check on the other.