第10卷 第4期 2012年8月 信 息 与 电 子 工 程 INFORMATION AND ELECTRONIC ENGINEERING VO1.10.NO.4 Aug.,2012 文章编号:1672.2892(2012)04—0509—04 基于场景的信息系统黑盒测试方法 刘春玲,雷海红 (中国工程物理研究院计算机应用研究所,四川绵阳621900) 摘 要:针对管理信息系统中业务流程复杂,功能点多,场景复杂等特点,研究基于场景的 信息系统黑盒测试方法,通过对系统的业务流进行分析,利用场景测试方法对待测系统进行场景 分析和业务流程分析选择,确立管理信息系统集成测试和系统测试的用例设计方向,形成性价比 高、覆盖全面的测试用例,最终从根本上降低测试成本,提高测试效率,为管理信息系统(MIS)的 质量提供保障。 关键词:场景;管理信息系统;黑盒测试 中图分类号:TN98;TP311.52 文献标识码:A Information system black—box test method based on scenes LIU Chun—ling,LEI Hai—Hong China Academy of Engineering Physics Abstract:Aimed at the characteristics of information system such as complicated business flow. numerous funotion module.complicated scenes and SO on.the information system black—box test method iS studied based on scenes.The business flow iS analyzed.and the scene test method iS employed to analyze the scene and perform the choices of business flow.The use—case design direction of integration test and system test iS determined and a high cost.effective and overall test case iS built.which fundamentally cuts the test cost,enhances test efficiency,and affords the quality assurance of Management Information System(MIS). Key words:scene;Management Information System;black—box testing 当遇到系统流程复杂,功能点繁多的管理信息系统,如何测试?如何保证软件的质量?穷举测试是不可能的。 即使是一个大小适度的软件流程,其路径排列的数量也非常大。因此,在测试中不可能运行路径的每一种组合[1-21。 所以要进行有针对的测试,通过对管理系统业务需求和业务流程的分析,制定测试案例形成比较高的场景覆盖率, 指导测试的实施,以保证软件的质量。现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成 了场景,而同一事件不同的触发顺序和处理结果就形成事件流。如果按照对一般应用软件的仅针对功能点的测试 方法进行测试,即使耗费很大的人力、物力,保证大部分功能点都正确,也不能保证可以正常使用,因为管理信 息系统的业务流顺畅、集成性高是更重要的要求。如何较全面高效地对管理信息系统软件进行测试设计分析,如 何设计出“性价比”较高的测试用例,是对软件测试工程师的一个考验[3-41。 针对这个问题,业界提出了通过场景分析的方法来分析待测系统、确定测试用例的思路,将这种原本应用于 软件设计方面的思想,成功引入到软件测试中来,生动地描述出事件触发时的情景,有利于测试设计者设计测试 用例,同时使测试用例更容易理解和执行 J。 1 基于场景的测试思想 1.1基于场景的测试分析 软件测试的重点是要确定在所有水平(既有服务子系统,也有设计子系统)和所有层次上(从系统软件层到专用 应用层)的子系统及其接VI是可运行的。它是通过测试来检验每个功能是否都能正常使用 。对于黑盒测试而言, 收稿日期:2012—03—29;修回日期:2012-06—12 基金项目:中国丁程物理研究院学科发展基金资助项目(2010B0403062) 510 信息与电子工程 第10卷 仅能测试可执行的构件。黑盒测试着眼于程序外部结构。基于场景的黑盒测试分析方法主要目的是对系统运行流 程进行分析,从宏观角度考虑用例应该包括哪些基本流和备选流。通过用例场景来描述流经用例的路径,继而确 定从用例开始到结束遍历这条路径上所有的基本流和备选流。基于场景的测试主要关注用户需要做什么,而不是 产品能做什么,即从用户任务(使用用例)中找出用户要做什么及如何去执行 】。它有助于在一个构件测试情况下 检查多重系统,所以基于场景测试用例的测试比基于故障测试和许多传统的测试方法来说更实际,更贴近用户, 而且更复杂。因此,要测试管理信息系统,要求测试人员不仅要知道软件系统的功能结构,还要掌握系统业务流 程和管理思想,了解用户的需求,对其测试的重点也应该放在流程的正确集成上。 基于场景的测试重在对系统整个运行体系的分析和设计,并不直接针对细粒度的功能操作。因此,形成完整 的测试用例,需要引用若干种测试方法,从不同角度来考虑和完善测试用例的设计 J。 1.2基本流与备选流 如前所述,几乎所有的管理信息系统都是用事件触发来控制流程的,多个事件之间触发的顺序就形成了事件 流,围绕事件流的就是控制流和信息流¨…。 对于管理信息系统而言,主要功能目的的实现主要体现在一条或几条正常的事件流当中,从开始到结束,严 格地遵从各项事件的合法触发条件,从而顺利地从头到尾完成各项业务的执行,称为“基本流”。但是现实的用 户需求绝对不可能如此简单,为了应对各种异常事件的发生和维护业务数据的完整性,往往在系统中设置若干条 应对特殊状况的事件流,在大多数情况下其数量远大于基本流的数量,称作“备选流”…J。 2测试设计思路 在设计思路的阐述中,均以管理信息系统材料审批功能模块为例,描述基于场景的管理信息系统黑盒测试案 例的测试方法。 2.1抽取出业务流程图 从系统需求说明书或相关文档中提取出相关的业务流程,最好形成严格的业务流程图。图1是待测的管理信 息系统用例中的一个材料审批的流程图。 Fig.1 Flow chan of auditing materials 图1材料审批流程图 2.2基本流与备选流的表示 根据图1具体的业务流程图,画出基本流和备选流的关系图,如图2所示。可以归纳出一个看上去比较清晰 的主、备选流关系图。 图2中经过用例的每条路径都用基本流和备选流来表示。直黑线表示基本流,是经过用例的最简单的路径。 第4期 刘春玲等:基于场景的信息系统黑盒测试方法 5l 1 备选流用不同的颜色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加人基本流中。 2.3用例流的触发条件 al 经过以上对系统(子系统)的运作流程的分析,根据图1材料审批业务 流程图,按照传统的用例分析方法需要分析出每个基本流与备选流的触发 条件,最终完成表1。 2.4场景分析 根据确定的基本流和备选流的关系,再加上2.3节关于用例流触发条 件的描述,可以确定出不同的用例场景。从基本流开始,将基本流和备选 流结合在一起,可以确定各种场景,并完成表2。 这里,表2中只列出了部分的场景。这里的场景路径并非基本流和备 选流的随机组合,而是根据其主要关系,进行有意义的规划和分析,最终 形成的有实际意义的场景路径。 表1用例流及触发条件 Table 1 Use—case flow and trigger conditions Fig.2 Base low and falternatives end 1.1se—case 图2基本流与备选流 表2场景路径表 Table2 List ofscene P 2.5业务流程的选择 根据图1材料审批流程图,找出业务流程的各个页面以及各 Fig_3 Flow chart of predigested use—case operation 图3简化后的用例业务流图 页面之间的流转关系,抽取 简化的用例业务流图(路径图),如 陶3所示。 根据抽取出的简化用例业务流程 ,通过对软件功能模块之间业务流程的分析和整理,可以得到一个大概的 测试设计方向。然而,场景路径表中的全部场景路径数量往往很多,每一个路径都进行一次全面测试要耗费很多 资源,也没有必要。这就引出一个问题:如何选择“性价比”较高的业务流程,使它们尽量覆盖较多的场景,然 后根据所选业务流设计数据流。因此,需要建立一个路径触发条件与场景的关系对照表,如表3所示。 512 信息与电子工程 1 2 3 4 5 r}r}第l0卷 6 7 8 9 r}rL r¨ L 1{1J 1J 1{1j表3路径触发条件与场景关系表 Table3 Path activated conditions and scene relationship 假如第 组条件组合覆盖的场景最多,应该按照这个路径触发条件组合设计案例。实际操作中,还要根据软 件的需求和测试需求的不同,添加和减少触发条件,以覆盖尽量多的场景。 综上所述,做了这么多的工作,其目的就是为了确定待测系统中“性价比”较高的流程,以及触发流程所需 的基本条件,这样在准备案例的数据流时就有了“根基”,使一套测试数据能够覆盖尽量多的流程分支以及功能 点。反之,如果盲目选择流程进行案例设计,结果可能是重要的流程分支及功能点没有覆盖到,或者即使覆盖到 了,但也进行了大量的重复性劳动,造成了人力、物力的极大浪费。 3 结论 本文针对基于场景的管理信息系统黑盒测试案例设计方法进行分析,从系统的业务流分析出发,通过对待测 系统进行场景分析和业务流程分析选择来设计测试用例,避免了测试用例设计的随意性,形成“性价比”较高的 测试用例和测试数据,从而确立管理信息系统测试用例的设计方向,最终从根本上降低测试成本,提高测试效率, 对软件测试用例设计具有一定的指导意义。 参考文献: 赵彬,辛文逵.目前软件测试发展中的误区lJ】.信息与电子工程,2003,1(4):323—325. 孙俊若.正交法在雷达软件测试中的应用[J].信息与电子_T二程,2009,7(6):501—505. 漆莲芝,谢敏,张军.VI仿真环境下嵌入式软件测试研究与应用[J].信息与电子_T程,201 1,9(1):101—104. 梅尔斯.软件测试的艺术【M1.王峰,译.北京:机械工业出版社,2006. 檀革苗,袁捷,缪怀扣,等.基于形式概念分析与分类树法的Web应用测试方法[J].计算机应用与软件,2010,27(3) 6—8,55. 郭学品,钟声,黄成.软件测试用例设计分析『J1.海南广播电视大学学报,2010(4):136—139. 孟祥丰.软件的黑盒测试方法解析与优化【J].物联网技术,2011,1(8):69—71. 王立新.软件测试数据的高效生成及测试方法研究[D].上海:东华大学,201 1. 夏启明.软件测试及评价的复用策略研究及其实现[D】.武汉:武汉大学,2010. 李洁.软件测试用例设计【JJ.电脑编程技巧与维护,2010(4):17—19,23. 刘星妍.有效的功能测试用例设计….信息技术,2010(1):142—144. 作者简介: 一 要lc从@刘c事ae春软p.玲a件c(.1测n9.7 试3一)、,软女件,质郑量州保市人障工,大作专.em,a主il: 级面工的雷程研海师发红工,(主作19要. 75从一)事,软女件,产陕品西的省开宝发鸡、市P人DM,高方