Skip to content

Software Development News: .NET, Java, PHP, Ruby, Agile, Databases, SOA, JavaScript, Open Source

Methods & Tools

Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!


Sequence-Point Coverage

Screen Shot 2014-05-12 at 3.03.48 PMWhen it comes to measuring the overall quality of your code, there are a variety of code coverage metrics you can use. Typically, each metric will follow a particular methodology for breaking code down into sections and then reporting on which of those sections were tested.  The methodology followed and the code coverage metrics subsequently reported, can produce significantly different results and have a meaningful impact on how you view your code and deploy your development resources.  This post is focused on sequence-point coverage, the base code coverage number used by NCover.

Understanding The Basics

In order to more fully understand sequence-point coverage, it is helpful to understand two more basic code coverage metrics, Line Coverage and Statement Coverage.

Line Coverage – The Most Basic Metric

Many coverage tools report line coverage, which is probably the most basic coverage metric. Line coverage simply measures whether a particular line of code was executed or not.

Below is an example of the results you might get when running a moderately complex bit of code.

    // Line Coverage
    bool SampleFunction() {
1     int i = 10;
2     if (i > 5) {
3       DoSomething(); DoSomethingElse();
4     return (i == GetMagicNumber()) ? ItWas10() : IsWasnt();     
    // 4 covered lines / 4 coverage points = 100% coverage

The greatest limitation of line coverage is that almost all code of any complexity will contain lines with more than one statement.  In these scenarios, line coverage can mask problems by overstating how well the code was tested.

Statement Coverage – Better, But Limited

Statement coverage is a slightly more specific metric which differentiates when multiple code statements are included on a single line of code.  With statement coverage you might see something like this:

    // Statement Coverage
    bool SampleFunction() {
1     int i = 10;
2     if (i > 5) {
3 4     DoSomething(); DoSomethingElse();
5     return (i == GetMagicNumber()) ? ItWas10() : IsWasnt();     
    // 5 covered statements / 5 coverage points = 100% coverage

In this scenario, statement coverage identifies the line of code with two statements and accounts for each statement when reporting the total coverage.  However, by looking at the last line of code you can see that although there were various nodes, or decision points, and the last case of “ItWasnt()” was not exercised, statement coverage still shows 100% coverage.

Sequence-Point Coverage - A Better Code Coverage Metric for .NET

It is important to understand what information your coverage tool is reporting. As you can see in the example of line coverage and statement coverage, both metrics reported 100% coverage even though not all of the code was being executed.  In both of these scenarios, the code coverage metric was too broad and did not highlight uncovered code.

Sequence-point goes a step further and differentiates between each point where the debugger is able to stop when single-stepping through a code file. NCover uses the compiler’s debug symbol database to provide this information, so it is guaranteed to provide the same points that the Visual Studio debugger will use when debugging.

With sequence point coverage, you should see the following, assuming GetMagicNumber() returns 10:

        // Statement Coverage
        bool SampleFunction() {
1         int i = 10;
2         if (i > 5) {
3 4         DoSomething(); DoSomethingElse();
8 5 6 7   return (i == GetMagicNumber()) ? ItWas10() : ItWasnt();     
        // 7 covered sequence points / 8 coverage points = 87.5% coverage

In this scenario, sequence-point coverage yields a code coverage metric of 87.5%, highlighting the fact that the “ItWasnt()” case was not executed and highlights the exact point that was not exercised.

As your code grows over time and becomes more complex, the need for a better code coverage metric is amplified.  By using sequence-point coverage as the base coverage metric, NCover ensures that you are generating code coverage results that are not only accurate but also useful as you maintain the overall health of your code base.

The post Sequence-Point Coverage appeared first on NCover.

Categories: Vendor

Morris Medical Monday: Polarion MedPack and Regulatory Compliance Part 3

Polarion Software - Mon, 05/12/2014 - 17:25
This entry is part 4 of 8 in the series Morris Medical MondayWelcome back to Morris Medical Monday: a weekly series for medical device development companies (and companies who are related to such companies), providing some useful information about Polarion solutions and Polarion extensions. Today we will continue on the subject of Polarion’s MedPack extension, […]
Categories: Vendor

.NET Code Coverage For Microsoft MVPs

NCover For .NET MVPsGreat applications are written by great developers and at NCover we support our .NET Microsoft MVPs and their .NET code coverage efforts.

All active MVPs are eligible for a free not-for-retail NCover Desktop license.  If you are .NET Microsoft MVP, you can request your NCover Desktop license here.

NCover for .NET Code Coverage

NCover Desktop is an essential tool in helping developers with .NET code coverage by allowing them to find where they can improve their tests, and their code, as early in the development cycle as possible. Effective tests are critical for delivering high quality code, reducing risks and maintenance costs, and increasing customer satisfaction. NCover Desktop includes an integrated Visual Studio code coverage tool and test runner, Bolt.

Whether you are viewing the meticulously designed projects overview page, the trend graph, or the easy to understand branch visualization, NCover is designed to help you understand and take action on your code coverage data. Quickly spot build quality issues with the multicolored trend graph. Use branch visualization to pinpoint the exact line of code that is unnecessarily complicating your code. Search your source code from every build to every method, making sure every line is up to your Microsoft MVP standards and that your code is as world-class as your development goals.

The post .NET Code Coverage For Microsoft MVPs appeared first on NCover.

Categories: Vendor

GWT 2.6.1 is here!

Google Web Toolkit Blog - Sat, 05/10/2014 - 08:35
Today we are excited to announce the GWT 2.6.1 release.  Thanks to everyone who contributed to this release, especially our non-Google open source contributors.
For a quick run-down of changes since GWT 2.6.0, read the release notes.
The release is available for download here or on maven central.
If you find any issues with this release, please file a bug in our issue tracker.
- GWT Team
Categories: Java, Open Source, Vendor

Kanban the Polarion Way (Part 1) – What is “Kanban”?

Polarion Software - Fri, 05/09/2014 - 17:44
In the first of a 2-part series, Senior Software Engineer Stepan Roh outlines the basics of the Kanban methodology.
Categories: Vendor

The Latest Legal Developments in Open Source

Black Duck Software Press Releases - Fri, 05/09/2014 - 16:30

Open source software (OSS) has become a fundamental part of the IT infrastructure of virtually all companies. Such criticality naturally gives rise to legal issues as organizations protect their own interests in the context the sharing inherent with open source.

Recently there has been a shift from enforcement activity by non-profits to commercial entities with two lawsuits which enforce the GPLv2 being filed by commercial  companies in 2013. One of the lawsuits involves GPLv2 licensed code im a commercial product and has broader impacts for both commercial and open source  companies. Patent activity around open source has continued apace and contribution agreements are getting more attention as companies evolve from consuming open source to contribution back.

This webinar, presented by Black Duck with Karen Copenhaver, partner at Choate Hall & Stewart and Counsel for the Linux Foundation and Mark Radcliffe, partner at DLA Piper and General Counsel for the Open Source Initiative (OSI), will review:

  • The rise in importance of open source for commercial entities
  • Explain the lastest developments for OSS licenses, patents and contributor agreements.
  • What to look out for in the open source legal sphere during 2014.
Register Now
Categories: Vendor

Big Data: A False Hope or Real Value to Business?

Intland Blog - Fri, 05/09/2014 - 12:37
The Internet of Things is all about high technology gadgets, connecting the real world to the digital world through sensory data, – the demand for such products is driving the exponential growth of structured and unstructured data – Big Data.
Categories: Vendor

QASymphony Unveils 3 Tiers of Software Testing Tools

Software Development Tools Directory - Thu, 05/08/2014 - 15:28
QASymphony has formally announced a major new update to its qTest test management platform. This update provides extensive integration capabilities through the formal release of its APIs, support for test automation tools such as Selenium and tes ...
Categories: Vendor

Visit Ranorex at Test Automation Day 2014! Latest News - Thu, 05/08/2014 - 09:00
Last year´s Test Automation Day has been a great success for us and we will once again be exhibiting at the upcoming Test Automation Day on June 19th, 2014 in Rotterdam, the Netherlands. 

This will be the 4th edition of the Test Automation Day, held in the Conference Center WTC in Rotterdam and the focus will be on Test Automation Innovation.

Topics concerning innovative automated testing strategies, methods, technologies and tools will be covered in talks and workshops by international speakers.

Interact with world class speakers and use the opportunity to visit our exhibition booth! Interesting discussions are guaranteed. 

We look forward to seeing you in Rotterdam on June 19th, 2014!
Categories: Vendor

Software Development with Agile – Waterfall Hybrid method?

Intland Blog - Wed, 05/07/2014 - 17:00
This is a smart approach! Date and time: 7. May 2014 – 4.00 pm CET Webinar duration: 40 minutes What you can learn: Agile/Scrum and Waterfall/V-model seem to be two methods with really different fundamentals but they are complementary for
Categories: Vendor

How to use Story Points? – Get Insight Into the Practice

Intland Blog - Wed, 05/07/2014 - 08:48
There are always discussions about how to use Story points to compare or measure performance. Is it better than effort based performance evaluation or not? Can it replace effort based performance management or not? In a recent blog I demonstrated
Categories: Vendor

Sauce Labs Announces Support for Appium 1.0

Software Development Tools Directory - Tue, 05/06/2014 - 20:49
Sauce Labs has announced that it has added support for Appium 1.0 to its services. The announcement underscores the growing importance of mobile platforms for commercial applications and the need to introduce agile practices and automation into e ...
Categories: Vendor

Pivotal and VMware Provide Hybrid Cloud Platform-as-a-Service

Software Development Tools Directory - Tue, 05/06/2014 - 20:12
Pivotal and VMware announced the first enterprise-class hybrid platform-as-a-service (PaaS) on VMware vCloud Hybrid Service. VMware vCloud Hybrid Service will support the latest release of Pivotal CF, the world's leading enterprise PaaS power ...
Categories: Vendor

CollabNet Selects CliQr to Speed Agile Application Lifecycle Management

Software Development Tools Directory - Tue, 05/06/2014 - 19:47
CollabNet and CliQr Technologies have announced an integration partnership that enables enterprise DevOps in the Cloud. The integration of CliQr’s application profiles and CLI (command line interface) capabilities with CollabNet’s Tea ...
Categories: Vendor

uTest Changes Name to Applause

Software Development Tools Directory - Tue, 05/06/2014 - 18:40
uTest re-launched with an expanded vision today as Applause, the 360° app quality company. The company also announced its entry into the EU market by acquiring top German crowdtesting company, Testhub, which will become the European headquart ...
Categories: Vendor

Kados Scrum Tool v1.7 Released

Software Development Tools Directory - Tue, 05/06/2014 - 18:33
KADOS is open source tool for managing Scrum projects and other Agile projects. It allows teams to manage their projects through multiple dashboards on which they can pin e-postit for User Stories, Tasks, Risks, Problems, Notes, Actions etc…
Categories: Vendor

Enterprise Mobile Application Development Made Amazingly Fast and Simple with Progress Pacific

Progress Software News - Tue, 05/06/2014 - 14:00
Enterprise Mobile Application Development Made Amazingly Fast and Simple with Progress Pacific
Categories: Vendor

Sekretär (m/w) in Voll- oder Teilzeit

Intland Blog - Tue, 05/06/2014 - 13:13
Wir entwickeln und vermarkten Software Lösungen für das Application Lifecycle Management. Für unseren Hauptsitz in Stuttgart-Vaihingen suchen wir eine  Unterstützung in den Bereichen Administration und Buchhaltung. Sie sind zuständig für unser Reise- und Termin-Management und haben die organisatorischen Abläufe im Blick.
Categories: Vendor

Upcoming Workshop in Atlanta Latest News - Tue, 05/06/2014 - 08:49
Get firsthand training with Ranorex professionals and learn how to get the most out of Ranorex Studio and the Ranorex Test Automation Tools at this two day workshops.

During the 2-day training workshops participants learn about the fundamentals of test automation and get to practice how to use Ranorex tools hands-on.

Jun 23-24

08:30AM - 04:30PM EST

Ranorex Test Automation Workshop

Atlanta, GA

Look at the schedules for additional workshops in the next few months.

We look forward to seeing you there!
Categories: Vendor


Software Development Tools Directory - Mon, 05/05/2014 - 17:57
Bootflat is an open source Flat UI KIT based on Bootstrap 3.1.1 CSS framework. It provides a faster, easier and less repetitive way for web developers or designers to create elegant web apps. It is compatible with the following browsers: IE8, IE9 ...
Categories: Vendor