软件测试——测试用例设计方法

文章介绍了软件测试中的几种主要方法,包括等价类划分法用于选取代表性数据,边界值分析法关注输入输出边界,因果图法处理输入条件的组合,错误推断法基于经验找寻可能错误,正交表法用于高效覆盖测试,以及场景法和判定表法在复杂逻辑中的应用。
摘要由CSDN通过智能技术生成

等价类划分法

定义:

把所有可能的输入数据按照某种特征划分成若干部分,从每个部分中选取少数具有代表性的数据作为测试用例

针对穷举场景:

输入框、下拉列表、单选复选框

类型划分:

1、有效等价类-满足需求的数据集合-检验程序是否实现了要求的功能

2、无效等价类-不满足需求的数据集合-检验程序的健壮性和容错性

等价类:

指某个输入域的子集合,在该子集合中的数据对于揭露程序中的错误都是等效的,具有等价特性

步骤:

1、明确需求:要注意需求的隐藏条件;考虑情况;长度、类型、规则;特殊场景:为空

2、划分有效等价类和无效等价类

3、对每条等价类设计数据,编写测试用例

边界值分析法

定义:

对输入或输出边界值进行测试,通常作为等价类划分法的补充。测试用例来自等价类的边界

场景:

输入条件是一个取值范围;输入条件规定输入的数据是一个有序集台

与等价类划分法的区别:

等价类划分法可以挑选等价范围内任意一个数据作为代表,边界值分析法要求每个边界值都要作为测试条件;边界值分析法不仅考虑输入条件,同样考虑输出产生的测试情况

常见边界值--概念:

边界点(上点):输入范围的边界点

离点:离边界点最近的点

内点:输入范围内的任意一个点

常见边界值--边界值取法:

输入条件为取值范围:一般取稍高于和稍低于边界的数据以及边界值本身。条件为:20-99的整数;取值为:19,20,21,98,99,100

输入条件为有序售合:取售合第一个字符和最后一个字符。条件:6位a~z小写字母;不考虑长度边界取值:abcdez

步骤:

1、明确需求

2、划分有效等价类和无效等价类

3、明确输入条件中的边界值

4、设计数据,编写测试用例

因果图法

定义:

因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法。适用于检查程序输入条件的各种组合情况

特点:

1、考虑蝓入条件的相互制约及组合关系

2、考虑输出条件对输入条件的依赖关系

背景:

等价类划分法和边界值分析法都是着重考虑输入条件,但没有考虑输入条件的各种组合,输入条件的相互制约关系。这样,单个输入条件可能出错的情况考虑到了,但多个输入条件组合起来可能出错的情况就被忽视了。

核心:

因果图法比较适合输入条件比较多的情况,测试所有的输入条件的排列组合

步骤:

1、找出所有的原因,即输入条件或输入条件的等价类

2、找出所有结果,即输出条件

3、明确所有输入条件之间的制约关系以及组合关系。哪些可以组合到一起,哪些不可以组合到一起

4、明确所有输出条件之间的制约关系以及组合关系。哪些结果不能同时输出,哪些结果可以输出

5、找出什么样的输入条件组合会产生哪种输出结果

6、把因果图转换为判定表/决策表

7、为判定表/决策表中的每一列表示的情况设计测试用例

案例:

充值系统

错误推断法:

定义:

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

基本思想:

根据经验,列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例

使用场景:

适用于项目时间比较短促,任务比较繁重的情况下,而且测试经验较多

正交表法:

定义:

也叫正交排列法。就是使用最小的测试过程集合获得最大的测试覆盖率

使用场景:

针对多个输入框的测试

使用工具生成正交表:

正交设计助手工具

判定表法:

定义:

判定表也称决策表,是分析和表达多逻辑条件下执行不同操作的工具。是因果图法的产物

使用场景:

适合于有多个输入和多个输出,输入和输出之间有相互组合的关系,输入输出之间有相互制约和依赖的关系

组成:

1、条件桩(输入)--列出问题的所有条件,次序无关紧要

2、动作桩(输出)--列出问题规定可能采取的操作,次序无关紧要

3、条件项--列出针对它左列条件的取值。在所有可能情况下的真假值

4、动作项--列出在条件下、项的各种取值情况下应该采取的动作

场景法:

定义:

从起点起,通过一系列操作步骤(事件),达成某一结果,到终点的过程测试

概念:

现在的软件几乎都是由事件触发来控制流程,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果形成事件流

使用场景:

冒烟测试

总结:

测试方法主要有等价类、边界值、场景法、判定表、因果图、错误推断法、正交表法,首先拿到需求文档时,我会先用场景法梳理清楚软件的基本流和备选流,再结合等价类、边界值分析测试用例;当输入与输出有对应关系的时候我会先画出判定表,再结合等价类、边界值分析;当然遇到那种特别复杂的,像网上提到的售货机的例子,我会先用因果图梳理出判定表。还有就是可以根据自己对软件错误的知识积累,采取错误推断法来测试,最后还有一种不是很常用的正交表法,主要是用于有水平关系,项目比较紧急时,采取抽样测试的方法进行的测试。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值