上节主要讲了软件开发策划、软件需求分析、软件系统结构设计三个阶段,这节来分析以下几个阶段。

1.软件单元实现

2.软件集成和集成测试

3.软件系统测试

软件开发过程由若干个活动组成,主要包括软件开发策划、软件需求分析、软件体系结构设计、软件单元实现、软件集成和集成测试、软件系统测试、软件发布。在整个生命周期中需要对软件进行风险管理,医疗器械软件的风险管理可参考YY/T 0316 医疗器械 风险管理对医疗器械的应用。同样,在整个设计开发过程中需要对软件进行配置管理。这些活动如下图所示:

1.软件单元实现

软件单元实现过程中伴随有单元测试,单元测试一般是代码层面的测试,所以使用白盒测试。开发人员在这个阶段都会测试,但是很容易忽略掉记录该过程。

1.1实现每个软件单元

这里应该与需求分析中相对应,确保每个单元实现。

1.2 建立软件单元的验证过程

如何进行单元的验证,这部分应该在测试计划中体现。可以划分到总体测试计划中,也可以单独写单元测试计划。

1.3 软件单元的验收准则

这部分可以在测试用例中体现,根据需求制定预期输出或实现结果。

1.4 附加的软件单元验收准则

这部分只有安全等级为C的软件需要体现,A、B级不需体现。

1.5 软件单元的验证

单元验证的结果需要形成报告,可以输出单元测试报告,并且验证过程需要保留记录,可输出单元测试记录表。

2.软件集成和集成测试

2.1 集成软件单元

开发人员集成各个单元模块。

2.2 验证软件集成

该部分验证软件集成,目的是验证各个单元已经集成到软件中。和需求说明书对比,确保无需求遗漏。

2.3 软件集成测试

制定集成测试计划,并按照计划进行集成测试,最终形成集成测试报告,并且保存集成测试记录。

2.4 软件集成测试的内容

软件集成测试的内容需要体现需求分析中的各项需求是否实现并可按照预期运行。需要考虑的示例如下:

--所要求的软件的功能性;

--风险控制措施的实施;

--特定的时序和其他性能;

--内部和外部接口特定的功能;

--非正常条件下(包括可预见的误使用)的测试;

2.5 评价软件集成测试规程

评价集成测试规程的充分性,对集成测试过程进行评审。

2.6 进行回归测试

软件集成后,应进行回归测试。在验证已修改缺陷(bug)的同时,也需要验证是否因为修改缺陷(bug)引入了新的缺陷(bug)。

2.7 集成测试记录的内容

集成测试需记录如下内容:

  • 将测试结果(通过/未通过和反常清单)形成文件,即输出测试报告。

  • 保留充分的记录,已使测试可重复,即保留测试记录,根据测试步骤可以复现测试过程。

  • 标明测试者的身份。

2.8 使用软件问题解决过程

写软件问题解决报告,应将软件集成测试过程中的缺陷记录下来,并评估其严重程度。具体可以看YY/T 0664的第9章。

3 软件系统测试

3.1 为软件需求建立测试项

系统测试需要根据软件需求建立测试用例(其实在每个测试阶段都需要写测试用例),表达为输入触发、预期输出、通过/未通过准则和规程,覆盖全部的软件需求。测试用例设计的表单可参考如下:

3.2 使用软件问题解决过程

写软件问题解决报告,应将软件系统测试过程中的缺陷记录下来,并评估其严重程度。具体可以看YY/T 0664的第9章。

3.3 变更后再测试

在系统测试期间如果软件做出变更,应

  • 适当时,重复测试、实施经修改的测试或附加的测试,以验证纠正问题时所做变更的有效性;

  • 进行适当的测试,以证实没有引入非预期的副作用;

  • 实施YY/T 0664第7章中的有关风险管理活动;

    总之软件变更,需要走变更流程,同时对变更内容进行测试,并且评估其变更的风险。

3.4 评价软件系统测试

对系统测试阶段进行评审,需要验证:

a)所有的软件需求均经测试或以其他方式验证,即确保需求都被实现,无遗漏需求;

b)软件需求与测试或其他验证之间的可追溯性均已记录,即每个测试用例记录都可对应到相应的需求(软件可追溯性下次我细讲);

c)测试结果满足所要求的通过/未通过准则。

3.5 软件系统测试记录内容

软件系统测试记录需体现以下内容:

a)引用的测试用例规程,该规程体现所要求的行动和预期结果,可参考上面写的测试用例;

b)测试结果;

c)被测试软件的版本;

d)相关硬件和软件测试配置;

e)相关测试工具;

f)测试日期;

g)负责执行测试和记录测试结果人员的身份。

后记

本文是在实际执行0664标准的过程中的一些总结与体会。后续会更新医疗器械风险管理及配置管理的内容。

参考文献

[1] YY/T 0664-2020 医疗器械软件 软件生存周期过程

[2] YY/T 0316-2016 医疗器械 风险管理对医疗器械的应用

[3] 医疗器械网络安全技术审查指导原则(第二版)征求意见稿

