NCover 4.3: Scalability & Performance

Today NCover 4.3 has been released to general availability.  The improvements in this release are in direct response to the vision and growth we’ve encouraged our teams to pursue since we launched version 4 last summer: “Cover it all!  Unit tests, integration tests, manual tests, and live usage. Don’t waste your testing.” Scalability and performance are essential to enable this kind of usage.

A few highlights of 4.3:

  • We’ve streamlined data synchronization with a new consolidation feature and way to delay the aggregation of statistics.
  • Automatic merging by build id.
  • Scalability improvements for simultaneous assembly and process coverage.
  • More control over synchronization with additional command line sync options

Consolidation
Merging coverage data is not a new tool in the NCover tool bag, but we’ve ramped the feature up to include a new behavior we call Consolidation.  By merging executions with consolidation we are able to reduce the amount of data stored on disk and unify the results seamlessly across a set of homogeneous but not contiguous testing cycles.  By consolidating coverage executions a given Collector, Desktop, or Code Central can reduce all executions for a given regression cycle to a single execution.  Consolidation streamlines the collection process and reduces the computational requirements of analyzing larger amounts of data.

MergeOptions

Merge by build id
The NCOVER_BUILD_ID has become an even more powerful marker in the coverage data collected by our teams.  Any project can be configured to merge by build-id upon completion of an execution cycle.  This merge can be a traditional, reversible merge or it can be a consolidation.  If your test run typically creates a lengthy list of executions, this automated merge with consolidation will reduce that collection of executions to a single execution for that test run.  Read up on using the NCOVER_BUILD_ID in your build and testing setup.

AdvancedProjectSettings

Scalability
The current family of NCover products has opened the door for a whole new set of coverage strategies.  Never before has any .NET code coverage product specifically targeted the professional software development team across all it’s disciplines.  These new capabilities come with their share of challenges.  Collecting coverage from around the globe requires scalability in every aspect of the code coverage process.  NCover began by collecting coverage in the build environment and today collects coverage in live user-based testing environments in such a seamless way that more coverage detail is being collected than ever before.  This 4.3 release of NCover has successfully collected coverage on systems with 1000+ assemblies and 2M+ lines of code in a single coverage process. We’ve also successfully collected coverage on hundreds of simultaneously running processes in a single coverage session.  This kind of scalability is essential to the timely and meaningful collection of coverage data across the development team.

Synchronization
Sending data from remote locations and machines to a centralized server is what Code Central is all about.  Leveraging the new consolidation and conditional aggregation functionality in NCover 4.3 the synchronization work is further reduced and once again scalability is improved.

At NCover we recognize that not every coverage project has 2M+ lines of code and 1000 assemblies loaded in a single process, but we also know that successful products grow over time and our teams need a tool that can help us set goals and manage growth.  We continually strive to provide the most systematic code coverage environment for those dev teams who are serious about their coding and testing standards.

We’re excited about the release of 4.3 and you will be too.  Download a trial or update of NCover today or contact one of our integration specialists to see how NCover can open your eyes to the real story of how your software release is tested.