医疗设备软件国际标准IEC 62304认证案例

2023-10-08 03:40

本文主要是介绍医疗设备软件国际标准IEC 62304认证案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用Cantata提高医疗设备的开发效率

FastFocus致力于为医疗保健行业开发更有效、可持续和成功的实用监控解决方案。作为一个医疗设备制造商,他们的最新产品是无线病人监护系统EarSensor™,它可通过戴在患者耳朵上的设备,在医院和家庭护理环境中远程监视患者。根据国际医疗设备软件标准IEC 62304,该设备被归类为2类设备。

在这里插入图片描述

EarSensor™软件采用了C11语言来实现,在IAR Embedded Workbench 8.0 IDE下使用MinGW GCC编译,可在MKW24D512 NXP ARM Cortex 4处理器上运行。

在这里插入图片描述

EarSensor™(左)和患者监控系统示例(右)

工具选择

为了符合IEC 62304标准对嵌入式软件单元测试框架的要求,FastFocus提出了一套严格的工具需求。他们需要一个值得信赖的供应商,可以提供高效的技术支持,和一款在医疗设备行业经过验证过的工具。该工具必须提供先进的技术和强大的功能,包括:自动生成测试用例,控制函数调用(例如,模拟/打桩),直观的代码覆盖率以及可用于结果报告的认证证据。一个更加面向过程的目标是“左移”他们的软件验证活动。

经过一些初步的市场调查后,FastFocus用CppUTest(一种开源工具)和另一个商业工具(Parasoft的C / C ++ Test)与Cantata进行了评估对比。不到两个月后,他们选中并购买了Cantata。在总结选择Cantata的原因时,EarSensor项目的首席开发人员Leon Solinger说:“与其他工具相比,Cantata更容易设置,功能也更加完善。”拦截函数调用是FastFocus的一项关键功能,因为Leon补充说:“似乎没有其他工具具有封装功能。”

入门

在进行完初始设置并借助了内置的教程之后,Leon在短短2周内就可以使用Cantata全面提高工作效率。

该软件最初是为交叉编译而编写的,首要挑战是将编译器定义从IAR Embedded Workbench复制到Eclipse Cantata测试项目。这在QA System技术支持团队的帮助下很快得到了解决,使得Fast Focus能够模拟运行在目标硬件上的代码。Leon评论说:“QA Systems非常友好,我们赞赏他们的做法和承诺。我们及时获得了支持,他们给予了我们很大的帮助。”

Cantata的使用

FastFocus在软件验证中采用了一种基于风险的瀑布式方法,但重点是左移测试。所有与风险相关的组件都使用Cantata进行了单元测试。EarSensor™应用程序的大部分是SOUP微控制器库,所以只需要对应用程序代码函数调用接口进行验证-因此需要Cantata封装来提供模拟。

为了确保按照所需标准创建测试,该团队遵循了工具的安全手册测试指南,包括使用内置的IEC 62304 2类Cantata代码覆盖率规则集,以确保100%的判定覆盖率。Leon对Cantata中的覆盖率诊断印象深刻,他评论道:“我喜欢使用覆盖率查看器来查看覆盖了多少代码,以及它是如何进行可视化表现的。”

全局数据、文件静态和局部函数静态作用域的数据使用Cantata白盒可测试性工具进行了验证,以检查正确的更改(正向测试)和无意的更改(逆向测试)。源文件中的静态函数使用相同的白盒方法直接从测试脚本调用进行验证。Leon总结了团队在Cantata的测试创建经验,他说:“我发现图像用户界面,树视图和表视图对评估测试用例值非常有帮助。在用户界面中编辑测试用例可以节省大量的输入工作。”

结论

在完成测试并将结果提交给IEC 62304安全机构以后,EarSensor™产品已投放到市场。Cantata的单元测试和持续的测试维护现已被牢固地嵌入到了开发过程中,FastFocus计划在未来的其他项目中也使用Cantata。运营经理Ron van Oudenallen认识到Canatata的投资回报是非常可观的,他在报告中总结道:“我们在使用Cantata方面拥有非常积极的体验。”

IEC 62304:2006认证

在这里插入图片描述

Cantata经过认证可用于开发安全相关软件,最高达到IEC 62304标准所定义的SW安全C级。

-版权所有,抄袭必究-

更多信息访问:http://qa-systems.cn/

这篇关于医疗设备软件国际标准IEC 62304认证案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/162457

相关文章

六个案例搞懂mysql间隙锁

《六个案例搞懂mysql间隙锁》MySQL中的间隙是指索引中两个索引键之间的空间,间隙锁用于防止范围查询期间的幻读,本文主要介绍了六个案例搞懂mysql间隙锁,具有一定的参考价值,感兴趣的可以了解一下... 目录概念解释间隙锁详解间隙锁触发条件间隙锁加锁规则案例演示案例一:唯一索引等值锁定存在的数据案例二:

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

MySQL 表的内外连接案例详解

《MySQL表的内外连接案例详解》本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录表的内外连接(重点)内连接外连接表的内外连接(重点)内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

Java Stream.reduce()方法操作实际案例讲解

《JavaStream.reduce()方法操作实际案例讲解》reduce是JavaStreamAPI中的一个核心操作,用于将流中的元素组合起来产生单个结果,:本文主要介绍JavaStream.... 目录一、reduce的基本概念1. 什么是reduce操作2. reduce方法的三种形式二、reduce

Spring Boot 整合 Redis 实现数据缓存案例详解

《SpringBoot整合Redis实现数据缓存案例详解》Springboot缓存,默认使用的是ConcurrentMap的方式来实现的,然而我们在项目中并不会这么使用,本文介绍SpringB... 目录1.添加 Maven 依赖2.配置Redis属性3.创建 redisCacheManager4.使用Sp

springboot项目redis缓存异常实战案例详解(提供解决方案)

《springboot项目redis缓存异常实战案例详解(提供解决方案)》redis基本上是高并发场景上会用到的一个高性能的key-value数据库,属于nosql类型,一般用作于缓存,一般是结合数据... 目录缓存异常实践案例缓存穿透问题缓存击穿问题(其中也解决了穿透问题)完整代码缓存异常实践案例Red

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

Android与iOS设备MAC地址生成原理及Java实现详解

《Android与iOS设备MAC地址生成原理及Java实现详解》在无线网络通信中,MAC(MediaAccessControl)地址是设备的唯一网络标识符,本文主要介绍了Android与iOS设备M... 目录引言1. MAC地址基础1.1 MAC地址的组成1.2 MAC地址的分类2. android与I

MySQL 复合查询案例详解

《MySQL复合查询案例详解》:本文主要介绍MySQL复合查询案例详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录基本查询回顾多表笛卡尔积子查询与where子查询多行子查询多列子查询子查询与from总结合并查询(不太重要)union基本查询回顾查询