一、测试用例编写前需要进行需求分析
1. 测试分析的必要性 (防止漏测,确定测试需求等)
2. 测试分析的简要流程(获取测试需求--合并整理测试需求--分解测试子需求--测试分析方法--测试设计方法--测试用例);
3. 测试需求的获取渠道(开发需求;标准协议需求;竞争需求;继承需求;用户场景需求;案例库需求);
测试分析方法(质量模型分析法;功能交互分析法;用户场景分析法-不同的用户在哪些情况下执行怎么样的操作)。
二、测试用例设计方法
用例设计方法的作用:测试无法做到穷尽测试,开拓思路需要用设计方法去寻找一些测试数据与测试场景覆盖尽量多的测试点。
黑盒测试用例设计方法包括哪些呢?
1、等价类划分法
2、边界值分析法
3、判定表法
4、因果图法
5、状态迁移法
6、流程分析法
7、正交实验法
8、其他:a、输入域测试法 a、输出域覆盖法 c、错误猜测法
三、几种用例设计方法的具体使用步骤
1、等价类划分法
(1)将软件需求规格说明书(SRS)划分成需求子片段;
(2)分析需求子片段,找出输入条件;
(3)分析输入条件,结合等价类划分原则划分等价类;生成等价类表;如下
(4)给划分的等价类进行编号(防止测试遗漏);
从划分的等价类中选取代表数据进行测试(注意:一条测试用例尽量覆盖多个有效等价类;但一条测试用例只覆盖一个无效等价类。)
举例:现系统有一个日期格式输入框,系统对查询条件年月的输入限定为1990年1月~2049年12月,并规定:
日期由6位数字组成,前4位表示年,后2位表示月。
输入条件 | 有效等价类 | 无效等价类 |
日期格式(6位数字:必须的格式) | 6位数字组成(1) | <6 位(2);>6位(3);非数字(4) |
年份(是一个范围) | 1990~2049(5) | <1990(6);>2049(7) |
月份(是一个范围) | 01~12(8) | <01(9);>12(10) |
用例输入:
a、201812:(1;5;8)日期合格,
b、20191:(2);日期输入小于6位,请输入6位年月
c、2018121:(3); 日期输入错误 ,只能输入6位数字
d、20181j:(4);日期输入错误,月份只能为01-12的数字。
e、180012:(6);日期输入错误,年份不能小于1990
f、208812:(7);日期输入错误,年份不能大于2049
i、201800:(9);日期输入错误,月份不能小于01
j、201813:(10);日期输入错误,月份不能大于12
按照原来的用例格式的8要素填入:
测试用例编号 | XXX-ST-004 |
测试项/场景 | 查询日期输入框 |
测试用例标题 | 查询日期输入框输入错误验证 |
优先级 | 中 |
预置条件 | |
输入数据 | 在日期框输入参数1:2018j |
操作步骤 | 1、....... 2、在日期输入框中输入参数1 3、点击查询按钮 |
预期结果 | 1、日期输入错误,提示“日期输入错误,月份只能为1-12的数字” |
2、边界值分析法
2.1 引入:针对取值范围的输入,覆盖等价类时,用哪个数据来覆盖等价类?一般可以优先考虑边界值,对应边界值分析。
等价类划分考虑不同输入的等价类的覆盖,但不考虑不同输入等价类之间的组合。有些功能测试时需要考虑不同的输入的组合,就需要使用其它的用例设计方法。
2.2 概念:边界值分析法是对等价类划分法的一种补充,大量的经验数据表明边界是问题多发区,如果边界没有问题就认为内部区域发生问题的概率较小。
2.3 相关术语
(1)上点:落在边界上的点,叫做上点。
(2)离点:离边界最近的点,叫做离点(如果是闭区间,离点落在边界外;如果是开区间,离点落在边界内)。
(3)内点:落在边界内的任意一个点,叫做内点。案例:
案例编号 | 案例内容 | 上点 | 离点 | 内点 |
案例1:闭区间 | 某家商场1招聘营业员年龄要求18~45周岁(包括18和45) | 18;45:有效类值 | 17;46: 无效类 19,44;有效类 | 31 |
案例2:开区间 | 某家商场2招聘营业员年龄要求18~45周岁(不包括18和45) | 18;45:无效类 | 19,44:有效类 17,46:无效 | 32 |
2.4 边界值数据选取原则--重点
(1)如果输入(输出)是一个取值范围或者值的个数,则以边界和边界附近的数据作为测试用例优先选取。
案例编号 | 案例内容 | 选取的数据 |
案例1 | 某家商场招聘营业员年龄要求18~45周岁(包含18和45) | 17;18;45;46,30 |
案例2 | 银行网站注册要求输入18位身份证号码 | 17位;18位;19位 |
(2)如果输入(输出)是一个有序的集合,则以第一个元素和最后一个元素作为测试数据优先选取。
案例编号 | 案例内容 | 选取的数据 |
案例1 | 某次考试成绩排名(1-10) | 第一名;最后一名 |
(3)如果输入(输出)的值个数是个取值范围,则以最大个数、最大个数+1、最小个数、最小个数-1作为测试数据优先选取。
案例编号 | 案例内容 | 选取的数据 |
案例1 | QQ密码修改必须是6~16位; | 16位;17位;6位;5位;10位 |
(4)如果是一个数据内部结构,则以极限值作为测试数据选取。
案例编号 | 案例内容 | 选取的数据 |
案例1 | 某个栈定义存放10个数据,1-10 | 10个数据;1个,0个数据,11个 |
2.4 边界值分析法的使用步骤
(1)将软件需求规格说明书划分成需求子片段;
(2)分析需求子片段,找出输入条件;
(3)分析输入条件,结合等价类划分原则划分等价类;
(4)给划分的等价类进行编号(防止测试遗漏);
(5)分析等价类的类型,是否需要边界值补充(度量衡;有序的集合;方位);
(6)结合边界值数据选取原则确定选取的测试数据;(上点、离点、内点)
(7)结合测试用例编写规范生成最终的测试用例。
案例1:现有一个档案管理系统,容许用户通过输入年月对档案文件进行检索,系统对查询条件年月的输入限定为1990年1月~2049年12月,并规定:
日期由6位数字组成,前4位表示年,后2位表示月。
输入条件 | 有效等价类 | 无效等价类 |
日期格式(6位数字:必须的格式) | 6位数字(1) 6位数字(11) | <6 位(2);>6位(3);非数字(4) 5位(12);7位(13) |
年份1990-2049(闭区间) | 1990~2049(5)(含) 1990(14);2049(15) | <1990(6);>2049(7) 1989(16);2050(17) |
月份01-12 | 01~12(8) 01(18);12(19) | <01(9);>12(10) 00(20);13(21) |
在等价类分析方法案例中,为了测试更全面,补充写几条用例来覆盖边界值:红色是用边界值分析出来的需要补充测试用例。
1、199012 (11,14,19)
2、204901(11,15,18)
5、198901 (16)
6、205001 (17)
7、199000 (20)
8、199013 (21)
2.5 等价类划分法与边界值分析法的特点与使用范围
(1)特点:简单容易理解;效率高;效果一般;不测试输入条件取值的组合;
(2)适用范围:功能测试;GUI(Graphic User Interface)测试--支持字体、颜色、屏幕大小;网页性能测试(2-5-8)10秒;配置测试(APP 适用于哪些操作系统,支持安卓7.0,8.0,9.0,10,11)。
(3)不测试各种条件组合的情况,所以会有漏测。
需求:手机如果欠费或者停机,则不能主被叫。
输入条件 有效 无效
1欠费 欠 (1) 不欠(2)
2停机 停机 (3) 不停机(4)
写用例:
1、如果欠且停(1,3),则不能主被叫;
2、如果不欠且停(2),则不能主被叫;
3、如果不停且欠(4),则不能主被叫;
4、如果不欠且不停(2,4),则可以主被叫。
问题:如果不欠且不停,能主被叫。但是没有覆盖到?WHY? 等价类方法有缺陷
3 判定表法
3.1 概念:分析和表达多种输入条件进行不同组合完成不同动作的一种工具,这种方法是用来分析具有逻辑关系(与或非)的需求,能够将具有逻辑关系的需求分析和表达明确。
与:并且,多个条件同时满足;
或:或者,至少满足其中一个条件,
非:取反,
3.2 相关术语
(1)条件桩:输入域;
(2)条件项:输入的取值;
(3)动作桩:输出域;
(4)动作项:输出的取值;
3.3 判定表法的使用步骤
(1)将软件需求规格说明书划分成需求子片段;
(2)分析需求子片段,找出条件桩、条件项、动作桩、动作项;
(3)将条件项进行组合得出测试规则数(条件桩条件项的取值个数相乘);
(4)将规则组合得出动作,得出判定表;
(5)分析判定表规则,将相似规则进行化简合并;(合并有风险,化简须谨慎)
(在人力或者时间资源不足的情况或我们对内部逻辑是比较清楚)
(6)分析合并后的判定表的每一条规则,结合等价类和边界值生成最终(带有精准测试数据)的测试用例。
案例:修改某银行网站登录密码;要求如下:输入正确的原密码;输入两次一致的新密码;新密码的复杂度要满足要求8~15位;包含大写字母、小写字母、数字和其他字符。
条件桩 (7个条件桩) 条件项(取值):
原密码正确 正确;不正确 2 (1,0)))
新密码 一致;不一致 2 (1,0)
确认新密码
新密码复杂度: 8~15位 满足;不满足 2
包含大写字母 含;不含 2
含小写字母 含;不含 2
含数字 含;不含 2
含其他字符 含;不含 2
动作桩(输出域): 动作项(输出的取值)
密码修改成功: 成功;不成功
完全组合规则数:2*2*2*2*2*2*2=128条(2的7次方)
条件/动作 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8.。。。 |
原密码正确 | 1 | 1 | 1 | 1 | ||||
新密码2次一致 | 1 | 1 | 0 | 0 | ||||
新密码8~15位 | 1 | 0 | 1 | 0 | ||||
包含大写字母 | 1 | 0 | 1 | |||||
包含小写字母 | 1 | 0 | 1 | |||||
含数字 | 1 | 0 | 1 | |||||
含其他字符 | 1 | 0 | 1 | |||||
动作(输出) | 修改成功 | 不成功 | 不成功 | 不成功 | 不成功 | 不成功 | 不成功 | 不成功 |
合并后:
条件桩 (7个条件桩) 条件项(取值):
原密码正确 正确;不正确 2 (1,0)))
新密码 一致;不一致 2 (1,0)
确认新密码
新密码复杂度: 满足;不满足
动作桩(输出域): 动作项(输出的取值)
密码修改成功: 成功;不成功
组合规则数:2*2*2=8
3个条件桩,每个条件桩的取值个数是2个:
组合之后:2的3次方:8条,
合并规则:1、输出值不一样的,不能合并。
组合之后:2的3次方:8条,
3跟4,2跟4 合并
条件/动作 | 1 | 2 | 3 | 5 | ||||
原密码正确 | 1 | 1 | 1 | 0 | ||||
新密码2次一致 | 1 | 1 | 0 | X | ||||
新密码够复杂 | 1(8位;15位;11位) | 0(<8位;>15位;不含数字;不含其他字符) | X | X(8位;15位;11位) | ||||
动作(输出) | 修改成功 | 不成功 | 不成功 | 不成功 |
补充:
(1)概要测试用例:粗略的测试步骤,不含有精准的输入数据。
(2)详细测试用例:含有精准的测试的输入数据。
原密码:Zhbo&123 新密码:Zhongbo&123
Case1:
步骤1:在原密码框中输入正确的原密码;
步骤2:在新密码框和确认新密码框中输入一致的新密码;
步骤3:检查新密码复杂度达到要求;
步骤4:点击保存
预期结果:银行网站密码修改成功。
Case2:步骤1:在原密码框中输入“Zhbo&123”;
步骤2:在新密码框中输入“Zhongbo&123”;
步骤3:在确认密码框中再次输入“Zhongbo&123”;
步骤4:检查新密码是11位;有大小写字母、数字和其他字符。
步骤5:点击保存
预期结果:银行网站密码修改成功。
练习1:有一个需求描述如下:“……对已运行10年以上的机器或(功率大于50马力且维修记录不全)的机器,给予全面维修处理,对其它机器只进行一般维修处理。用判定表做用例设计分析,并生成用例。
条件桩: 条件项:
运行十年以上 是;不是 1,0 2种
功率大于50马力 是;不是 1,0 2种
维修记录不全: 是;不是 1,0 2种
动作桩: 动作项
维修处理 全面维修;一般维修 1,0
规则数:2的3次方=8
条件/动作 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
运行十年以上 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
功率大于50马力 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
维修记录不全 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
动作 | 全面维修 | 全面维修 | 全面维修 | 全面维修 | 全面维修 | 一般维修 | 一般维修 | 一般维修 |
合并后:规则数:8条
条件/动作 | 1 | 5 | 6 | 7 | ||||
运行十年以上 | 1 | 0 | 0 | 0 | ||||
功率大于50马力 | X | 1 | 1 | 0 | ||||
维修记录不全 | X | 1 | 0 | X | ||||
动作 | 全面维修 | 全面维修 | 一般维修 | 一般维修 |
问题:如果条件桩的顺序改变的话,对结果有没有影响?无,因为多个条件之间是逻辑关系
条件/动作 | 1 | 5 | 6 | 7 | 8 | |||
功率大于50马力 | X | 1 | 1 | 0 | 0 | |||
运行十年以上 | 1 | 0 | 0 | 0 | 0 | |||
维修记录不全 | X | 1 | 0 | 1 | 0 | |||
动作 | 全面维修 | 全面维修 | 一般维修 | 一般维修 | 一般维修 |
规则1:11年;59马力;全 : 预期结果:全面维修
规则2:9年;55马力;记录不全 :预期结果:全面维修
规则3: 8年,56马力,记录全 : 预期结果: 一般维修
规则4: 7年,47马力,全 : 预期结果: 一般维修
练习2:文件修改需求:
如想对文件进行修改,需要遵守以下规则:
输入的第一列字符必须是A或B,
第二列字符必须是一个数字,
如果第一列字符不正确,则给出信息L;
如果第二列字符不正确,则给出信息M。
如果两列字符输入正确,则修改文件。
解法1:条件桩: 条件项
第一列 正确;不正确 2
第二列 正确;不正确 2
动作桩: 动作项
信息L Y;N
信息M Y;N
修改文件 Y成功;N 不成功
规则数:4条=2*2
条件/动作 | 1 | 2 | 3 | 4 |
第一列 | 1 | 1 | 0 | 0 |
第二列 | 1 | 0 | 1 | 0 |
动作:信息L | Y | Y | ||
动作:信息M | Y | Y | ||
动作:修改文件 | Y |
解法2:条件桩: 条件项
第一列 A;B;不正确 3
第二列必须是数字 正确;不正确 2
动作桩: 动作项
信息L Y;N
信息M Y;N
修改文件 Y;N
规则数:6=2*3
条件/动作 | 1 | 2 | 3 | 4 | 5 | 6 |
第二列 | 正确 | 正确 | 正确 | 不正确 | 不正确 | 不正确 |
第一列 | A | B | 不正确 | A | B | 不正确 |
动作:修改文件 | Y | Y | ||||
动作:M | Y | Y | Y | |||
动作:L | Y | Y |
解法3:条件桩: 条件项
第一列A 是;不是 2 (1,0)
第一列B 是;不是 2 (1,0)
第二列 正确(数字);不正确(不是数字) 2 (1,0)
动作桩: 动作项
修改文件 Y;N (1,0)
信息M Y;N (1,0)
规则数:8=2*2*2
规则数:8=2*2*2
条件/动作 | 1 | 2 | 5 | 6 | 7 | 8 | ||
第一列A | 1 | 1 | 0 | 0 | 0 | 0 | ||
第一列B | 0 | 0 | 0 | 0 | 1 | 1 | ||
第二列数字 | 1 | 0 | 1 | 0 | 1 | 0 | ||
动作 | 修改文件 | 信息M | 信息L | 信息L;M | 修改文件 | 信息M |
最后:6条
条件/动作 | 1 | 2 | 3 | 4 | 5 | 6 |
第一列A | 1 | 1 | 0 | 0 | 0 | 0 |
第一列B | 0 | 0 | 1 | 1 | 0 | 0 |
第二列数字 | 1 | 0 | 1 | 0 | 1 | 0 |
动作 | 修改文件 | 信息M | 修改文件 | 信息M | 信息L | 信息L;M |
3.4 判定表的特点和适用范围
(1)特点:测试组合;测试效果好;效率低;全组合测试很全面;全组合测试规则数量大导致测试用例数量多从而加大工作量;不能应对复杂逻辑关系(与或非)的需求。
(2)适用范围:功能测试;
3.5 注意事项
(1)条件桩的顺序对生成的规则没有影响;
(2)动作桩的顺序对生成的规则没有影响;
(3)每一条规则都是独立的,相互之间没有影响。
4、因果图法
4.1 因果图法概念:将复杂逻辑关系的需求转化成判定表的一种中间分析方法,其最终目的是为了得到判定表。
4.2 相关术语
原因:输入(条件桩); 注意:原因和结果只取布尔量
结果:输出(动作桩);
4.3 因果关系 C-E (cause-effect)
4.3.1 逻辑关系
逻辑关系 | 说明 | 举例 | 符号 |
恒等 | 满足条件则给出结果;= | 原因:有烟雾 输出结果:报警 | ____ |
非 | 满足条件则给出相反结果;not | 原因:及格 输出结果:留级 | |
与 | 同时满足多个条件则给出结果;and | 原因:本科且计算机系且3年以上 输出结果:优先录取,bat | ^ |
或 | 多个条件满足一个及以上即可给出结果。or | 原因:本科或计算机系或3年以上 输出结果:优先录取 | V |
4.3.2 原因之间制约关系:c(cause)
制约关系 | 说明 | 英文 | 举例 | 符号 |
E的关系:如果选只能选1个,但可以不选 | 多个原因至多有一个为真,可以同时都为假,不可以同时都为真 | EXCLUSIVE 互斥 | 17期班给一个优秀学员名额 | E |
I的关系:至少要选1个(可以多选但不能不选) | 多个原因至少有一个为真,可以同时都为真,不可以同时都为假 | Inclusive 包容 | 周日上课,至少有一个学员要来 | I |
O的关系:必须选,且只能选1个 | 多个原因有且只能有一个为真,不可以同时都为真,不可以同时都为假 | ONLY 唯一 | 单选 | O |
R的关系:如果a=1,则要求b必须是1,反之如果a=0时,b的值无所谓 | 两个原因之间的要求:条件C1;条件C2:C1为真则要求C2为真,反之不做要求 | REQUIRE :要求 | 如果银行卡号和密码,要求卡号和密码都为真,如果卡号都不正确,密码就不做要求 | R |
M的关系:当a=1时,要求b必须为0;而当a=0时,b的值有可能是1,也有可能是0 | 两个原因之间的强制:条件C1;条件C2:C1为真则强制C2为假,反之不做强制 | Mandatory :强制 | C1:坐桌子,一个桌子只能做一个人 | M |
4.3.3 因果图法的使用步骤
(1)将软件需求规格说明书划分成需求子片段;
(2)分析需求子片段,找出原因和结果;
(3)分析原因和结果之间的因果关系,画出因果图;
(4)分析原因之间的制约关系,并且做出标识;
(5)根据因果图得出判定表;
(6)根据因果图中所标识制约关系,删除不符合逻辑的规则;
(7)化简合并判定表;
(8)必要时结合等价类和边界值生成最终的测试用例。
案例1:手机欠费或停机,则不能主被叫。(C 表示原因,E 表示结果)
案例2:修改某银行网站登录密码;要求如下:输入正确的原密码;输入两次一致的新密码;新密码的复杂度要满足要求8~15位;包含大写字母、小写字母、数字和其他字符。
案例3:有一个需求描述如下:“……对已运行10年以上的机器、或(功率大于50马力且维修记录不全)的机器,给予全面维修处理,对其它机器只进行一般维修处理。
4.4 中间节点:
(1)当多个原因之间不是单纯的与和或的关系,利用中间节点存取中间结果使得因果图更加清晰;
(2)当多个原因都在描述同一个问题,使用中间节点(11)归并逻辑,使得因果图更加清晰。
4.5 因果图法的特点和适用范围
(1)特点:测试组合;全组合;测试覆盖比较全面;测试规则数量大导致测试用例数量大从而加大测试工作量;逻辑制约关系可以快速删减不符合逻辑的规则;对逻辑思维能力要求高,难于绘制;
(2)适用范围:逻辑关系的功能需求。例如:
1、控制系统或者游戏可以考虑使用。控制系统比如电梯、地铁信号灯控制。
2、控制系统和游戏如果规则比较复杂,可以考虑使用判定表法,如果规则比较简单,直接针对规则写测试用例。
3、军工系统一般要考虑完全覆盖,所以也会使用判定表法。
4、用于将复杂的判定表简化为多个细化的判定表。
5、正交实验法
5.1 正交实验法的概念:利用法国数学家伽罗华的正交表进行试验的方法,经验数据表明如果两两组合测试没有问题,就认为其他组合测试问题的概率较小。
5.2 相关术语
(1)因子:输入;
(2)状态(水平):输入的取值。
5.2.1 两两组合:任意两个因子的各个取值都曾经组合过。
5.3 正交实验法的使用步骤
(1)将软件需求规格说明书划分成需求子片段;
(2)分析需求子片段,找出因子和状态;
(3)构造一张因子状态表;
(4)分析因子状态表,进行加权和筛选;把优先级别高的保留,优先级别低的我们撤掉
(5)重新构造因子状态表;
(6)套用合适的正交表:如果状态是均匀分布的,直接套用正交表;
如果状态不是均匀分布的,做出逻辑布尔图,套用合适的正交表,进行分解;
(7)有必要时添加一些未被组合到的规则;
(8)分析每一个状态结合等价类和边界值生成最终的测试用例。
案例1:假设一个WEB站点,该站点有大量的服务器和操作系统,并且有许多具有各种插件的浏览器浏览:
因子1(WEB浏览器):Netscape6.2、IE11.0、Opera4.0 3
因子2(插件): 无、RealPlayer、MediaPlayer 3
因子3(应用服务器):IIS、Apache、Netscape Enterprise 3
因子4(操作系统):Windows2000、Windows NT、Linux 3
判定表法生成的规则数:3*3*3*3=81 条,多不多?
(1)4因子:Web浏览器;插件;应用服务器;操作系统
3状态:3个 ; 3个 ; 3个 ; 3个 均匀的因子状态
(2)使用因子状态表: 4因子3状态
均匀分布的:
直接套用正交表
EN | Web浏览器10 | 插件(2) | 应用服务器10 | 操作系统10 |
1 | Netscape6.2 | 无 | IIS | Window2000 |
2 | Netscape6.2 | Realplayer | WindowNT | |
3 | Netscape6.2 | Mediaplayer | Linux | |
4 | IE11.0 | 无 | Apache | Linux |
5 | IE11.0 | Realplayer | Netscape Enterprise | Window2000 |
6 | IE11.0 | Mediaplayer | IIS | WindowNT |
7 | Opera4.0 | 无 | Netscape Enterprise | WindowNT |
8 | Opera4.0 | Realplayer | Apache | Linux |
9 | Opera4.0 | Mediaplayer | Netscape Enterprise | Window2000 |
(3)加权筛选后的因子状态表(看起来均匀的表)
---》去掉不重要的因子和状态,蓝色--》3因子,3状态
因子1(WEB浏览器):IE11.0、Opera4.0 2
因子2(应用服务器):Apache、Netscape Enterprise 2 不均匀
因子3(操作系统):Windows2000、Windows NT、Linux 3
注意:同一个因子的2个状态可以合并,然后套用正交实验表,再分解。
套用3因子2状态表 1:2 2:2 3:3
因子/状态 | Web浏览器 | 应用服务器 | 操作系统 |
1 | IE11.0 | Apache | Windows(NT or 2000) |
2 | Opera4.0 | Netscape Enterprise | Linux |
套用三因子两状态表
EN | Web浏览器 | 应用服务器 | 操作系统 |
1 | IE11.0 | Apache | WindowsNT or win2000 |
2 | IE11.0 | Netscape Enterprise | Linux |
3 | Opera4.0 | Apache | Linux |
4 | Opera4.0 | Netscape Enterprise | WindowsNT or win2000 |
再分解:
EN | Web浏览器 | 应用服务器 | 操作系统 |
1 | IE11.0 | Apache | WindowsNT |
2 | IE11.0 | Apache | Windows2000 |
3 | IE11.0 | Netscape Enterprise | Linux |
4 | Opera4.0 | Apache | Linux |
5 | Opera4.0 | Netscape Enterprise | WindowsNT |
6 | Opera4.0 | Netscape Enterprise | Windows2000 |
练习1:邮件系统里面写邮件:有以下几个输入需要填写:
因子1: 收件人(可以填写收件人,可以不填写收件人) (1,2)
因子2: 抄送人(可以填写抄送人,可以不填写抄送人) (1,2)
因子3: 主题(可以填写主题,可以不填写主题) (1,2)
因子4: 正文(可以填写正文,可以不填写正文) (1,2)
因子5: 附件(可以添加附件,可以不添加附件) (1,2)
提示:5因子2状态
软件工具:正交设计助手v3.11(选择实验表,填入因子和相关的状态--确定,显示组合的用例)
5.4 正交实验法的特点和适用范围
特点:两两组合;经济高效
适用范围:功能测试(搜索;多个查询条件);配置测试;兼容测试。
如果在不均匀的情况下,就近选择经济(条数少) 的正交表来使用。如果因子多的可以空着(注意因子不能合并),如果状态是不均匀分布的,则先把状态合并,再分解。注意灵活使用。
总结:测试既要测得全,又想测想测少一点,又怕漏测,所以使用用例设计方法。