软件检测技术在医疗影像传输系统检验中的应用

2020-04-07 11:14刘迪
医疗装备 2020年3期
关键词:用户数开发者功能性

刘迪

北京市医疗器械检验所 (北京 101111)

医疗影像传输系统(picture archiving and communications systems,PACS)是指以医学数字成像通信标准(digital imaging and communication in medicine, DICOM)[1]的国际标准设计,以高性能服务器、网络及存储设备构成硬件支持平台,以大型关系型数据库作为数据和图像的存储管理工具,以医疗影像的采集、传输、存储和诊断为核心,集影像采集传输与存储管理、影像诊断查询与报告管理、综合信息管理等应用于一体的综合应用系统。为辅助和集成各类影像类医疗器械,PACS在各医院通常都有应用,是一种常见的医疗器械软件。

按照国内注册法规要求,PACS在注册申报时应依据GB/T 25000.51-2016[2]进行上市前检验。上市前检验测试技术的选择和测试用例的设计都会直接影响检验工作的效率和检验结果。因此,本研究根据GB/T 25000.51-2016中需要测试的质量特性,结合日常工作中接触的PACS产品的特点提出相应的软件测试方案。

1 软件检测技术概述

软件检测技术指软件开发和调试时经常使用的一些测试技术,通常分为两大类:功能测试和性能测试。其中功能测试是在测试过程中,把程序比作一个看不清、打不开的黑匣子,在完全不考虑程序的内部情况的前提下,测试人员只对程序的外部进行功能性测试。在进行功能性测试时,只是通过输入数据、操作数据、输出结果来检验软件系统是否能够按照需求文档中用户所要求的功能正常使用[3]。而性能测试是针对软件运行状态和资源使用情况的测试,其关键度量从维度上主要分为业务指标和系统资源指标[4]。常见的性能测试方法有负载测试、压力测试、强度测试、容量测试等[5]。虽然这些软件检测技术在开发、调试中有大量应用,但软件检验和开发、测试并不完全相同,是一种确定了指标的验证性测试,因此,本研究尝试将这些软件检测技术应用到PACS检验中,完成PACS质量特性的检验工作。

2 PACS检验分析

如上文所述,PACS在注册申报时应依据GB/T 25000.51-2016进行上市前检验。GB/T 25000.51-2016除了对软件用户文档集进行了规范外,还对软件的质量特性进行了要求,其中最终用户可调用的功能、功能性限制、未授权访问的预防措施、最大并发用户数和效率都是上市前检验的重点。我们在PACS检验中,针对最终用户可调用的功能、功能性限制、未授权访问的预防措施需要应用功能测试,而最大并发用户数、效率的测试则需要应用性能测试。本研究将按照应用的软件检测技术的不同,针对这5种质量特性分别叙述相应的软件测试方案。

2.1 功能测试应用

2.1.1 最终用户可调用的功能

软件可执行的临床功能是上市前检验中非常重要的部分,关系到软件是否能够完成预期的临床用途。对于这些功能应尽量由软件开发者提供需求文档,测试者按照需求文档,根据等价类划分测试法、边界值测试法、错误推测测试法和因果图测试法等功能测试方法设计测试用例并组织测试人员执行测试[6]。因PACS功能种类较多,每种PACS功能应用的技术和工作流差异也较大,因此,本研究无法针对具体功能逐条进行分析,仅提供常使用的功能测试方法作为参考。

2.1.2 功能性限制

功能性限制是为了保证用户在使用软件时不会因误操作产生数据或时间的损失,对于PACS,功能性限制通常集中在以下几个方面:(1)当PACS使用登录作为预防未授权访问的措施时,应考虑用户名和密码的长度与字符限制;(2)如PACS具有检索功能,应考虑检索时输入信息的长度及字符类型,对于日期应考虑按实际情况进行限制,如年龄界限、某些日期的前后关系等;(3)如果软件具有基于某种条件的功能,即在某种条件下才能执行的功能,应有相应的限制,如某些症状只会产生于对应性别的患者等。

对于功能性限制的检测通常使用功能检测中的边界值测试法,边界值法关注的是输入空间边界,用以标识测试用例,基本思想是在最小值(min)、略高于最小值(min+)、正常值(nom)、略低于最大值(max-)和最大值(max)等处取值进行检测,边界值法可以有效检测功能性限制,尤其是输入信息的限制。

2.1.3 未授权访问的预防措施

随着信息安全变得日益重要,PACS加密特性的要求也越来越高。PACS通常采用登录系统并使用授权文件或加密狗作为加密措施。检验时对于登录系统应使用功能测试软件进行测试,使用不同组合的账户名和密码(如正确的、错误的、缺省的、空白的及各类权限的用户),同时在测试时应关注登录系统的功能性限制。

