软件测试理论基础第三天(上)

    今天接着昨天的测试用例,继续说测试用例方法

1.边界值法

什么是边界?

边界是指输入框内能输入的最大值和最小值,边界值法是找到稍高于其边界值及稍低于其边界值的一些特定情况。边界值分析法也是一种常用的黑盒测试方法。大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。

比如只能输入1~100的数   边界值就是0,1,2,99,100,101

边界值的取值依据输入范围区间不同而有所不同,但都需要把上点值、离点值和内点值取到。

闭区间例如【1,10】  上点:1、10(上点是条件上的两个数)    内点:5 (内点是上点的中间数)  离点:0,11 (0,11是1,10的边界值)

开区间例如(1,10) 上点1、10                内点:5      离点:2,9(2,9  暂理解为闭区间取两边,开区间取“内”)。

半开半闭  (1,10】 上点1、10                 内点:5      离点:2,11

边界值和等价类(上一篇有)区别:边界值分析不是从某等价类中随便挑一个作为代表,而是这个等价类的每个边界都要作为测试条件

常见的边界值

文本框接收字符个数,比如用户名长度,密码长度;

报表的第一行和最后一行;

数值元素的第一个和最后一个;

循环的第一次,二次和倒数第一次,二次。

2.因果图法

因果图法的定义

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

特点

考虑输入条件的相互制约及组合关系

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

因果图法产生的背景

等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽略了。

如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。

因果图核心

因果图比较适合输入条件比较多的情况,测试所有的输入条件的排列组合。所谓的原因就是输入条件,所谓的结果就是输出结果。

因果图法要注意考虑

所有输入/输出条件的相互制约关系以及组合关系

输入结果对输入条件的依赖关系,也就是什么样的输入组合会产生怎样的输出结果,即“因果关系”

因果图中的基本符号

通常在因果图中用Ci表示原因,用Ei表示结果,各结点标识状态,可取值“0”或“1”。“0”标识某状态不出现,“1”表示某状态出现。

因果图中的基本符号

恒等:若原因出现,则结果出现;若原因不出现,则结果不出现。

非:若原因出现则结果不出现,若原因不出现,则结果出现。

或:若几个原因中有一个出现,则结果出现,若几个原因都不出现,则结果不出现。

与:若几个原因都出现,则结果才出现;若其中一个原因不出现,则结果不出现。

因果图中的约束条件【科普】

互斥:E表示a,b,c三个原因不能同时成立

包含:I表示a,b,c中至少有一个条件成立

屏蔽(强制):M表示结果a是1,则结果b强制为0

唯一:O表示a、b、c条件中有且仅有一个成立

要求:R表示当a出现时b也必须出现

3.判定表法

因果图只是一种辅助工具,通过分析最终得到判定表,在通过判定表编写测试用例。但有时画因果图非常麻烦,影响测试效率,可以直接写判定表,进而编写测试用例。 

判断表的组成

条件桩:所有条件

动作桩:所有输出(结果)

条件项:针对条件桩的取值

动作项:条件项的各种取值情况下的输出结果

判定表法流程

1.列出所有的条件桩和动作桩。

2.填入条件项。

3.填入动作项。得到初始判定表。

4.简化判定表(合并相似规则(相同动作)一般不用)

4.场景法

场景法就是模拟用户操作软件时的场景,主要用于测试系统的业务流程。当拿到一个测试任务时,我们并不是先关注某个控件的边界值、等价类是否满足需求,而是先要关注它的主要功能和业务流程是否正确实现,这就需要使用场景法来完成测试。

当业务流程测试没有问题,也就是该软件的主要功能没有问题时,我们再重点从边界值、等价类等方面对控件进行测试

备注:在冒烟测试时也主要采用场景法进行测试

场景法中两个重要的概念

-基本流

    -按照正确的业务流程来实现的一条操作路径(模拟正确的操作流程)

-备选流

    -导致程序出现错误的操作流程(模拟错误的操作流程)

用例场景产生的背景

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

将这种在软件设计方面的思想引入到软件测试中,生动的描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时测试用例也更容易的得到理解和执行。

在使用场景法设计测试用例时,需要覆盖系统用例中的主成功场景和扩展场景,并且需要适当补充各种正反面的测试用例和考虑出异常场景的情形。

当使用场景法测试程序没有问题时,可以再使用边界值、等价类方法对账号、密码进行更加细致、完整的测试。

你可能感兴趣的:(软件测试理论基础第三天(上))