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.