Gopalakrishnan M
08. August 2025
Categories: Technology

Introduction

In embedded medical device development, errors can have life-threatening moments. Verification ensures every design output matches its intended design input, catching problems early and preventing costly rework. It answers the EOM & developer’s question: Are we building the product right? and it is performed throughout development. From initial code writing to full system integration. Standards such as IEC 62304 and ISO 13485 require structured verification to prove compliance. This helps identifying & acting on hardware-software mismatches, hidden logic faults, or integration failures earlier and avoid last minute surprises. Effective verification builds the foundation for safe, reliable, and regulatory-approved medical devices.


Why Verification Important in Embedded product

Verification is like a code review for the entire product hardware, firmware, and integration not just individual developer module. At this stage design specs meet real implementation, and every mismatch is an early warning. In medical devices, missing one defect may end up like a hazard later. Verification helps spot timing issues, hardware-software sync problems, and logic flaws before they become costly field failures. It’s like debugging, but for the whole system, end to end. When done well, it keeps your timeline intact, satisfies regulators, and — above all — ensures the device is safe where it matters most: in the real world.

For example:

In digital thermometer development. Developer module worked fine and its algorithm unit tested for reading temperature on simulated sensor data.

But during system-level verification, HIL testing reveals that when the probe is inserted into a patient’s mouth after being in a cold environment, the sensor’s first few readings spike, and developer averaging logic displays a result 0.5°C lower than the true temperature.

That small error could lead to a missed fever diagnosis.

Catching it in verification means we can adjust the algorithm early.

Key Verification Methods

Unit Testing

Unit testing focuses on the smallest possible pieces of code individual functions, classes, or firmware modules to confirm they perform as intended. It’s typically done during active development, long before integration. The key benefits are rapid feedback and defect isolation. When a test fails, the cause is usually in the code you just wrote. Best practices include aiming for high code coverage, automating tests to run in your build pipeline, and maintaining a clear traceability matrix so each test links back to a requirement.

Example: In a digital thermometer, a unit test might check that the function converting raw sensor ADC values to Celsius produces accurate results across the entire operational temperature range, including edge cases like 0°C or 42°C. Catching an error here avoids a situation where every other module in system consumes and process for display to alarms with wrong data.


System Testing

System testing validates the complete, integrated device against the functional specifications. Here, all components firmware, hardware, communication interfaces, and user interface are tested together in realistic conditions. This step ensures that the device behaves as expected under normal operation, extreme environmental conditions, and in combination with connected systems. Developers should include stress scenarios, boundary values, and interoperability tests, especially for devices that connect to hospital networks or consumer apps.

Example: For a digital thermometer, system testing might include measuring the device’s performance when ambient temperature changes rapidly, verifying that the device still displays accurate readings, stores them correctly, and sends them via Bluetooth to a health monitoring app without data loss. Even if each individual module works perfectly, this phase confirms they all work together smoothly.


Regression Testing

Regression testing ensures that changes to the code base whether bug fixes, feature enhancements, or performance optimizations do not break existing, previously verified functionality. Without regression testing, it’s easy for new updates to reintroduce old bugs or subtly alter device behavior. A strong practice is to maintain an automated regression test suite that runs on every commit in a continuous integration (CI) system, giving instant feedback to developers.

Example:Imagine adding a power-saving feature to a digital thermometer’s firmware so it enters a low-power mode after 30 seconds of inactivity. Without regression testing, this change might inadvertently delay the display update or interfere with Bluetooth data transfers or an old data loss etc. An automated regression suite would immediately flag such failures before the firmware is shipped.


Formal Methods

Formal verification goes beyond testing, it mathematically proves that certain classes of errors cannot occur. In medical devices, where even a rare malfunction can be life-threatening, formal methods add a powerful layer of assurance. Tools like Frama-C (for C code analysis), SPARK Ada (for Ada code correctness), and CBMC (for model checking C/C++ programs) can be used to guarantee properties such as the absence of buffer overflows, deadlocks, or unreachable states.

Example:For a digital thermometer, a formal proof could verify that if the measured temperature exceeds a safety threshold (e.g., 40°C), the over-temperature alarm will always activate. This mathematical guarantee removes the risk of a logical oversight preventing the alarm from triggering under certain rare conditions.


Hardware-in-the-Loop (HIL) and Simulators

HIL testing and simulation enable developers to verify embedded software against realistic hardware inputs and outputs before the final physical product is available. This approach accelerates development, reduces risk, and enables testing of edge cases that are difficult or unsafe to reproduce with real hardware. Tools like TestBot can automate HIL test execution, while dSPACE and similar platforms provide rich simulation capabilities for complex systems.

Example:In a digital thermometer, HIL could simulate sensor input values ranging from hypothermic levels to extreme fever, while also emulating low battery voltage and Bluetooth interference. Developers can then verify that the firmware responds correctly in every scenario, all without risking actual patient discomfort or damaging hardware.


Tool Summary Table

Method Example Tools Primary Use
Unit Testing Google Test, CppUTest Code-level verification
System Testing TestRail, Zephyr End-to-end functional tests
Regression Jenkins, GitLab CI Continuous verification can be linked with automation
Formal Methods Frama-C, SPARK Ada, CBMC Mathematical proof of correctness to detect runtime errors early
HIL & Simulators TestBot, dSPACE, NI VeriStand Hardware-software verification with real time simulation

Best Practices for Verification

  • Link every test case to a specific requirement for traceability.
  • Combine manual exploratory tests with automated test suites.
  • Use simulators early to avoid costly prototype delays.
  • Maintain a unified defect tracking system across all test types.
  • Plan formal verification for high-risk, safety-critical components.

Conclusion

For embedded medical product development teams, verification is not about passing audits, it’s as discipline that protects the end user. By applying unit, system, and regression testing alongside formal verification and HIL, developers create multiple layers of defense against defects. Each method catches a different category of error: unit testing finds local logic flaws, system testing ensures integration works, regression testing prevents backsliding, formal methods mathematically eliminate certain risks, and HIL validates hardware-software interaction in realistic conditions.

When done consistently, verification allows developers to iterate confidently, knowing that changes will not compromise patient safety or product reliability. It also reduces firefighting late in the project, freeing more time for innovation rather than crisis management.

Related Blogs

ARCHITECTING SAFE EMBEDDED MEDICAL PRODUCTS

This blog explores how layered architecture, processor choices, and safety principles enable design of reliable, life-critical medical systems.

Read More

DESIGNING MEDICAL SOFTWARE

This blog explores how medical product development ensures safe, certified devices (IEC 60601, ISO 14971, and IEC 62304) for reliable, compliant, and innovative patient care.

Read More

OTA ARCHITECTURE FOR SCALABLE DESIGNS

Now a days in 2022 due to technology growth, a product is having multiple features/use cases and it has been upgraded for bug fixes and new features in the interest of customer/end.

Read More

INSTRUMENT CLUSTER DESIGN FOR ELECTRIC VEHICLES WITH RENESAS RL78

In any vehicle, the instrument cluster forms a critical part as it is the face of the vehicle that reflects the current state.

Read More

Subscribe to our Blog


15th Year Anniversary