正交法

上传人:nt****6 文档编号:35889233 上传时间:2018-03-22 格式:DOCX 页数:7 大小:51.48KB
返回 下载 相关 举报
正交法_第1页
第1页 / 共7页
正交法_第2页
第2页 / 共7页
正交法_第3页
第3页 / 共7页
正交法_第4页
第4页 / 共7页
正交法_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《正交法》由会员分享,可在线阅读,更多相关《正交法(7页珍藏版)》请在金锄头文库上搜索。

1、正交法设计测试用例一、正交表的由来一、正交表的由来1、拉丁方名称的由来古希腊是一个多民族的国家,国王在检阅臣民时要求每个方队中每行有一个民族代表,每列也要有一个民族的代表。数学家在设计方阵时,以每一个拉丁字母表示一个民族,所以设计的方阵称为拉丁方。2、什么是 n 阶拉丁方?用 n 个不同的拉丁字母排成一个 n 阶方阵(n (2,3)(3,1)(1,2)3 1 2 2 3 1 (3,2)(1,3)(2,1)二、正交试验法介绍二、正交试验法介绍人类在认识自然界的过程中,进行着多方面的探索,试验是构成学习学习过程的一个重要要素。爱迪生一生艰苦奋斗,经历了无数次的失败之后,为人类发明了许多重要的科技成

2、果。他的座右铭是:“天才靠的是百分之一的灵感和百分之九十九的汗水”。他的助手在他去世后的第二天说:“如果在爱迪生工作工作的黑屋中能有一支蜡烛照亮他前进的方向,以他蜜蜂般地努力,他会获得远比他发明多的多的成果”。就是说如果有一点理论知识和计算能帮助爱迪生,他会节省 90%的精力。爱迪生是边试验边分析后决定下次试验,这种方法速度太慢。正交试验设计是研究多因子(术语解释:把实验中影响响应变量的那些变量称为实验中的因子,因子分为可控因子和非可控因子)多水平(术语解释:把因子不同的取值称为水平)的一种试验方法,它是根据正交性从全面试面试验中挑选出有代表性的点进行试验,正交试验具备了“均匀分散,齐整可比”

3、的特点,正交试验设计是分式析因设计的主要方法。日本著名的统计学家田口玄一将正交试验选择的水平组合列成表格,称为正交表。例如作一个三因素三水平的实验,按全面实验要求,须进行 33=27 种组合的实验,且尚未考虑每一组合的重复数。若按 L9(33) 正交表安排实验,只需作 9 次,大大减少了工作量。正交实验设计是一种高效率、快速经济的实验设计方法,因此在很多领域得到广泛应用。利用场景法来设计测试测试用例用例时, 作为输入条件的场景非常庞大,以至于得到的测试用例数目多的惊人,给软件测试软件测试带来沉重的负担。如果舍弃一些场景又怕测试设计的覆盖度达不到,将缺陷遗留给客户。为了有效地减少测试缺陷遗留,合

4、理地减少测试的工时与费用,从 2008 年开始公司推行正交试验设计方法进行测试用例的设计。三、正交表的构成三、正交表的构成1、正交表的构成行数(Runs):正交表中的行的个数,即试验的次数,也是我们通过正交实验法设计的测试用例的个数。因子数(Factors) :正交表中列的个数,即我们要测试的功能点。水平数(Levels):任何单个因子能够取得的值的最大个数。正交表中的包含的值为从 0 到数“水平数-1”或从 1 到“水平数” 。即要测试功能点的输入条件。2、正交表的形式L 行数(水平数因子数)如:L8(27)3、正交表的正交性 整齐可比性在同一张正交表中,每个因子的每个水平出现的次数是完全相

5、同的。由于在试验中每 个因子的每个水平与其它因子的每个水平参与试验的机率是完全相同的,这就保证在各个 水平中最大程度的排除了其它因子水平的干扰。因而,能最有效地进行比较,容易找到较 佳的试验条件。 均衡分散性在同一张正交表中,任意两列(两个因子)的水平搭配(横向形成的数字对)是完全 相同的。这样就保证了试验条件均衡地分散在因子水平的完全组合之中,因而具有很强的 代表性,容易得到好的试验条件。4、用正交表设计测试用例的优点 不需要对所有组合情况穷举,只需要少量的抽样组合数据,可明显地提高效率; 用正交表抽样出的组合数据,对组合情况具有最佳的覆盖性; 能减少手工对组合数据抽样导致的大量测试遗漏四、

6、设计步骤四、设计步骤(1)提取功能说明,提取因子把影响实验指标的条件称为因子,而影响实验因子的条件叫因子的水平。利用正交实验设计方法来设计测试用例时,首先要根据被测试软件的规格说明书找出 影响其功能实现的操作对象和外部因素,把它们当作因子;而把各个因子的取值当作状态 ,把它们当做水平。对软件需求规格说明中的功能要求进行划分,把整体的、概要性的功 能要求进行层层分解与展开,分解成具体的有相对独立性的、基本的功能要求。这样就可 以把被测试软件中所有的因子都确定下来,并为确定每个因子的权值提供参考的依据。确 定因子与状态是设计测试用例的关键。因此要求尽可能全面的、正确的确定取值,以确保 测试用例的设

7、计作到完整与有效。(2)判断是否可以使用正交表并不是任何情况都可以使用正交表,以下情况无法使用正交表: 因素的个数非常少,如只有 2 个; 因子数很大。另外在识别的因子中,还要进行以下分析: 组合因素之间必须为平行关系(平行:可以同时存在) 不能为互斥(互斥:1 个因素存在,另 1 个因素不能存在) 因素不能被其它因素的因子制约(制约:当 A 因素的因子为 A1,B 因素不能存在 ) 排除非组合因素(3)查找和调整正交表如果判断可以使用正交测试方法设计测试用列,需要根据测试功能点的实际情况,选 择正交表。选择正交表的原则如下: 实际因素数正交表因素数; 实际每个因子数正交表每个因子数; 如果出

8、现 2 个或 2 个以上正交表符合以上条件,则选择 Case 数最少的正交表。选取了正交表后,删除正交表中多余的因子列,原则是删除靠后的列;(4)加权筛选,生成因素分析表对因子与状态的选择可按其重要程度分别加权。可根据各个因子及状态的作用大小、 出现频率的大小以及测试的需要,确定权重的大小。对于权重高的因子放在最前面的列中 ,以此类推。(5)把变量的值映射到表中在使用正交法时,要考虑到被测系统中要准备测试的功能点,而这些功能点就是要获 取的因子,但每个功能点要输入的数据按等价类划分有多个,也就是每个因素的输入条件 ,即状态或水平值。选取了因子和水平后,需要把变量实际的值映射到正交表中。(6)正

9、交测试用例的制作把实际因子和水平代入正交表后,每一行制作成一个测试用例。(7)组合补充测试用例根据需求规格说明书或错误推断法,补充需要测试但正交表没有覆盖的测试数据,将 其制作成测试用例。正交法设计测试用例实例分析目的 本文以一个转帐功能为例介绍了测试例估计和设计的方法。 例子说明 进行测试例估计和设计的依据是需求规格说明书和设计说明书。一般的步骤如下: 1. 分析影响测试对象的要素; 2. 为每个要素确定取值; 3. 使用标准直角矩阵生成初始测试例集; 4. 在初始测试例集上依据对测试对象的分析来进行测试例集的修改; 5. 把测试例转化为可以测试执行使用的测试例。例如在对某一应用系统的转账功

10、能进行测试过程中,利用正交矩阵生成测试用例步骤如下:1约束条件分析:P5L4标号影响测试规格的要素取值 1取值 2取值 3取值 41用户权限有转账权限无转账权限 2票据号票据号有效票据号无效 3账号账号有效账号无效 4转账金额转账金额小于或等于用户实际金额转账金额大于用户实际金额5转账方式同城不同行转账同行转账异地电汇 异地信汇图表 1 注:P 表示影响测试规格要素个数;L 表示影响测试规格要素的最大取值个数在本例中 P=5,L=42生成标准测试例集矩阵:根据以上约束条件分析得出的 P、L 值,对应直角矩阵测试例生成工具得出以下测 试例矩阵编号编号用户权限用户权限票据号票据号账号账号转账金额转

11、账金额转账方式转账方式1111112122223133334144445212346221437234128243219313421032431113312412342131341423144231415432411644132图表 2 说明:首先分析第一个要素“用户权限”,其取值只有 2 个,即“用户权限”的值只有可 能是 1 或 2,这样 3 和 4 的取值所在的情况就可以删除,之后在考虑“用户权限”的 2 个 取值的具体情况,一个是用户权限有效(1),另一个是用户权限无效(2),当取值为有 效时,所有的情况都可以保留,当取值为无效时,只保留一个就可以了(一旦最高优先级 的条件不能满足,那

12、么其他低优先级的条件就不需要考虑),然后用同样的方法判断其他 的条件,最后等到一个临时结果(编号 1,2,5),这时可以从最后一个要素开始分析,要 使最后一个要素有意义那前 4 个要素必须都成立(值为 1),而要素“转帐方式”有 4 种 取值而现在的结果中有效情况只有一种(No1),所以可以增加 3 种(即,见表 4 中 No2,3,4)。现在考虑要素“转帐金额”,可以增加在前 3 个要素都成立时,“转帐金额”取值为大于用户实际金额的情况(即,见表 4 中 No5)。接着考虑要素“帐号”,可以增 加在前 2 个要素都成立时,“帐号”取值为帐号无效的情况(即,见表 4 中 No6)。接着 考虑要

13、素“票据号”,可以增加在第一个要素都成立时,“票据号”取值为票据号无效的 情况(即,见表 4 中 No7)。这样就补齐了所有的情况,从而得到最终结果(表 5)3筛选测试矩阵: 注:由于测试例矩阵是根据影响要素条件最大取值个数得出,因此不是所有影响要素的取 值个数都与最大值相等,因此应将矩阵中不存在的测试例条件删除。编号编号用户权限用户权限票据号票据号账号账号转账金额转账金额转账方式转账方式1111112122223133334144445212346221437234128243219313421032431113312412342131341423144231415432411644132图

14、表 3 4修改测试矩阵: 注:由于测试例矩阵是根据影响要素条件最大取值个数得出的,因此在删除测试例时应将 因此导致测试矩阵范围不完整的测试例补充完整。 说明:编号 5,6,7,8 的情况中有“-”,其意义为“取任何值都不影响结果”编号编号用户权限用户权限票据号票据号账号账号转账金额转账金额转账方式转账方式11111121111231111341111451112-6112-712-82-图表 4 5生成测试用例:编号编号用户权限用户权限票据号票据号账号账号转账金额转账金额转账方式转账方式1有转账权限票据号有效账号有效 转账金额大于或等于用户实际金额同城不同行转账2有转账权限票据号有效账号有效

15、转账金额大于或等于用户实际金额同行转账3有转账权限票据号有效账号有效 转账金额大于或等于用户实际金额异地电汇4有转账权限票据号有效账号有效 转账金额大于或等于用户实际金额异地信汇5有转账权限票据号有效账号有效转账金额小于用户实际金额同城不同行转账6有转账权限票据号有效账号无效 转账金额大于或等于用户实际金额同城不同行转账7有转账权限票据号无效账号有效 转账金额大于或等于用户实际金额同城不同行转账8无转账权限票据号有效账号有效 转账金额大于或等于用户实际金额同城不同行转账图表 5说明 使用直角矩阵的方法可以进行最初的测试分析设计和估计,但是随着项目的进展,测试组 对系统的理解会逐渐加深,因此需要根据需要多次进行测试分析设计和估计。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号