2.2 性能测试应用

2.2.1 最大并发用户数

按标准要求,软件在达到最大并发用户数条件下,应能保证软件的性能。我们在测试最大并发用户数时,首先要获取软件的最大并发用户数。并发用户数指在同一时刻与服务器进行了交互的在线用户数量,与在线用户不同的是,并发用户与服务器进行了交互,交互既可以是单向的传输数据也可以是双向的传输数据。最大并发用户数应在软件开发和测试时使用压力测试来得出,也可以由软件开发者通过以下公式计算:

公式(1)中,C是平均的并发用户数;n是事件发生的数量;L是事件平均长度;T指考察的时间段长度。

公式(2)则给出了最大并发用户数的计算方法,其中,C’指并发用户数的峰值,C就是公式(1)中得到的平均的并发用户数。该公式的得出是假设事件的产生符合泊松分布而估算得到的。

如软件开发者无法提供最大并发用户数,我们可以用如下方法简单测试软件的最大并发用户数(仅针对某个具体功能)。具体操作为每隔10 s加入数个vuser,同时观察平均事件响应时间和vuser数的关系,当vuser数增加到一定数值时平均事件响应时间将迅速增大,可认为此vuser数为最大并发用户数,见图1。也可根据临床应用的响应时间要求,在小于此vuser数的范围内选取最大并发用户数。

图1 平均事件响应时间变化

获取最大并发用户数后,我们要选取一些软件临床功能,然后模拟多个用户进行这些功能的操作。对于PACS可以选取软件临床应用中数据交互比较频繁的功能,如登录、检索图像、调取图像等,测试环境应按照产品定义的最低配置进行。对于仿真工具我们通常使用的是性能测试工具LoadRunner 11.0。LoadRunner是软件性能测试领域中常使用的一款软件,可以模拟多个用户来对软件进行压力测试[7-8]。我们首先设置vuser数为软件开发者声称的最大并发用户数,然后设置事件为选取的PACS的临床功能,测试时间应按照软件临床应用情况设置,如软件开发者对临床应用时间无特殊要求则建议至少保证所有vuser工作后持续10 min。测试结果应记录平均事件响应时间,平均事件响应时间应不超过20 s(用户不会感到延迟),对于一些响应时间较长的特殊的功能可适当放宽要求。检测结果可记录最大并发用户数和平均事件响应时间,同时记录系统资源指标,如服务器和客户端的CPU、内存等系统资源的使用情况。

2.2.2 效率

对于PACS效率检测首先要选取测试效率使用的功能,首先应考虑软件具有的时间特性方面的功能,如传输图像,调取图像和一些重要的图像处理功能(如三维重建、某些计算分析等)所需的时间;其次应由软件开发者明确调用或处理的数据量,数据量应尽量参考临床应用中使用的数据量(如对于通常调用单张图像的产品可只记录调用一张图像的时间),而对于一次调用一个或多个序列图像的产品,则应按临床应用情况使用更多测试数据;最后应由软件开发者规定软件的效率,即完成效率测试用功能所需要的时间。

我们对效率的检测同样使用了性能测试工具LoadRunner,录制企业定义的效率测试用功能为事件,vuser设置为最大并发用户数,测试环境按最低要求配置,测试时间应参考软件具体使用情况持续一段时间但不宜过长(测试时间过长会等同于疲劳强度测试导致无法正确检测软件的效率)。最终结果应记录平均事件响应时间,即标准要求的软件效率,此平均事件响应时间不应超过软件开发者规定的时间。

3 小结

PACS作为一种常见的医疗器械软件,其安全性和有效性直接关系到医院的正常运行和患者的健康。本研究根据工作实践中对PACS上市前检验的理解和体会,通过对GB/T 25000.51-2016要求的软件产品质量特性,包括最终用户可调用的功能、功能性限制、未授权访问的预防措施、最大并发用户数和效率的分析,针对PACS的特点分别提出了相应的软件检测技术解决方案,设计了相应的测试用例;为保证PACS产品的质量特性及其临床应用的安全性和有效性,提供了基于功能测试和性能测试的具有可行性及适应性的软件测试方案。这些测试方案可以供PACS开发者在软件开发时对自己的产品进行测试,也可以为PACS上市前检验和文档编写提供部分技术支持。

猜你喜欢
用户数开发者功能性
基于十二指肠异常探讨功能性消化不良的中医研究进展
我国IPTV总用户数3.07亿户,同比增长6.7%
江苏省通信业2019 年主要指标完成情况
一种功能性散热板的产品开发及注射模设计
“85后”高学历男性成为APP开发新生主力军
16%游戏开发者看好VR
不同功能性聚合物在洗涤剂中的应用
支付宝用户数达到两亿
防治功能性消化不良药膳两款