黑盒测试方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本次课程学习目标
掌握测试用例概念
掌握黑盒测试设计方法并熟练选用
测试用例(test case)的定义
软件测试的本质是针对要测试的内容确定一组测试用例
测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果
测试用例是执行的最小实体
测试用例就是设计一个场景,使软件程序在这种场景下,必须能够正常运行并且达到程序所设计的执行结果
一个好的测试用例特点
最有可能抓住错误的
一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试(Grenford J. Myers 《The art of Software Testing》)
不重不漏
一组相似测试用例中最有效的
既不是太简单,也不是太复杂
测试用例的好处
避免盲目测试
提高测试效率
重点突出,目的明确
通用化和复用化使测试工作易于展开
软件更新后只须更新对应的用例,降低工作强度,缩短项目周期
测试用例组成关键元素
编号/I/D名称/目的/前提条件/操作步骤/预期结果/实际结果/设计人员
测试用例设计
定义:
所谓的测试用例设计就是将软件测试的行为活动,作一个科学化的组织归纳。
目的:就是为了能将软件测试的行为转换为可管理的模式。
测试用例设计原则
代表性
能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的
输入数据、操作和环境设置等
测试结果的可判定性
测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果
测试结果的可再现性
对同样的测试用例,系统的执行结果应当是相同的
等价类
背景:
通常情况下,考虑测试输入数据所有可能的组合是不现实的,须从可能的所有测试用例中进行合理的选择,采用等价类划分方法可以实现这个目的。
定义:
将软件或系统的输入(或输出)分成不同的组,对于同一个组的输入,软件或系统应该有相似的表现行为,就好像系统是以相同的方式对这些输入进行处理,通常把这种技术称为等价类划分。
划分规则
1、如果输入条件规定了取值范围或值得个数的情况况下,可以确立一个有效等价类和两个无效等价类
2、如果规定了输入数据的个数,则可以划分一个有效等价类和两个无效等价类
3、如规定了输入数据的一组值,且程序对于不同输入值作不同的处理,则每个允许的输入值是一个有效等价类,所有不允许的输入值是一个无效等价类
4、如果规定了输入数据必须遵守的规则,可确定一个有效等价类,若干个无效等价类
5、在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类
6、在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小等价类
等价类划分法测试用例设计
步骤一:确立了等价类后,建立等价类表,并为每一个等价类确定一个唯一的编号
步骤二:设计一个测试用例,使其尽可能多的覆盖尚未覆盖的有效等价类,重复这一步骤,使所有有效等价类均被覆盖
步骤三:设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步骤,使得所有无效等价类均被覆盖
等价类划分法步骤
1、确定有效类、无效类
2、细分有效类和无效类
3、选择代表值
4、生成测试用例
边界值
定义:对输入或输出的边界值进行测试的一种方法。通常作为等价类方法的补充
与等价类的区别
不是从等价类中随便挑一个作为代表,而是使等价类的每个边界都要作为测试条件
不仅考虑输入,也考虑输出
边界值分析基本思想:Min,Min+,Nor,Max-,Max
次边界
普通边界条件是最容易找到的,它们在产品说明书中有定义,或者在使用软件的过程中确定。有些边界在软件内部,最终用户几乎看不到,但是软件测试仍有必要检查。(如:2的乘方、ASCII字符表)
扩展-健壮性测试
健壮性测试是边界值分析的一种简单扩展,除了变量的五个边界值分析取值,还要通过采用一个略超过最大值(max+)的取值,以及一个略小于最小值(min-)的取值。
因果图
简介
等价类和边界值着重考虑程序的输入条件,因果图多为考虑输入条件之间的关系,相互组合、相互制约。
输入条件的相互组合,会产生新的情况,并且组合情况相当多
因果图法是从用自然语言书写的描述中找到因(输入条件)和果(输出或程序状态的改变),例用图解法分析输入的各种组合情况,从而设计测试用例
优点
考虑了输入条件的各种组合以及输入情况的约束条件
帮助测试人员高效率的开发测试用例
将自然描述语言转化为形式语言规格说明的一种严格的方法,可以指出规格说明书中的不完
备性和二义性
因果图基本逻辑符号
恒等:若ci是1,则ei也是1;否则ei为0
非:若ci是1,则ei是0;否则ei是1
或:若c1或c2是1,则ei是1;否则e1是0;可以有任意个输入
与:若c1和c2是1,则ei是1;否则ei是0。可以有任意个输入
约束
输入状态之间存在的依赖关系,称之为约束。某些输入条件不可能同时出现输出状态之间也存在约束
用特定的符号表示约束关系
约束关系定义
输入条件的约束
E:互斥;a和b中至多有一个为1,即a和b不可能同时为1
I:包含,a,b,c中至少有一个为1,即a,b,c不能同时为0
O:唯一,a和b必须有一个,且只有一个为1;
R:要求,a为1时,b必须为1,即不可能a为1时b为0
输出条件的约束
M:强制,若结果a是1,则强制结果b为0,而当a为0时,b的值不确定。因果图法设计用例的6个步骤