1、第07讲、使用正交排列法和场景法设计测试用例6/6/2022 使用正交排列法设计测试用例 使用场景法编写测试用例2022-6-6本章内容本章内容一、使用正交排列法设计测试用例拉丁方名称的由来 古希腊是一个多民族的国家,国王在检阅臣民时要求每个方队中每行有一个民族代表,每列也要有一个民族的代表。 数学家在设计方阵时,以每一个拉丁字母表示一个民族,所以设计的方阵称为拉丁方。n阶拉丁方 什么是n阶拉丁方用n个不同的拉丁字母排成一个n阶方阵(n26),如果 每行的n个字母均不相同,每列的n个字母均不相同,则称 这种方阵为n*n拉丁方,或n阶拉丁方也即:每个字母在任一行、任一列中只出现一次 备注:此时可
2、以用数字代替拉丁字母,它们是等价的 n阶拉丁方n阶拉丁方 3阶拉丁方 A B C A B C B C A 和 C A B C A B B C A 用数字替代拉丁字母 1 2 3 1 2 3 2 3 1 和 3 1 2 3 1 2 2 3 1正交拉丁方 1 2 3 1 2 3 (1,1)(2,2)(3,3)2 3 1 和 3 1 2 (2,3)(3,1)(1,2) 3 1 2 2 3 1 (3,2)(1,3)(2,1) 什么是正交拉丁方 设有两个n阶的拉丁方,如果将它们叠合在一起,恰好出n2个不同的有序数对,则称为这两个拉丁方为互相正交的拉丁方,简称正交拉丁方正交排列法概述 正交排列法能够使用最
3、小的测试过程集合获得最大的测试覆盖率。当可能的输入数据或者输入数据的组合数量很大时,由于不可能为每个输入组合都创建测试用例,可以采用这种方法。案例1-1:字符属性设置程序 在一个窗体中有多个控件(字体、字符样式、颜色、字号),每个控件有多个取值 字体:仿宋、楷体、华文彩云 字符样式:粗体、斜体、下划线 颜色:红色、绿色、蓝色 字号:20号、30号、40号 在测试时,要考虑这些控件的组合情况,组合量非常大( 34 =81种组合情况) 由于组合量太大,不可能为每一种组合都创建测试用例。如何采用最少的测试用例集合获得最大的测试覆盖率采用正交排列法正交表的概念正交表:一种特制的表,一般的正交表记为:
4、n是表的行数,也就是需要测试组合的次数 K是表的列数,表示控件的个数(因素的个数,或因子个数) m是每个控件包含的取值个数(各因素的水平数,即各因素的状态数) 如: L9(34) 有4个控件 每个控件有3个取值 9为需要测试的组合个数)(knmL L9(34)正交排列表序号ABCD111112122231333421235223162312731328321393321A、B、C、D表示表示4个个控件(因控件(因子)子)组合的个组合的个数数每个因子各有每个因子各有3个的状态个的状态正交排列法的使用步骤 1、根据所测程序中控件的个数以及每个控件的取值个数,选取一个合适的正交排列表 2、把控件及其
5、取值列举出来,并对取值进行编号 3、把控件及其取值映射到正交排列表中 (1)把正交排列表中的A、B、C、D(因子)分别替换成4个控件 (2)把每列中的1,2,3(状态)分别换成这个控件的3个取值,排列顺序要按照表中给出的顺序 4、根据映射好的正交排列表编写测试用例 L9(34)正交排列表序号ABCD111112122231333421235223162312731328321393321A、B、C、D表示表示4个个控件控件组合的个组合的个数数第一个控件第一个控件A的的取值用取值用1、2、3表示,且按此表示,且按此顺序排列顺序排列第二个控件第二个控件B的取值用的取值用1、2、3表示,且按表示,且
6、按此顺序排列此顺序排列第三个控件第三个控件C的的取值用取值用1、2、3表示,且按此顺表示,且按此顺序排列序排列第四个控件第四个控件D的取值用的取值用1、2、3表示,且按表示,且按此顺序排列此顺序排列使用正交排列法分析字符属性设置程序 步骤一:根据所测程序中控件的个数以及每个控件的取值个数,选取一个合适的正交排列表 4个控件:字体、字符样式、颜色、字号 每个控件有3个取值 选择L9(34)正交排列表字体字体字符样式字符样式颜色颜色字号字号1仿宋粗体红色2楷体斜体绿色 3华文彩云下划线蓝色 控件控件编号编号n步骤二:把控件及其取值列举出来,并对取值进步骤二:把控件及其取值列举出来,并对取值进行编号
7、行编号20号号30号号40号号序号ABCD111112122231333421235223162312731328321393321字体字体字符样式字符样式颜色颜色 字号字号1仿宋粗体红色2楷体斜体绿色 30号3华文彩云下划线蓝色 40号20号号 L9(34)正交排列表)正交排列表序号A-字体字体 B-字符样式字符样式 C-颜色颜色D-字号字号111112122231333421235223162312731328321393321字体字体字符样式字符样式颜色颜色 字号字号1仿宋粗体红色2楷体斜体绿色 30号3华文彩云下划线蓝色 40号映映射射n步骤三:把控件及其取值映射到正交排列表中步骤三:
8、把控件及其取值映射到正交排列表中n1、把正交排列表中的、把正交排列表中的A、B、C、D(因子)分别(因子)分别替换成替换成4个控件个控件20号号序号A-字体字体B-字符样式字符样式C-颜色颜色D-字号字号11-仿宋11121-仿宋22231-仿宋33342-楷体12352-楷体23162-楷体31273-华文彩云13283-华文彩云21393-华文彩云321字体字体字符字符样式样式颜色颜色字号字号1仿宋粗体红色2楷体斜体绿色30号3华文彩云下划线蓝色40号映映射射n2、把每列中的、把每列中的1,2,3(状态)分别换成这个控件(状态)分别换成这个控件的的3个取值,排列顺序要按照表中给出的顺序个取
9、值,排列顺序要按照表中给出的顺序20号号序号A-字体字体B-字符样式字符样式C-颜色颜色D-字号字号11-仿宋1-粗体1121-仿宋2-斜体2231-仿宋3-下划线3342-楷体1-粗体2352-楷体2-斜体3162-楷体3-下划线1273-华文彩云1-粗体3283-华文彩云2-斜体1393-华文彩云3-下划线21字体字体字符字符样式样式颜色颜色字号字号1仿宋粗体红色2楷体斜体绿色30号3华文彩云下划线蓝色40号映映射射20号号序号A-字体字体B-字符样式字符样式C-颜色颜色D-字号字号11-仿宋1-粗体1-红色 121-仿宋2-斜体2-绿色 231-仿宋3-下划线3-蓝色 342-楷体1-粗
10、体2-绿色 352-楷体2-斜体3-蓝色 162-楷体3-下划线1-红色 273-华文彩云1-粗体3-蓝色 283-华文彩云2-斜体1-红色 393-华文彩云3-下划线2-绿色 1字体字体字符字符样式样式颜色颜色字号字号1仿宋粗体红色2楷体斜体绿色30号3华文彩云下划线蓝色40号映映射射20号号序号A-字体字体B-字符样式字符样式C-颜色颜色D-字号字号11-仿宋1-粗体1-红色1- 20号21-仿宋2-斜体2-绿色 2- 30号31-仿宋3-下划线3-蓝色 3- 40号42-楷体1-粗体2-绿色 3- 40号52-楷体2-斜体3-蓝色1- 20号62-楷体3-下划线1-红色 2- 30号73
11、-华文彩云1-粗体3-蓝色 2- 30号83-华文彩云2-斜体1-红色 3- 40号93-华文彩云3-下划线2-绿色1- 20号字体字体字符字符样式样式颜色颜色字号字号1仿宋粗体红色2楷体斜体绿色30号3华文彩云下划线蓝色40号映映射射20号号序号A-字体字体B-字符样式字符样式C-颜色颜色D-字号字号11-仿宋1-粗体1-红色1- 20号21-仿宋2-斜体2-绿色 2- 30号31-仿宋3-下划线3-蓝色 3- 40号42-楷体1-粗体2-绿色 3- 40号52-楷体2-斜体3-蓝色1- 20号62-楷体3-下划线1-红色 2- 30号73-华文彩云1-粗体3-蓝色 2- 30号83-华文彩
12、云2-斜体1-红色 3- 40号93-华文彩云3-下划线2-绿色1- 20号测试用例测试用例1:在文本框输入在文本框输入”软件测试软件测试“,设置字体为设置字体为“仿宋仿宋”,字符样,字符样式为式为”粗体粗体“,颜色为,颜色为”红色红色“,字号为,字号为”20号号“,然后点,然后点击击”确定确定“按钮按钮预期:字体正确设置预期:字体正确设置n步骤四:根据映射好的正交排列表编写测试步骤四:根据映射好的正交排列表编写测试用例用例n正交表的每一行表示一种组合,对应编写一条测正交表的每一行表示一种组合,对应编写一条测试用例试用例序号A-字体字体B-字符样式字符样式C-颜色颜色D-字号字号11-仿宋1-
13、粗体1-红色1- 20号21-仿宋2-斜体2-绿色 2- 30号31-仿宋3-下划线3-蓝色 3- 40号42-楷体1-粗体2-绿色 3- 40号52-楷体2-斜体3-蓝色1- 20号62-楷体3-下划线1-红色 2- 30号73-华文彩云1-粗体3-蓝色 2- 30号83-华文彩云2-斜体1-红色 3- 40号93-华文彩云3-下划线2-绿色1- 20号测试用例测试用例2:在文本框输入在文本框输入”软件测试软件测试“,设置字体为设置字体为“仿宋仿宋”,字符,字符样式为样式为”斜体斜体“,颜色为,颜色为”绿色绿色“,字号为,字号为”30号号“,然后点击然后点击”确定确定“按钮按钮预期:字体正确
14、设置预期:字体正确设置序号A-字体字体B-字符样式字符样式C-颜色颜色D-字号字号11-仿宋1-粗体1-红色1- 20号21-仿宋2-斜体2-绿色 2- 30号31-仿宋3-下划线3-蓝色 3- 40号42-楷体1-粗体2-绿色 3- 40号52-楷体2-斜体3-蓝色1- 20号62-楷体3-下划线1-红色 2- 30号73-华文彩云1-粗体3-蓝色 2- 30号83-华文彩云2-斜体1-红色 3- 40号93-华文彩云3-下划线2-绿色1- 20号测试用例测试用例3:在文本框输入在文本框输入”软件测试软件测试“,设置字体为设置字体为“仿宋仿宋”,字符,字符样式为样式为”下划线下划线“,颜色为
15、,颜色为”蓝色蓝色“,字号为,字号为”40号号“,然后点击然后点击”确定确定“按钮按钮预期:字体正确设置预期:字体正确设置序号A-字体字体B-字符样式字符样式C-颜色颜色D-字号字号11-仿宋1-粗体1-红色1- 20号21-仿宋2-斜体2-绿色 2- 30号31-仿宋3-下划线3-蓝色 3- 40号42-楷体1-粗体2-绿色 3- 40号52-楷体2-斜体3-蓝色1- 20号62-楷体3-下划线1-红色 2- 30号73-华文彩云1-粗体3-蓝色 2- 30号83-华文彩云2-斜体1-红色 3- 40号93-华文彩云3-下划线2-绿色1- 20号测试用例测试用例4:在文本框输入在文本框输入”
16、软件测试软件测试“,设置字体为设置字体为“楷体楷体”,字符,字符样式为样式为”粗体粗体“,颜色为,颜色为”绿色绿色“,字号为,字号为”40号号“,然后点击然后点击”确定确定“按钮按钮预期:字体正确设置预期:字体正确设置 依次类推,把映射好的正交排列表中的每一行,转换成一条测试用例,这样,写9条测试用例就可以了。 正交排列表是经过严格的数学推理得来的,也就是说这9条用例是最优的。 这是进行测试的最少组合数量,但是,在测试中有72种(81-9)组合没有测试到。当然,如果时间允许,应该再补充一些用例。因为遗漏的组合越多,存在缺陷的可能性就越大。 常见正交排列表附录1 使用正交排列法的局限性 目前常见
17、的正交排列表只有附录1中给出的几种 即使是已有的正交排列表,基本都要求每个控件中取值的个数要相等,这在实际软件中很少遇到。 没有现成的正交排列表怎么办? 通过正交排列法的学习,我们更多的应该学习到一种测试思想,也就是在从所有组合集合中选取测试数据时,应该均匀的选取其中的组合作为测试用例,而不要只在某个局部选取数据。字体字体 字符样字符样式式颜颜色色字号字号1 仿宋 粗体红色2 楷体 斜体绿色30号3 华文彩云下划线蓝色40号n所有的组合所有的组合n(1,1,1,1)()(1,1,1,2)()(1,1,1,3)n(1,1,2,1)()(1,1,2,2)()(1,1,2,3)n(1,1,3,1)(
18、)(1,1,3,2)()(1,1,3,3)n(1,2,1,1)()(1,2,1,2)()(1,2,1,3)nnn(3,3,2,1)()(3,3,2,2)()(3,3,2,3)n(3,3,3,1)()(3,3,3,2)()(3,3,3,3)(1,1,1,1)(3,3,3,3)(2,1,1,1)(1,1,1,1)(1,2,2,2) (1,3,3,3) (2,1,2,3) (2,2,3,1) (2,3,1,2)(3,1,3,2)(3,2,1,3) (3,3,2,1)(3,1,1,1)被选作测试用例的组合被选作测试用例的组合81种种组组合合20号号正交表的性质 每列中不同数字出现的次数相等。 在任意两
19、列中,将同一行的两个数字组成一个有序实数对,则每种有序实数对出现的次数相等。 序号ABCD111112122231333421235223162312731328321393321 各列水平数均相同的正交表 混合水平正交表 L8(4*24)一个控件有4个属性,4个控件有2个属性正交表的种类正交表的种类实例1-2 案例:PowerPoint软件的打印功能 假设功能描述如下:打印范围分:全部、当前幻灯片、幻灯片 共三种情况;打印内容分:幻灯片、讲义、备注页、大纲视图 共四种方式;打印颜色/灰度分: 颜色、灰度、纯黑白 共三种设置;打印效果分:幻灯片加框和幻灯片不加框两种方式。 1、列出因子状态表、
20、列出因子状态表序号ABCD111112122231333421235223162312731328321393321 2、选择、选择 L9(34)正交排列表)正交排列表序号ABCD1111121222313431/242121/2522316234127313283211/2933421 L9(34)正交排列表)正交排列表处理处理序号ABCD111112122231334143-521262231723128241-931321032111332112342- 变换变换序号ABCD1A1B1C1D12A1B2C2D23A1B3C3D14A1B4C3-5A2B1C2D26A2B2C3D17A2B
21、3C1D28A2B4C1-9A3B1C3D210A3B2C1D111A3B3C2D112A3B4C2- 3、映射、映射 4、编写测试用例二、使用场景法编写测试用例场景法概述 场景法就是模拟用户操作软件时的场景,主要用于测试系统的业务流程。当拿到一个测试任务时,我们并不是先关注某个控件的边界值、等价类是否满足要求,而是先要关注它的主要功能和业务流程是否正确实现,这就需要使用场景法来完成测试。当业务流程测试没有问题,也就是该软件的主要功能没有问题时,我们再重点从边界值、等价类等方面对控件进行测试 在冒烟测试时也主要采用场景法进行测试 例如:在测试QQ登录功能时,使用场景法进行主要功能的测试: 输入
22、正确的账号和密码后点击“登录”按钮,程序能正常登录 不输入账号和密码,直接点击“登录”按钮,程序应给出错误提示 输入正确的账号,错误的密码后点击“登录”按钮,程序应给出错误提示 输入正确的账号,不输入密码,点击“登录”按钮,程序应给出错误提示 不输入账号,输入正确的密码,点击“登录”按钮,程序应给出错误提示 输入错误的账号,正确的密码,点击“登录”按钮,程序应给出错误提示 当使用以上场景法测试程序没有问题时,可以再使用边界值、等价类方法对账号、密码进行更加细致、完整的测试场景法中重要的概念 基本流 按照正确的业务流程来实现的一条操作路径(模拟正确的操作流程) 备选流 导致程序出现错误的操作流程
23、(模拟错误的操作流程)n按照右图所示的路径,可以确按照右图所示的路径,可以确定以下场景:定以下场景:n场景场景1:基本流:基本流n场景场景2:基本流:基本流 备选流备选流1n场景场景3:基本流:基本流 备选流备选流1 备选流备选流2n场景场景4:基本流:基本流 备选流备选流3n场景场景5:基本流:基本流 备选流备选流3 备选流备选流1n场景场景6:基本流:基本流 备选流备选流3 备选流备选流1 备选流备选流2n场景场景7:基本流:基本流 备选流备选流4n场景场景8:基本流:基本流 备选流备选流3 备选流备选流4场景法的基本设计步骤n1、根据说明,描述出程序的基本流及各项备选流、根据说明,描述出
24、程序的基本流及各项备选流n2、根据基本流和各项备选流生成不同的场景、根据基本流和各项备选流生成不同的场景n3、对每一个场景生成相应的测试用例、对每一个场景生成相应的测试用例案例2-1: 使用场景法设计ATM机取款功能的测试用例 步骤一:根据说明,描述出程序的基本流及各项备选流 1、基本流 (1)插入银行卡:客户将银行卡插入ATM机的读卡器 (2)验证银行卡:ATM机从银行卡的磁条中读取账户代码,并检查它是否属于可以接受的银行卡 (3)输入密码:ATM机要求客户输入密码 (4)验证密码:确定该密码是否正确 (5)进入ATM主界面:ATM显示在本机中可用的各种选项 (6)取款并选择金额:客户选择“
25、取款”,并选择取款金额 (7)ATM机验证:ATM机进行验证账户余额是否满足以及总取款金额是否满足要求,验证ATM机内现金是否够用 (8)更新账户余额、出钞:验证成功,更新账户余额,输出现金,提示用户收取现金 (9)返回主界面 2、备选流 (1)银行卡无效:提示错误并退卡 (2)密码错误:提示错误,并判断是否3次错误 (3)密码3次错误:吞卡 (4)账户余额不足:提示错误并退卡 (5)总取款金额超出当日可取限额:提示错误并退卡 (6)ATM机余额不足:提示错误并退卡开始开始插入银行卡插入银行卡验证银行卡验证银行卡输入密码输入密码进入主界面进入主界面选择选择“取款取款”和金额和金额提示错误、退卡
26、提示错误、退卡验证密码验证密码提示错误提示错误判断到判断到3次次吞卡吞卡成功成功不成功不成功结束结束正确正确不正确不正确到到3次次未到未到3次次结束结束操作流程图:操作流程图:验证账户余额验证账户余额更新账户余额、出钞更新账户余额、出钞返回主界面返回主界面提示错误、退卡提示错误、退卡结束结束满足满足不满足不满足ATM机余额是否够用机余额是否够用够用够用验证总取款金额验证总取款金额满足满足不满足不满足不够用不够用 步骤二:根据基本流和各项备选流生成不同的场景场景描述基本流备选流场景1:成功取款基本流场景2:银行卡无效基本流备选流1场景3:密码错误基本流备选流2场景4:密码3次错误基本流备选流3场
27、景5:账户余额不足基本流备选流4场景6:总取款金额超出当日可取限额基本流备选流5场景7: ATM机余额不足基本流备选流6编号场景账号 密码账户余额当日可取ATM余额预期结果1场景1:成功取款VVVVV成功取款2场景2:银行卡无效I提示错误、退卡3场景3:密码错误VI提示错误4场景4:密码3次错误VI提示错误、吞卡5场景5:账户余额不足VVI提示错误、退卡6场景6:总取款金额超出当日可取限额VVVI提示错误、退卡7场景7: ATM机余额不足VVVVI提示错误、退卡编编号号用例描述(场景用例描述(场景1)预期结果预期结果预备条件ATM机余额5000元准备一张有效银行卡,账号:95588002001
28、38888888,密码:123456,卡内余额2000元。1插入银行卡,输入正确的密码:123456,进入主页面后选择取款1000元ATM机输出1000元,提示用户取走现金并返回主界面ATM机余额4000元用户账户余额1000元l 步骤三:对每一个场景生成相应的测试用例步骤三:对每一个场景生成相应的测试用例编编号号用例描述(场景用例描述(场景2)预期结果预期结果预备条件ATM机余额4000元准备一张无效银行卡2插入无效银行卡提示该银行卡无效并退卡编编号号用例描述(场景用例描述(场景3、场景、场景4)预期结果预期结果预备条件ATM机余额4000元准备一张有效银行卡,账号:955880020013
29、8888888,密码:123456,卡内余额1000元。3插入银行卡,输入错误的密码:654321提示密码错误,并清空密码4在用例3基础上,再次输入错误密码:123123提示密码错误,并清空密码5在用例4基础上,再次输入错误密码:123123提示密码错误,并没收该卡编编号号用例描述(场景用例描述(场景5)预期结果预期结果预备条件ATM机余额4000元准备一张有效银行卡,账号:9558800200138888888,密码:123456,卡内余额1000元。6插入银行卡,输入正确的密码:123456,进入主页面后选择取款2000元提示账户余额不足,并退卡编编号号用例描述(场景用例描述(场景6)预期
30、结果预期结果预备条件ATM机余额50000元(单笔取款最多2000元,一日最多取款20000元)准备一张有效银行卡,账号:9558800200138888888,密码:123456,卡内余额30000元。7插入银行卡,输入正确的密码:123456,进入主页面后选择取款2000元ATM机输出2000元,提示用户取走现金并返回主界面ATM机余额48000元用户账户余额28000元8用户本次累计取款20000元 ATM机余额30000元用户账户余额10000元9在用例8基础上,再次取款1000元 提示已达当日最大限额退卡编编号号用例描述(场景用例描述(场景7)预期结果预期结果预备条件ATM机余额100元准备一张有效银行卡,账号:9558800200138888888,密码:123456,卡内余额1000元。10插入银行卡,输入正确的密码:123456,进入主页面后选择取款500元提示ATM机余额不足,并退卡 使用正交排列法设计测试用例 使用场景法编写测试用例本章小结本章小结Q & A
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。