. .
功能图方法是一种黑盒、白盒混合用例设计方法,是功能图FD形式化地表示程序的功能说明,并机器地生成功能图的测试用例。功能图模型由状态迁移图和逻辑功能模型构成。
状态迁移图用于表示输入数据序列以及相应的输出数据。在状态迁移图中,由输入数据和当前状态决定输出数据和后续状态。
逻辑功能模型用于表示在状态输入条件和输出条件之间的对应关系。逻辑功能模型只适合于描述静态说明,输出数据仅由输入数据决定。测试用例则由测试中的一系列状态和在每个状态中必须依靠输入/输出数据满足的一对条件组成。
(1)功能图:功能图由状态迁移图和布尔函数组成。状态迁移图用状态和迁移来描述。一个状态指出数据输入的位置(或时间),而迁移则指明状态的改变,同时要依靠判定表或是因果图表示的逻辑功能。例如,一个简化的自动出纳ATM机的功能图。 (2)测试用例生成方法:从功能图生成测试用例,得到的测试用例数是可以接受的。问题的关键是如何从状态迁移图中选取测试用例。若用节点代替状态,用弧线代替迁移,则状态迁移图就可转化成一个程序的控制流程图形式。问题就转化为程序的路径测试问题了。
(3)测试用例生成规则: 为了把状态迁移的测试用例与逻辑模型的测试用例相组合起来,从功能图生成生成实用的测试用例,需定义下面的规则。在一个结构化的迁移(SST)中,定义三种形式的循环:顺序、选择和重复。但分辨一个状态迁移中的所有循环是有困难的。
(4)从功能图生成测试用例的过程。
A、生成局部测试用例:在每个状态中,从因果图生成局部测试用例。局部测试用例由原因值(输入数据)组合与对应的结果值(输出数据或状态)构成。
B、测试路径生成:利用上面的规则(3种)生成从初始状态到最后状态的测试路径。 C、测试用例合成: 合成测试路径与功能图中每个状态的局部测试用例。结果是初始状态到最后状态的一个状态序列,以及每个状态中输入数据与对应输出数据的组合。
D、测试用例的合成算法:采用合成构造树。
7 正交试验设计法
7.1 理论知识
1、什么是因素(Factor在一项试验中,凡欲考察的变量称为因素(变量) 2、什么是水平(位级Level在试验围,因素被考察的值称为水平(变量的取值) 3、什么是正交试验设计 是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了均匀分散,齐整可比的特点,正交试验 设计是一种基于正交表的、高效率、快速、经济的试验设计方法
..
. .
4、正交表的构成 正交表的构成
行数(Runs):正交表中的行的个数,即试验的次数 因素数(Factors):正交表中列的个数。
水平数:任何单个因素能够取得的值的最大个数。
正交表中的包含的值为从最大个数。正交表中的包含的值为从0到数 到数“水平 水平数-1”或从 或从1到“水平数 水平数”。
正交表的表示形式: L行数 (水平数因素数) 正交表的正交性
整齐可比性
在同一正交表中,每个因素的每个水平出现次数是完全相同的。由于在试验中每个因素的每个水平与其它因素的每个水平参与试验的机率是完全相同的,这就保证在各个水平中最大程度的排除了其它因素水平的干扰。因而,能最有效地进行比较和作出展望,容易找到好的试验条件进行。
均衡分散性
在同一正交表中,任意两列(两个因素)的水平搭配(横向形成的数字对)是完全相同的。这样就保证了试验条件均衡地分散在因素水平的完全组合之中,因而具有很强的代表性,容易得到好的试验条件。
三、用正交表设计测试用例 用正交表设计测试用例的步骤
1 有哪些因素(变量)
2 每个因素有哪几个水平(变量的取值) 3 选择一个合适的正交表 4 把变量的值映射到表中
5 把每一行的各因素水平的组合做为一个测试用例 6 加上你认为可疑且没有在表中出现的组
如何选择正交表
考虑因素(变量)的个数
考虑因素水平(变量的取值)的个数 考虑正交表的行数 取行数最少的一个
设计测试用例时的三种情况
1 因素数(变量)、水平数(变量值)相符 2 因素数不相同 3 水平数不相同
因素数、水平数相符 因素数、水平数相符
..
. .
水平数(变量的取值)相同、因素数(变量)刚好符合正交表。
7.2 实例
一、对某人进行查询
1、假设查询某个人时有三个查询条件: 根据“”进行查询 根据“”查询 根据“手机”查询
考虑查询条件要么不填写,要么填写,此时可用正交表进行设计
2、因素数和水平数 有三个因素: 、号、手机
每个因素有两个水平 :填、不填 号:填、不填 手机:填、不填
3、选择正交表 表中的因素数>=3
表中至少有三个因素的水平数>=2 行数取最少的一个结果:
4、变量映射
:0....填写,1....不填写 号:0....填写,1....不填写 手机:0....填写,1....不填写
..
. .
5、用L4(23) 设计的测试用例 测试用例如下:
1:填写、填写号、填写手机号 2:填写、不填号、不填手机号 3:不填、填写号、不填手机号 4:不填、不填号、填写手机号 增补测试用例
5:不填、不填号、不填手机号 测试用例减少数:8 5
6、因素数不相同
水平数(变量的取值)相同但在正交表中找不到相同的因素数(变量)(取因素数 (取因素数 最接近但略大的实际值的表)
8 场景设计方法
8.1 理论知识:
现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。
基本流和备选流:如下图所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的色彩表示,一个备选流可能从基本流开
..
. .
始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和4)。
8.2 实例
1. 例子描述
下图所示是ATM例子的流程示意图。
..
测试用例八大设计方法和实例



