[摘要] 在我国医药体制改革不断深化、互联网产业迅猛发展的今天,医院信息系统是现代化医院运营的必要技术支撑和基础设施,实现医院信息系统的目的就是为了以更现代化、科学化、规范化的手段来加强医院的管理,提高医院的工作效率,改进医疗质量,从而树立现代医院的新形象,这也是未来医院发展的必然方向。作为信息系统开发或集成中的一个必要组成部分,如何有效的组织和管理软件评测活动是格外重要的一环,本文将结合医院系统的评测实践经验,从软件评测的基础理论出发,探求利用系统、全面、科学的评测设计和有效地评测组织实施,独立、客观、公正、定量地分析评估和报告被测系统的整体状况,提交系统存在的缺陷,提出系统的改进建议,通过缺陷修改使系统达到一个稳定可靠的质量状态。
/6/view-10763104.htm
[关键词] 医院信息系统;评测过程管理;软件评测;黑盒评测法;思维导图
[中图分类号] R197 [文献标识码] C [文章编号] 1673-9701(2017)27-0127-05
Practice and experience of hospital software evaluation
GUO Yong1 LIU Kun2
1.Hospital Office,Daxing District Hospital of Integrated Chinese and Western Medicine in Beijing, Beijing 100076,China;2.Department of Information,Daxing District Hospital of Integrated Chinese and Western Medicine in Beijing, Beijing 100076, China
[Abstract] In the current era, with the continuous deepening of medical system reform, and rapid development of the Internet industry in China, hospital information system is the necessary technical support and infrastructure for the operation of modernized hospitals. The aim of achieving the hospital information system is to utilize more modernized, scientific and standardized means to strengthen the hospital management, improve the efficiency of the hospital, enhance the quality of medical care, so as to establish a new image of modernized hospitals. This is the inevitable direction of future hospital development. As an essential component of information system development or integration, how to effectively organize and manage software evaluation activities is a particularly important part. This article will combine the practical experience of evaluating hospital system, and explore the use of systematic, comprehensive and scientific evaluation design and effective evaluation organization and implementation from the basic theory of software evaluation, so as to independently, objectively, justly and quantitatively analyze, assess and report the overall situation of the evaluated system, submit the existing system defects, and put forward suggestions for system improvement, which enables the system to achieve a stable and reliable status through the correction of defects.
[Key words] Hospital information system; Evaluation process management; Software evaluation; Black-box evaluation method; Mind mapping
目前,?t院信息化建设正向着“数字化医院”的方向迅速发展。那么,满足人民对医疗保健服务的高品质、高效率、高服务的需求已成定局,因此,在推动医院信息化建设的进程中,如何保障信息系统的安全、稳定、有效运行是即系统开发后所面临的首要问题[1]。
软件评测是一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。软件评测的经典定义是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。作为信息系统开发或集成中的一个必要组成部分,如何有效的组织和管理软件评测活动是格外重要的一环。本文将结合医院系统的评测实践经验,从软件评测的基础理论出发,探求利用系统、全面、科学的评测设计和有效地评测组织实施,科学、客观、公正、严谨地分析评估和报告被测系统的整体状况,提交系统存在的缺陷,提出系统的改进建议,通过缺陷修改使系统达到一个稳定可靠的质量状态。 1 适用的评测方法是开端
医院管理需要主动适应新一轮医疗改革,做到改革与改善同步,构筑医院信息资源战略,推动医院信息系统建设规范化,需要加强医院信息化建设的管理、监督、指导和评审[2],软件评测主要采用黑盒评测也称功能评测,它是通过评测来检测每个功能是否能正常使用。在评测中,将程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行评测,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒评测是着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行评测[3]。
黑盒评测法注重于评测软件的功能需求,主要试图发现下列几类错误:功能不正确或遗漏,界面错误,数据库访问错误,初始化和终止错误等。
从理论上讲,黑盒评测只有采用穷举输入评测,将所有可能的输入均作为评测情况考虑,才能查出程序中所有的错误。实际上评测情况有无穷多个,人们不仅要评测所有合法的输入,而且还要对那些不合法但可能的输入进行评测。这样看来,完全评测是不可能的,所以我们要进行有针对性的评测,通过制定评测方案指导评测的实施,保证软件评测有组织、按步骤有计划地进行。黑盒评测行为必须能够加以量化,才能真正保证软件质量,而评测用例就是将评测行为具体量化的方法之一。具体的黑盒评测用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等[4]。
2 严谨的过程设计是枝干
软件评测过程是一种抽象的模型,用于定义软件评测的流程和方法。众所周知,开发过程的质量决定了软件的质量,同样地,评测过程的质量将直接影响评测结果的准确性和有效性。软件评测过程和软件开发过程一样均遵循软件工程原理,遵循管理学原理[5]。通过对测试目的、理论依据、测试策略、测试方法的详细描述,勾画出对医院信息系统测试的全过程。在指标数据采集方面,通过用户自述、表格填写、选择填空、自动记录、人工测试等多途径获取,?评价建立在客观依据的基础上。针对软件质量评价正确性、可维护性、可移植性、可测试性、可靠性、有效性等具体要求,建立测试指标体系和管理办法,以阐明测试目的、内容、对象、步骤、安排、实施、评价。针对不同的评测类型,按照以下评测流程对不同评测类型进行评测项目实施,具体评测流程见下图所示(图1)。
这是整个评测过程的主脉络,可以直观的控制各节点的进展和建立问题流向的解决机制。
3稳定的评测小组是关键
评测小组的组建主要取决于项目规模和对质量保证的理解,如果要保障评测工作的正常、有序进行,必须组建一支稳定的评测小组,基于此,需要医院管理层与技术人员参与到评测小组[6]。评测管理小组医院信息部门和项目方经共同组成。将医院信息系统视为一个完整的系统工程,在测试指标确定过程中,从个体、组织与社会多角度去综合考察分析;从单纯业务应用提高到含应用、控制、管理、利用为一体的综合功能理念出发;从单一技术因素转向包含使用这些技术的组织与人的非技术因素综合结果;从系统本身转向系统与组织、环境的交互作用。跟踪国际上现行的软件评测理论、技术和方法,参照国家、国际有关标准规范,指导测评工作。
评测小组成员主要包含项目管理、评测经理,评测工程师及QA相关人员。项目管理主要负责评审和批准评测计划及有关报告、组织并确保小组工作、控制项目进度、与各方进行沟通和协调。评测经理主要职责包括编制并评审评测计划及有关报告、协调实施项目计划中相关活动、沟通协调相关研发团队、识别评测环境需求、为其他人员提供评测技术支持、进行详细的评测结果分析。见表1。
4 明确的评测核心是焦点
软件评测是发现软件问题、确保软件质量地有效手段[7]。评测小组团队的需求分析主要包括“两图一文档”。即两图:业务流程图,思维导图;一文档:需求分析文档。
业务流程图是对于需求从流程(整体)去理解。思维导图是对需求所包含的各项功能点去理解。需求分析文档是对思维导图中的功能点去发散成为评测点。我们通过这种方式,每个需求所表达的内容基本不会漏掉。
而更高层次的隐性需求,就需要对业务有着很深的理解,安排子系统厂商技术人员分批次对评测小组进行业务培训以快速掌握系统,对比需求文档。期间结合各相关科室的实际操作以搜集更过关于易用性等质量参数的相关意见,达到全面分析需求,把控重点环节的作用[8]。
5有效的资源控制是力量
软件评测中,软件管理者首先应对资源进行有效分配。当前,评测资源分配主要应用在构件软件的模块评测中,评测资源控制用以对所分配资源的消耗过程进行优化控制,提高评测效率。
相对于软件评测来说,其按着功能划分有白盒和黑盒之分,从开发的过程来分主要有单元评测、集成评测、确认评测、系统评测四个部分,如果按测试方法来分类,可以分为静态评测和动态评测,这也是现在主要的检验手段。
除了缺少时间外,通常在取得执行必要的评测所需的合适资源方面也面临困难,资源可能被其他工作或项目分享。虽然评测的硬件资源会带来延迟和困难,但是人力资源的缺乏可能更加难以解决。在评测管理中这种障碍的影响和时间缺乏造成的影响大致相同[10]。
评测小组对现有资源(人、设备、工具等)进行自评估并就医院现有资源进行初步盘点,在制定评测计划时即已做好调度准备,以备不时之需。故此,在实施环节出现设备不足时,立即补充相应设备投入,保障了阶段性任务的准时完成。
5.1评测交互方式
评测严格按照确认的评测方案、委托评测申请单执行,依据方案规定的评测范围进行试点评测。针对评测方案规定的评测策略,在评测执行中都有体现,评测过程中依据系统需求说明书,对被测对象评测,评测各个阶段在评测管理平台中进行严格追踪和管理,实行交叉随机评测。 5.2基线管理
评测执行过程中,为避免评测过程版本的混乱,应建立基线管理机制,在每次评测完成之后建立版本基线,保留上一个评测版本环境,这样在评测过程中可以追根溯源,尤其是在进行第二轮、第三轮评测的时候可以验证是研发人员修改裂化的缺陷还是原本系统就存在而评测人员未发现的缺陷,如果是裂化的缺陷,那在回归评测时注意该条业务线上其他功能是否都受到影响,如果是原本就存在的缺陷而评测人员未发现则要考虑是否评测用例设计不够完善,这对问题的排查和评测方向都有很重要的指导意义。
5.3分配原则
重点在于从缺陷产生的概率和开发进行修复的难易程度来进行安排,缺陷如果发生的概率越大,或者是这类缺陷被修改的难度越高,那么执行测试的时候就要越靠前,根据测试用例的优先级,这是项目执行测试的重要原则:①首先安排用例级别较高的功能场景先测试,后根据用例级别高低依次安排。②先对主要功能和流程进行测试,然后对非主要功能和流程进行测试。③先对功能和逻辑进行测试,然后在对界面进行测试;④进行定量的随机猜测性测试,以便更好的发现隐藏在程序内部不易被发现的缺陷;⑤在每轮测试结束之后均进行交叉测试,以便更好的发现熟悉模块不能发现的缺陷。
6 有效的评测用例是方法的展现
6.1用例设计的规程
在设计评测用例时尤其要关注模块之间业务逻辑及数据流关系,评测策略的设计主要采用黑盒评测的方法,依据需求规格说明书和用户手册,直接输入数据来驱动功能模块的运行并得到最后的输出结果,以此来验证程序接口和用户界面是否都能够满足用户的需求并且保证数据及文件的完备性[11]。在进行功能评测设计的时候,主要遵循如下操作规程:①根据系统模块的架构进行层次划分,有效确认评测点的优先级;②设计评测用例时采用由上及下的原则,逐层推进;③与开发和科室人员及时进行业务上的沟通,不断加强对项目的理解程度;④借助相关工具和数据流图,积极推进评测工作的进展。
6.2常用方法的引用
项目用到最多的是等价类划分法和边界值法,在设计用例时,通常需要提高单条用例覆盖的有效等价类的数量,并保证一对一的覆盖无效等价类。但是在实际的软件开发和设计过程中,开发人员往往忽视数据边界情况,因此在评测时发现的问题也大部分都集中在边界的处理上[12-13]。所以在评测数据设计的时候根据条件重点考虑边界值,对于提高整个评测的效率上是有很大的帮助的。从另一个层面来说,边界值分析法也可以说是等价类方法的一个补充,评测的过程当中,两者往往结合起来共同进行用例的设计,这样才能够最大限度的覆盖评测需求。如个别系统需要进行导入数据大小不超过2M其实就需要2M的边界情况,在用例设计时,本项目不仅考虑取边界值作为输入数据,而且还把边界值两侧的情况考虑在内,即X小于2M、等于2M及大于2M也作为输入数据,以此构成整个评测数据的规划。见图2。
6.3用户文档审查
文档本身也是软件产品的组成部分,根据项目实际情况和文档审查范围,用户文档集审查分两个阶段,第一阶段为过程审查,在项目建设过程中,对文档进行定期审查,保证项目所需要的各种文档持续符合要求;第二阶段为文档验收审查,系统开发项目文档清单中变更类、需求类、设计类等相关系统文档产出物进行正向和逆向追踪审查,对文档中系统信息验收,要求文档资料对系统实现功能和用户最终调用的功能应有尽可能详细的语言描述或图示;文档对使用系统的限制条件和约束应有足够的说明;各文档内容信息应正确无误,相互一致,没有歧义,并且易理解和易学习[14]。
6.4 缺陷的跟?与管理
对缺陷的跟踪和管理需要达到以下两个目标:一是确保每个被发现的缺陷都能够被解决,二是收集缺陷数据并根据缺陷趋势曲线识别和预防缺陷的频繁发生。在缺陷管理时,不能只考虑如何修正缺陷,而忽视对根据缺陷分析进行有效预防。其实,通过对缺陷数据的收集和分析也很重要,从缺陷数据中可以得到很多与软件质量相关地数据。
缺陷最重要的是清晰明了的说明问题,重现步骤及如何解决。其实每一个缺陷都是一个优秀的用例,需要维护到评测用例中去,下次执行时,就多预防一个点[15]。
通过软件评测,一方面,可以让医院确实了解本院所建立的信息系统其质量等级,尚需要哪些改进措施,系统应该在医院正常业务运行中发挥什么作用;同时软件测评也是对医院投入的一种回报认可。另一方面,对开发单位的技术实力作一个客观评价,并对应用系统提出具体改进建议,同时也帮助开发单位熟悉了解医院的业务流程及需求,从而提高开发单位的产品水平和市场竞争力。
[参考文献]
[1] 李书章,刘国祥,吴昊,等. 数字化医院建设思路与实践[J]. 解放军医院管理杂志,2004,11(2):108-110.
[2] 范启勇,沈树春,张佳茂,等.建立科学、合理、全面的医院信息系统评测标准[J].中国医院管理,2002,22(8):23-24.
[3] 向润. 黑盒测试方法探讨[J]. 软件导刊,2009,8(1):33-35.
[4] 孟祥丰. 软件的黑盒测试方法解析与优化[J]. 物联网技术,2011,1(8):69-71.
[5] 张春霞,苏秦. 软件测试过程分析[J]. 计算机应用研究,2004,21(5):46-48.
[6] 李超峰,干峰,何荣,等. 医院信息系统用户测试工作的组织和管理[J]. 医学信息,2009,22(4):465-467.
[7] 闫国英,陈青.软件评测过程管理方法研究与实现[J].飞行器测控学报,2009,28(4):8-12.
[8] 吴秋月. 谈应用软件开发过程中的一个瓶颈问题――需求分析[J]. 安徽教育学院学报:自然科学版,1998,(1):66-67.
[9] 徐进. 软件评测技术的研究与实践[J]. 信息技术,2012, (1):182-183.
[10] 张策,崔刚,刘宏伟,等.软件测试资源与成本管控和最优发布策略[J].哈尔滨工业大学学报,2014,46(5):51-58.
[11] 赵玮,杨莉. 软件模块测试中的动态资源分配问题[J]. 运筹学学报, 2000,4(3):88-94.
[12] 徐强. 加强软件测试能力提高测试用例设计水平[J]. 神华科技,2010,8(4):7-10.
[13] 冯玉芬,杨天栋.价类划分测试用例设计[J]. 株洲师范高等专科学校学报,2007,12(5):43-45.
[14] 杨万君,伍滨. 软件文档审查的基本要求[J]. 中国军转民,2013,(2):49-50.
[15] 潘江波,冯兰萍,印斌. 基于软件测试的缺陷管理系统的研究[J]. 现代图书情报技术,2005,21(1):26-28.
(收稿日期:2017-07-17)