APP下载

黑盒测试在环境质量监测系统测试中的应用

2019-08-22宋丽

电子技术与软件工程 2019年12期
关键词:边界值黑盒测试用例

文/宋丽

软件测试是软件工程的一个重要阶段,也是保证软件质量的重要手段之一。随着市场对软件质量要求的不断提高,软件测试不断受到重视。越来越多的软件企业开始构建测试团队,为软件质量把关。环境质量监测系统是以计算机技术和数据库技术为核心,管理大量环境监测信息和数据储存的信息系统。利用环境监测管理系统可以加强对环境污染监测数据的处理,能够快速有效的对环境进行准确监测。本文介绍了常用黑盒测试方法,并在环境质量监测系统的测试中进行应用。

1 环境质量监测系统业务分析

环境监测中心站一般为环境监测数据中心,拥有大量环境质量数据,分为降水监测数据、河流监测数据、湖库监测数据、饮用水监测数据、地下水监测数据、区域噪声监测数据、功能区噪声监测数据、交通噪声监测数据等,针对监测中心监测业务建设的环境质量监测系统庞大复杂,功能多,逻辑强,安全性要求高,主要包括:水环境监测数据管理软件(地表水、饮用水等)、降水数据管理软件、噪声数据管理软件,将各级环境监测站监测数据的基础信息维护、数据录入、数据审核、数据上报、数据查询、数据共享功能,以及省级数据统计和市级基础统计功能结为一体,采用B/S 架构,实现“集中式”的管理。

该系统的测试工作主要针对功能测试展开,采用黑盒测试技术设计用例,执行测试,报告缺陷,回归测试,使得软件质量不断提高,提升软件的市场竞争力。

2 黑盒测试方法研究

黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

常用的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法等。

表1:判定表驱动法

表2:等价类划分法测试用例

表3:边界值分析法测试用例

表3:判定表

2.1 等价类划分法

等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据,取得较好的测试结果。

等价类划分可有两种不同的情况:有效等价类和无效等价类。有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。无效等价类:与有效等价类的定义恰巧相反。设计测试用例时,要同时考虑这两种等价类。

2.2 边界值分析法

边界值分析是一种补充等价类划分的测试用例设计技术,它不是选择等价类中的任意元素,而是选择等价类边界的测试用例。边界值分析法不仅重视输入条件边界,而且也必须考虑输出域边界。它是对等价类划分方法的补充。

使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

2.3 错误推测法

错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。

错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。例如,在单元测试时曾列出的许多在模块中常见的错误,以前产品测试中曾经发现的错误等,这些就是经验的总结。输入数据和输出数据为0,输入表格为空格或输入表格只有一行,这些都是容易发生错误的情况,可选择这些情况下的例子作为测试用例。

2.4 因果图法

因果图是一种常见的黑盒测试方法,它与边界值分析和等价类方法相比的优势在于其考虑的输入数据的组合情况。在因果图中,将输入作为因(Cause),将输出或操作作为果(Effect),故称为因果图。

因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。

2.5 判定表驱动法

判定表是分析和表达多种输入条件下系统执行不同动作的工具,将复杂的逻辑关系和多种条件组合的情况表达的清晰明了。判定表通常由四个部分组成,见表1。

(1)条件桩:列出系统的所有输入;

(2)动作桩:列出系统可能采取的操作;

(3)条件项:列出针对对应条件桩的取值(即在所有可能情况下的取值);

(4)动作项:列出针对对应动作桩的取值情况下应该采取的动作。

动作项和条件项放一起,指出了在条件项的各种取值情况下应该采取的动作,在判定表中贯穿条件项和动作项的一列就是一条规则,可以针对每个合法输入组合的规则设计用例进行测试。

判定表法主要针对功能需求中的处理过程,处理过程越复杂,越有必要使用判定表法。

3 黑盒测试方法的应用

环境质量监测系统主要对环境监测数据进行管理,实现数据录入、数据导入、数据上报、数据审核、数据查询、统计评价、基本信息等功能。在环境质量监测系统的功能测试工作中采用黑盒测试技术设计用例,在一定程度上避免了测试工作的盲目性,提高了测试覆盖率。

