3 ms·
Said with less vitriol: It's not just code coverage that matters. It's the code path selection that matters. If you have a ton of branches and you've evaluated
by inetknght 8y ago
Said with less vitriol:
It's not just code coverage that matters. It's the code path selection that matters. If you have a ton of branches and you've evaluated all of them once then yeah you sure might have 100% "coverage". But you have 0% path selection coverage since a single invokation of your API might choose true branch on one statement, false branch on another statement, and a second invokation might choose false branch on the first and true on the second.
While the code was 100% tested, the scenarios were not. What happens if you have true/true or false/false? That's not tested.
There's a term for this but I forgot what it is and don't care to go spelunking to find it.
- piaste 8y ago> There's a term for this but I forgot what it is and don't care to go spelunking to find it. Happy path?
- inetknght 8y agoNot quite what I meant, but that's another good description
- mosheroperandi 8y ago> There's a term for this but I forgot what it is and don't care to go spelunking to find it. sqlite calls this "branch coverage" https://www.sqlite.org/testing.html#statement_versus_branch_coverage https://www.sqlite.org/testing.html#statement_versus_branch_...