CodeCoverage/Firefly: Difference between revisions
Mnandigama (talk | contribs) m (moved Firefly to CodeCoverage/Firefly) |
Mnandigama (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
== [[Image:Bigfirefly.png|center|119x162px]] == | |||
== Introduction == | == Introduction == | ||
Revision as of 23:46, 6 August 2009
Introduction
Project Firefly is a Mozilla internal project about using code coverage data, bugs data and code churn data to narrow down to smaller portions of code base to provide high impact test cases for coverage gaps.
The following coverage cycle best describes our tactical approach.
Why
Impact of Code Coverage as sole instrument of decision analysis
Code coverage data in isolation is a very incomplete metric in itself. Lack of coverage in a given area may indicate a potential risk but having 100% coverage does not indicate that the code is safe and secure. Look at the following example provided below. This is code coverage data grouped by component in the Firefox executable and the data is collected from automated test suites run only. Additionally there are a bunch of manual test suites that provide extra coverage.
Given the above information, one tends to gravitate towards low code coverage components to develop tests to improve product quality.
However, if you are provided an additional data point, like size of the component, you may realize that filling a 40% coverage gap in say Content gives you a bigger bang for the buck than improving 100% code coverage in xpinstall. [Side note: This data is generated on Linux so, there would be no coverage for xpinstall]