在测试用例的设计过程中,首先采用等价类划分法设计测试用例,并使用边界值分析法对边界进行重点测试,再根据测试人员的经验补充测试用例,如果程序的功能说明中含有输入条件的组合情况,则可选用因果图法。

3.1 等价类划分法

采用等价类划分法,可以在一定程度上避免测试用例冗余,在保证覆盖率的基础上,能有效降低测试用例的数量,缩短测试周期。

环境质量监测系统包含大量的数据录入采集功能,如降水数据、河流数据、湖库数据等,该类功能主要采用等价类划分法设计测试用例。

图1为降水数据监测数据录入页面。

其中,需求文档中对pH 值的范围进行了约定:为0~14 之间的数字。设计测试用例时,首先划分有效等价类及无效等价类,建立等价类表,对有效及无效等价类分别设计测试用例。其中,有效的测试用例要尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;无效等价类测试用例仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖。

设计出的测试用例如表2。

3.2 边界值分析法

边界值分析法是是对等价类划分法的补充,重点关注输入输出边界。

对pH 值输入的边界值测试用例设计如表3。

3.3 错误推测法

错误推测法基于测试人员的经验和直觉,它不能明确的归于黑盒法或白盒法,因为它并不是根据需求,也不是根据程序的结构来生成测试用例的。随着在产品测试实践中对产品了解的加深和测试经验的丰富,使用错误推测法设计的测试用例往往非常有效。

在环境质量监测系统中,基于以往的测试经验,利用错误推测法设计了很多行之有效的测试用例。

(1)对要求输入数字的地方,输入字母;

图1:监测数据录入

图2:用户登录因果图

(2)对要求输入正数的地方,输入负数;

(3)对文件上传,上传不符合要求的文件类型;

(4)输入数字、字符长度超过限制;

(5)对日期时间,输入早于1900年、晚于3000年的年份,月份输入大于12 的数字,日期输入大于31 的数字。

采用错误推测法,直观简洁的发现了一些缺陷,有的用例甚至导致系统退出,进一步说明了该方法的有效性。

3.4 因果图及判定表法

因果图法根据需求说明中的因果关系设计测试用例,能够帮助测试人员高效率的选择测试用例。

在环境质量监测系统,使用因果图法对登录操作设计测试用例。

第一步,根据需求说明,分析原因和结果:

(1)原因:1-合法用户2-正确密码3-正确验证码

(2)中间节点:11-用户名、密码、校验码均正确12-用户名或密码或校验码错误 13-单击登录14-单击取消

(3)结果:21-登录成功22-登录失败

第二步:画出因果图,见图2。

其中V 表示或,原因之一成立则结果成立;Λ 表示与,原因都成立则结果成立;∽表示非,若原因出现则结果不出现。

第三步:因果图转换成判定表,见表3。

判定表中每一列表示一个测试用例,其中Y 表示有效测试用例,N 表示无效测试用例。

因果图法设计测试用例,能够帮助测试人员按照一定的步骤,高效地选择测试用例,设计多个输入条件组合用例,还能进一步指出软件规格说明书中存在的问题。

4 总结

黑盒测试方法是一种有效的功能测试用例设计方法,在环境质量监测系统测试中,综合利用黑盒测试用例设计方法,突出了测试重点,提高了对需求的覆盖率,提升了测试效率,缩短了测试周期。本次测试工作中,共发现缺陷58 个,严重性为高的缺陷15 个,严重性为中的缺陷21 个,严重性为低及轻微的缺陷22个。通过测试及整改,进一步降低了环境质量监测系统应用中的风险,保证了软件质量,对系统的市场推广及稳定运行起到积极作用。

猜你喜欢

边界值黑盒测试用例
一种基于局部平均有限差分的黑盒对抗攻击方法
基于SmartUnit的安全通信系统单元测试用例自动生成
巧用洛必达法则速解函数边界值例读
基于混合遗传算法的回归测试用例集最小化研究
基于依赖结构的测试用例优先级技术
一类带有Dirichlet边界值条件的椭圆型方程正解的存在性
序半群中有边界值的直觉模糊理想
软件回归测试用例选取方法研究