医疗器械软件产品经理必读的法规及标准-YY/T0664(二)的更多相关文章

  1. 医疗器械软件产品经理必读的法规及标准-YY/T0664(一)

    医疗器械软件产品经理必读的法规及标准-YY/T0664(一) 医疗器械软件的产品经理,需要熟读医药行业标准,在软件设计开发的整个生存周期过程中,我们需要根据<YY/T 0664 医疗器械软件 软 ...

  2. 智软科技医疗器械GSP监管软件通过多省市药监局检查

    提供医疗器械GSP监管软件,通过多省市药监局检查,符合2016年最新GSP监管条例的要求. 企业客户列表 温岭市万悦医疗器械有限公司 杭州市上善医疗器械有限公司 武汉明德生物科技股份有限公司 http ...

  3. 医疗器械c#上位机开发指引教程

    此教程面向的读者:对医疗器械上位机编程有兴趣,或者急需了解医疗器械(尿常规.血液分析.生化.心电.B超等医疗下位仪器)的编程流程.编程细节的程序员. 1.得到仪器协议 当我们需要与医疗器械等下位机数据 ...

  4. 记一次 .NET 某医疗器械 程序崩溃分析

    一:背景 1.讲故事 前段时间有位朋友在微信上找到我,说他的程序偶发性崩溃,让我帮忙看下怎么回事,上面给的压力比较大,对于这种偶发性崩溃,比较好的办法就是利用 AEDebug 在程序崩溃的时候自动抽一 ...

  5. 对XX证券报关于物联网操作系统的几个问题的答复

    XX证券报提问了几个关于物联网和物联网操作系统的问题,个人表达了一些粗陋的观点,在这里发表出来,与行业朋友交流和探讨. 物联网行业最需要解决的问题是什么? 虽然物联网这个行业被炒得比较热,但是截至目前 ...

  6. 推荐一本写给IT项目经理的好书

    原文地址:http://www.cnblogs.com/cbook/archive/2011/01/19/1939060.html (防止原文作者删除.只能拷贝一份了) 推荐一本写给IT项目经理的好书 ...

  7. 医疗行业预测性产品的质量如何把关?MES系统帮大忙

    作为行业细分的医疗设备制造正在向工业4.0快速发展.它也可能仍然是世界上受监管最严格的行业之一,产品的个性化发展速度比其他行业更快. 在医疗设备行业中,由于需求或由于市场特定的规定,产品越来越多地定制 ...

  8. 开发者说 | 云+AI赋能心电医疗领域的应用

    以"医工汇聚 智竞心电"为主题的首届中国心电智能大赛自2019年1月1日启动全球招募起,共吸引总计545支来自世界各地的医工结合团队,308支团队近780名选手通过初赛资格审查,经 ...

  9. 互联网医疗行业PEST分析实践

    前言 今年开始逐步切入产品与数据工作,完全脱离了原来的舒适区,确实有一些挑战.开始以为只做数仓建设的事情,就仓促的学习了一些数仓相关的知识,但没搞多久,还要负责公司BI的工作,又开始补习数分相关的知识 ...

随机推荐

  1. java基础第一节课随笔

    第一题:1.定义一个HelloWold类2.在类中定义主方法3.在主方法中使用输出语句在dos控制台打印HelloWorld 打印结果如:HelloWorld4.在案例中使用当行注释.多行注释添加相关 ...

  2. Spring Cloud06: Ribbon 负载均衡

    一.使用背景 前面的学习中,我们已经使用RestTemplate来实现了服务消费者对服务提供者的调用,如果在某个具体的业务场景下,对某个服务的调用量突然大幅提升,这个时候就需要对该服务实现负载均衡以满 ...

  3. vue3.0的变化

    初涉vue3.0,下面是我在demo中遇到的一些问题(我是用的vue-cli进行开发) [1]main.js中配置  第一个变化 vue2.x ===  Vue.prototype.$baseURL= ...

  4. SpringBoot代码与jar包分离部署

    第一步,打出带有jar包的SpringBoot工程 首先配置pom.xml文件 <build> <finalName>demo</finalName> <pl ...

  5. 《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程)

    1.简介 Apache Maven是一个软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件.由于现在企业和公司中Java的大部分项目都是基 ...

  6. Vue.js的基础学习

    Vue.js的基础网上很多,这里不记录 开始正式页面的开发 1.页面加载时请求数据 methods: { post() { //发送post请求 this.$http.post('../../ashx ...

  7. MATLAB导入txt和excel文件技巧汇总:批量导入、单个导入

    在使用MATLAB的时候,想必各位一定会遇到导入数据的问题.如果需要导入的数据其数据量巨大的话,那么在MATLAB编辑器中将这些数据复制粘贴进来,显然会在编辑器中占据巨大的篇幅,这是不明智的. 一般来 ...

  8. 时光卷轴,Microsoft大事记

    Our mission is to empower every person and every organization on the planet to achieve more. 2021年6月 ...

  9. C语言:C99 中的37个关键字

    一.数据类型关键字(12个): 1.char [tʃɑ:]:声明字符型变量或函数 2.double [ˈdʌbəl] :声明双精度变量或函数 3.enum :声明枚举类型 4.float [fləut ...

  10. CentOS8安装GNOME3桌面并设置开机启动图形界面

    本篇文章介绍如何在CentOS8 Linux操作系统中安装GNOME3桌面环境和GDM(GNOME Display Manager)现实环境管理器. 环境 CentOS8 Minimal 安装GNOM ...