分析软件黑盒测试用例设计方法及其综合应用
摘要:软件测试作为保证软件质量的主要手段, 其重要性是毋庸置疑的。测试用例的好坏决定着测试工作的效率。本文结合多年的测试经验,对黑盒测试的测试用例设计方法和综合应用作一简要探讨。
关键字:黑盒测试用例;设计方法;综合应用
1. 测试用例在测试过程中的作用
软件质量已成为软件公司和客户越来越关心的问题。如何利用最少的人力及资源投入,在最短的时间内完成测试,并发现系统尽可能多的缺陷,保证软件的质量,是软件公司共同探索和追求的目标。测试用例是软件测试的核心,因此测试用例的设计和编制是软件测试活动中最重要的。
1.1指导测试的实施
测试用例作为测试的标准,测试人员一定要按照测试用例,严格按用例项和测试步骤执行测试,将测试情况记录在测试用例管理软件中,并自动生成测试结果文档。
1.2.评估测试结果的度量基准
测试用例执行完毕后需要对测试结果进行评估,并且编制测试报告。如:测试覆盖率、测试通过率是多少等,通过这些量化的结果来衡量软件代码的质量。原来以软件模块或功能点作为统计基准,显得过于粗糙,而采用测试用例作度量基准更加准确、有效。
1.3分析缺陷的标准
通过收集反馈缺陷,对比测试用例和缺陷库,分析确定是漏测还是缺陷复现。漏测反映了测试用例设计不够完善,应立即补充相应测试用例,最终逐步完善软件质量。而用例库中有对应的测试用例,则说明测试执行或变更处理存在问题。
2.黑盒测试用例的设计方法
黑盒测试也称功能测试,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
测试用例是为特定的目的而设计的一组测试输入、执行条件和预期结果的集合,以便测试某个程序路径或核实是否满足某个特定需求。简单地说,测试用例就是设计一个场景,使软件程序在这种场景下,必须能够正常运行并且达到程序所设计的执行结果。下面介绍几种常用的黑盒测试用例设计方法。
2.1等价类划分
等价类划分设计方法是把所有可能的输入数据,即程序的输入域划分成若干子集,然后从每一个子集中选取少量具有代表性的数据作为测试用例。
等价类划分有两种不同的情况:有效等价类和无效等价类。有效等价类是指对于需求规格说明书来说,是合理的、有意义的输入数据所组成的集合;利用它可以检验软件是否实现了预期的功能和性能。无效等价类是指对于程需求规格说明书来说,是非法的、没有意义的输入数据所构成的集合;利用它可以检验软件对于非法数据的处理能力。设计测试用例时要同时考虑这两种等价类。
2.2边界值分析法
使用边界值分析方法设计测试用例,首先:应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。其次,应选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或者任意值作为测试数据。
如果输入条件规定了值的范围,应选取达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入的数据。
如果输入条件规定了值的个数,应用最大个数、最小个数、比最小个数少一个、比最大个数多一个的数作为测试输入的数据。
另外,还需要分析需求规格说明书,找出其它可能的边界条件。
2.3因果图法
因果图法适用于多种条件的组合、相应产生多个结果的场景。
利用因果图生成测试用例的基本步骤:①分析软件规格说明书中的原因和结果,并给每个原因和结果赋予一个标识符;②分析软件规格说明书描述的语义,找出原因和结果、原因和原因之间的关系,根据这些关系,画出因果图;③在因果图上用一些记号表明约束或限制条件;④把因果图转换为判定表;⑤把判定表的每一列拿出来作为依据,设计测试用例。
2.4错误推测法
错误推测法就是根据经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例的方法。基本思路是列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据这些情况设计测试用例。
3.综合应用多种方法设计测试用例
实际运用中,针对一个功能点不可能只运用一种设计方法,通常需要综合使用多种设计方法,并输入多个测试数据来进行充分测试。
3.1等价类划分和边界值分析法相结合
在实际测试用例设计工作中,将边界值分析法和等价类划分方法结合起来,先用边界值分析法确定数据边界,再用等价类划分方法得到等价的数据类,从而有效地设计出精而少的测试用例。
让我们看一个简单的例子。设置打印范围为页码范围时,需要输入页码范围,这就需要运用边界值分析法,取一些边界值,充分测试打印功能的实现程度,以一个多页信件的页码范围设置为例,如:10页,对其详细设计情况如下:边界值两个:min和max,如1和10;有效数据的等价输入值 Ni,如5 ;无效数据的等价输入值两个:NLm1和NLm2,如-5和15
为了得到更好的覆盖率,可以在靠近边界处取一些值,共四个,即:
min-1,min+1,max-1,max+1,即0,2,9,11
因此,得到有效的测试数据集合是{-5,0,1,2,5,9,10,11,15}。
3.2等价类划分法和错误推测法相结合
在实际运用中,设计无效数据的等价类时,还需要运用错误推测法,取一些非法值、空值等,充分测试系统对非法输入或操作的容错能力。接着看上面的例子。如果运用错误推测法,还可以输入的数据有:空、字母、汉字、特殊字符等,即:空,a,测试,#。
那么得到有效测试数据集合是{-5,1,5,10,15,空,a,测试,#}。
3.3综合应用多种设计方法
综合上面的等价类划分法、边界值分析法和错误推测法三种测试方法,即取这些数据集合的并集,得到最完整和充分的测试数据集合即{-5,0,1,2,5,9,10,11,15,空,a,测试,#}。
4.结语
在实际应用中,针对一个功能点,设计测试用例的方法有许多种,每种方法都能设计出一组有效用例,用这组用例容易发现某种类型的错误,但可能不易发现另一类型的错误。因此在实际测试中需要联合使用各种测试方法,形成综合策略,这样才能对一个功能点测试充分。
参考文献
[1] 软件测试技术经典教程(第二版),科学出版社,2011
[2] 软件测试实用技术与常用模板,机械工业出版社,2010
下一篇:探讨家庭计算机网络安全隐患与防范技术