2.4.2.1. Test Coverage Report

Proximie publishes aggregate test-coverage figures for the Proximie SDK so that customers can use them as verification evidence when certifying their own SDK-containing products.


What is measured

Coverage is measured over the released SDK library code, broken down by the public SDK modules:

  • PxCore - core SDK context, logging and supporting types

  • PxMedia - media feeds, sessions and streaming

  • PxUtility - standalone utility feeds and helpers

  • PxRestApi - Proximie REST API access

Two metrics are reported for each module:

  • Line (statement) coverage - the proportion of executable source lines exercised by the automated test suite.

  • Branch (decision) coverage - the proportion of decision branches in application logic exercised by the automated test suite. Compiler-generated exceptional branches (the implicit exception-unwinding paths emitted for every call that may throw) and branches the compiler marks as unreachable are excluded - see Methodology below.


Methodology

  • Coverage is collected with gcovr from the SDK’s unit and integration test suites, built with coverage instrumentation enabled.

  • Automated test code and third-party dependencies are excluded from the figures, so the numbers reflect coverage of Proximie’s own production code only.

  • Code that is not meaningfully executable (for example static initialisers) is excluded using standard coverage markers, to give an accurate rather than artificially inflated picture.

  • For branch coverage, compiler-generated exceptional branches (the implicit exception-unwinding edges C++ emits for every call site that may throw) and branches the compiler marks unreachable are excluded. These edges are infeasible to exercise deterministically and do not represent application decision logic; counting them would understate the effective decision coverage of the SDK’s C++ code. Branch figures therefore reflect the decision logic that automated tests can meaningfully exercise.

  • Figures are aggregated per module; per-file and per-line detail is intentionally not published.


Coverage figures

Module

Line coverage

Branch coverage

PxCore

76.3 %

50.6 %

PxMedia

75.0 %

51.1 %

PxUtility

67.7 %

44.0 %

PxRestApi

86.6 %

69.6 %

Overall

72.7 %

49.4 %


Using these figures for certification

These figures may be used as software unit verification and system test evidence (for example under IEC 62304 §5.5 and §5.7) within a customer’s own quality management system.

IEC 62304 does not prescribe a particular coverage metric or a pass/fail coverage threshold; it requires the manufacturer to define and justify verification strategy and acceptance criteria appropriate to the software’s safety classification. Proximie therefore publishes both line and branch coverage as evidence and does not assert a target threshold. Integrators should set their own acceptance criteria against their risk classification and intended use.

Note that Proximie’s testing verifies the SDK in isolation; integrators remain responsible for validating the SDK as integrated into their own product, including any intended-use and risk-control verification specific to that product.