一、边界值
什么是边界:
边界是指对于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况。边界值分析法也是一种常用的黑盒测试方法。大量的错误是发生在输入或输出范围
的边界上,而不是在输入范围的内部。
易错点:
有效数据和无效数据的分界点,往往作为程序员编写程序的判断点,是程序员容易犯错误的地方,也是测试人员重点测试的内容。
解决方法:
1.找到测试数据的边界点,也就是有效等价类和无效等价类的边界点,对边界点数据专门进行测试。
2.一般情况下,需要对边界值(0和100)以及边界值两边的数(-1和1以及101和99)分别进行测试。
边界值小结:
边界值和等价类区别:边界值分析不是从某等价类中随便挑一个作为代表,而是这个等价类的每个边界都要作为测试条件
常见的边界值:
1.文本框接收字符个数,比如用户名长度,密码长度等;
2.报表的第1行和最后1行;
3.数值元素的第1个和最后1个;
4.循环的第1次、2次和倒数第1次、2次。
二、因果图法
因果图定义:
因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况
特点:
1.考虑输入条件的相互制约及组合关系
2.考虑输出条件对输入条件的依赖关系
因果图产生背景:
1.等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。2.如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。
因果图核心:
因果图法比较适合输入条件比较多的情况,测试所有的输入条件的排列组合。所谓的原因就是输入,所谓的结果就是输出。
因果图法要注意考虑:
1.所有输入/输出条件的相互制约关系以及组合关系
2.输出结果对输入条件的依赖关系,也就是什么样的输入组合会产生怎样的输出结果,即“因果关系”
因果图中基本符号:
通常在因果图中用Ci表示原因,用Ei表示结果,各结点表示状态,可取值“0"或“1"。“0”表示某状态不出现,“1"表示某状态出现。
因果图中的约束条件
因果图法基本步骤:
1.找出所有的原因,原因即输入条件或输入条件的等价类。
2.找出所有的结果,结果即输出条件。
3.明确所有输入条件之间的制约关系以及组合关系。哪些条件不能组合到一起, 哪些条件可以组合到一起
4.明确所有输出条件之间的制约关系以及组合关系。哪些输出结果不能同时输出,哪些输出结果可以同时输出
5.找出什么样的输入条件组合会产生哪种输出结果
6.把因果图转换成判定表/决策表。
7.为判定表/决策表中的每一列表示的情况设计测试用例。
三、判定表法
定义:
因果图只是一种辅助工具,通过分析最终得到判定表,再通过判定表编写测试用例。但有时画因果图非常麻烦,影响测试效率,可以直接写判定表,进而编写测试用例。
判定表组成:
1.条件桩:问题的所有条件
2.动作桩:问题的所有输出
3.条件项:针对条件桩的取值
4.动作项:条件项的各种取值情况下的输出结果
四、场景法
场景法中两个重要的概念:
基本流:
按照正确的业务流程来实现一条操作路径(模拟正确的操作流程)
备选流:
导致程序出现错误的操作流程(模拟错误的操作流程)
用例场景产生的背景:
1.现在的软件几乎都是由事件触发来控制流程的,事件触发时的情景便形成了场景。而同一事件不同的触发 顺序和处理结果形成事件流。
2.将这种在软件设计方面的思想引入到软件测试中,生动的描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时测试用例也更容易的得到理解和执行。
3.在使用场景法设计测试用例时,需要覆盖系统用例中的主成功场景和扩展场景,并且需要适当补充各种正反面的测试用例和考虑出异常场景的情形。
4.当使用场景法测试程序没有问题时,可以再使用边界值、等价类方法对账号、密码进行更加细致、完整的测试。