Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
No more external tools / unclear percentage scores / slow PR feedback. Code coverage at your fingertips while developing, by having tests fail when newly added code is missing coverage, with minimal overhead and great visibility. how code coverage works in ruby (regular vs branch vs oneshot) how single_cov keeps things fast and simple onboarding for small and large codebases (automated onboarding + divide & conquer) how to hack forked code coverage with forking-test-runner wishlist for coverage.so RubyKaigi 2019 https://rubykaigi.org/2019/presentations/grosser.html#apr19
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
The video titled "Actionable Code Coverage" featuring Michael Grosser at RubyKaigi 2019 delves into the intricacies of code coverage in Ruby and highlights actionable insights for developers. The presentation aims to clarify how to implement effective code coverage practices while avoiding common pitfalls associated with conventional approaches. Key Points Discussed: - **Introduction to Code Coverage**: The session outlines the basics of code coverage, its significance, and its inherent limitations in providing a complete picture of software quality. - **Coverage Techniques**: Distinguishing between line coverage, branch coverage, and one-shot coverage, the talk emphasizes that line coverage is inadequate for assessing test effectiveness alone. Newer techniques like branch coverage provide deeper insights by analyzing executed branches rather than just lines. - **Challenges of Existing Tools**: Grosser addresses issues with current coverage tools, including the long feedback loops they create during pull requests (PRs) and the misleading confidence a high coverage percentage can instill in developers. - **Importance of Actionable Insights**: The overarching theme is to treat code coverage not just as a metric but as a tool that drives meaningful discussions about testing practices. Developers are encouraged to use coverage results to question their test comprehensiveness and detect unreachable code. - **Introducing single_cov**: The presenter introduces a tool called single_cov that enables developers to run tests and get immediate feedback on coverage gaps locally. This tool reduces dependency on complex external setups, enhancing development efficiency. - **Use of Forking Test Runner**: Grosser also explains the concept of forking test runners, which helps manage global states in tests efficiently without losing coverage data, thus facilitating precise diagnostics during debugging. - **Desired Features and Future Improvements**: The wishlist for the Ruby community includes better automated coverage tracking tools, improved handling of coverage in fork contexts, and enhancements in tracking logical constructs like boolean operators. In conclusion, the video underscores the necessity of shifting toward a mindset where code coverage is seen as a collaborative asset rather than merely a metric. By implementing tools like single_cov and emphasizing thorough test examination, developers can significantly enhance their code quality and maintainability. The talk encourages continuous improvement and experimentation within teams to cultivate better coding standards, thereby making coverage a valuable part of the development process.
Suggest modifications
Cancel