118: Code Coverage and 100% Coverage
Code Coverage or Test Coverage is a way to measure what lines of code and branches in your code that are utilized during testing.
Coverage tools are an important part of software engineering.
Coverage tools are an important part of software engineering.
But there's also lots of different opinions about using it.
- Should you try for 100% coverage?
- What code can and should you exclude?
- What about targets?
I've been asked many times what I think about code coverage or test coverage.
This episode is a train of thought brain dump on what I think about code coverage.
This episode is a train of thought brain dump on what I think about code coverage.
We'll talk about:
- how I use code coverage to help me write source code
- line coverage and branch coverage
- behavior coverage
- using tests to ask and answer questions about the system under test
- how to target coverage just to the code you care about
- excluding code
- good reasons and bad reasons to exclude code
And also the Pareto Principle or 80/20 rule, and the law of diminishing returns and how that applies (or doesn't) to test coverage.
Links:
Help support the show AND learn pytest:
- The Complete pytest course is now a bundle, with each part available separately.
- pytest Primary Power teaches the super powers of pytest that you need to learn to use pytest effectively.
- Using pytest with Projects has lots of "when you need it" sections like debugging failed tests, mocking, testing strategy, and CI
- Then pytest Booster Rockets can help with advanced parametrization and building plugins.
- Whether you need to get started with pytest today, or want to power up your pytest skills, PythonTest has a course for you.
Creators and Guests
