George Shin, Hewlett-Packard Company
Finding new and never before covered code is a challenge in a continuous integration testing environment, which requires merging and preserving code coverage measurements from each different build version across different build targets. Across a lot of code churn and frequent rebuilding, the developers and testers must rely more on automation and tools to detect and minimize coverage gaps between each test iteration. In an environment where random testing methodology is used, the importance of cumulative code coverage measurements, reporting and analysis becomes part of the quality release process. Between each integration testing iteration, the emphasis is placed on measuring the effectiveness of the test coverage against detecting modified code down to the minimal subset (for instance, a function in high-level language). This emphasis is particularly important for the developers in test to stay integrated continuously with the daily commits to the nightly builds. Product developers in their continuous integration within a given (private) branch are required to maintain high quality commits (to baseline or feature branch) by focusing on unit test coverage against modified code using both full and incremental builds. This paper discusses a system environment that delivers automation and tools that contribute to developing and testing a better quality product for our customers, and that also minimizes risk of exposing uncovered code that can become customer visible failures.