《第05章-5.5-正交测试法》由会员分享,可在线阅读,更多相关《第05章-5.5-正交测试法(45页珍藏版)》请在金锄头文库上搜索。
1、软件测试与质量保证课件软件测试与质量保证课件5.5 正交表测试法正交表测试法软件测试与质量保证课件软件测试与质量保证课件正交表测试法的适用范围正交表测试法的适用范围正交表测试法适用于输入条件相互独立,并且需要对输正交表测试法适用于输入条件相互独立,并且需要对输入条件的入条件的各种组合各种组合进行测试的场合。进行测试的场合。例如:假定一个例如:假定一个WebWeb站点,它部署的环境有以下几种情况:站点,它部署的环境有以下几种情况:vWebWeb浏览器(浏览器(Netscape 6.2Netscape 6.2、IE6.0IE6.0、Opera 4.0)Opera 4.0)v插件(插件(RealPl
2、ayerRealPlayer、MediaPlayerMediaPlayer) )v应用服务器(应用服务器(IISIIS、ApacheApache、Netscape Enterprise)Netscape Enterprise)v操作系统(操作系统(Windows2000Windows2000、Windows NTWindows NT、Linux)Linux)我们要测试在各种环境下能否部署成功,如何测试?我们要测试在各种环境下能否部署成功,如何测试?软件测试与质量保证课件软件测试与质量保证课件正交表测试法的经典案例正交表测试法的经典案例v1992年,年,AT&T发表了一篇讲述在测试过程中使用正交
3、表的一个案例发表了一篇讲述在测试过程中使用正交表的一个案例:在该案例中,最初制定的测试计划是用在该案例中,最初制定的测试计划是用18周的的时间执行周的的时间执行1500个测试用例。但个测试用例。但是,开发推迟了,测试时间被压缩到仅仅是,开发推迟了,测试时间被压缩到仅仅8周时间。测试负责人采取另外一个测试方周时间。测试负责人采取另外一个测试方案和计划,即案和计划,即2个人个人8周的时间测试周的时间测试1000个测试用例,但是他不敢保证测试的质量,个测试用例,但是他不敢保证测试的质量,对这些用例检测缺陷的能力不放心。对这些用例检测缺陷的能力不放心。为了减轻这种不确定性的问题,他用正交表法重新设计了
4、测试用例,此时测试为了减轻这种不确定性的问题,他用正交表法重新设计了测试用例,此时测试用例只有用例只有422个。用这个。用这422个测试用例去测试发现了个测试用例去测试发现了41个缺陷,开发人员修复缺陷,个缺陷,开发人员修复缺陷,然后软件就发布了。然后软件就发布了。在使用的两年时间内,凡被测试到的领域都没有再发现缺陷,因此在发现缺陷在使用的两年时间内,凡被测试到的领域都没有再发现缺陷,因此在发现缺陷这方面,此测试计划是这方面,此测试计划是100%有效。据测试负责人估计,如果有效。据测试负责人估计,如果AT&T采用采用1000个测试个测试用例的测试计划,可能仅仅只发现这些缺陷中的用例的测试计划,
5、可能仅仅只发现这些缺陷中的32个。个。与最初的计划相比,用正交表设计测试用例执行工作量不到与最初的计划相比,用正交表设计测试用例执行工作量不到50%,但却多发现,但却多发现28%的缺陷,而且测试人员个人的效率也增加了。的缺陷,而且测试人员个人的效率也增加了。软件测试与质量保证课件软件测试与质量保证课件什么是正交测试法?什么是正交测试法?v正交测试源于正交试验设计方法。正交测试源于正交试验设计方法。v正交试验设计方法是一种研究多因素多水平的试验设计方法,正交试验设计方法是一种研究多因素多水平的试验设计方法,它根据正交性从全面试验中挑选出部分有代表性的点进行试它根据正交性从全面试验中挑选出部分有代
6、表性的点进行试验,这些有代表性的点具备了验,这些有代表性的点具备了“均匀分散,齐整可比均匀分散,齐整可比”的特点。的特点。v正交试验设计方法一般使用已经造好了的正交表格来安排试正交试验设计方法一般使用已经造好了的正交表格来安排试验并进行数据分析。验并进行数据分析。v正交测试法与正交试验设计方法类似也使用已经造好了的正正交测试法与正交试验设计方法类似也使用已经造好了的正交表格来生成测试用例,它简单易行,应用性较好。交表格来生成测试用例,它简单易行,应用性较好。软件测试与质量保证课件软件测试与质量保证课件什么是正交表?什么是正交表?在介绍正交表之前,现介绍两个概念:在介绍正交表之前,现介绍两个概念
7、:v什么是因素(什么是因素(Factor)在一项试验中,凡欲考察的变量称为因素(变量)。在一项试验中,凡欲考察的变量称为因素(变量)。v什么是水平(位级)什么是水平(位级) (Level)在试验范围内,因素被考察的值称为水平(变量的取值)在试验范围内,因素被考察的值称为水平(变量的取值)。软件测试与质量保证课件软件测试与质量保证课件什么是正交表?(续)什么是正交表?(续)正交表是一个二维表格,它的构成如下:正交表是一个二维表格,它的构成如下:v行数行数(Runs):正交表中的行的个数,即试验的次数。:正交表中的行的个数,即试验的次数。v因素数因素数(Factors):正交表中列的个数。:正交表
8、中列的个数。v水平数水平数(Levels):任何单个因素能够取得的值的最大个数。:任何单个因素能够取得的值的最大个数。正交表中的包含的值为从正交表中的包含的值为从0到到 “水平数水平数-1”或从或从1到到“水平数水平数”。v正交表的表示形式:正交表的表示形式: L行数行数(水平数水平数因素数因素数)软件测试与质量保证课件软件测试与质量保证课件正交表的一个实例:正交表的一个实例:L8(27) 软件测试与质量保证课件软件测试与质量保证课件正交表的正交性正交表的正交性v整齐可比性整齐可比性 在同一张正交表中,每个因素的每个水平出现的次数是完在同一张正交表中,每个因素的每个水平出现的次数是完全相同的。
9、由于在试验中每个因素的每个水平与其它因素的全相同的。由于在试验中每个因素的每个水平与其它因素的每个水平参与试验的机率是完全相同的,这就保证在各个水每个水平参与试验的机率是完全相同的,这就保证在各个水平中最大程度的排除了其它因素水平的干扰。因而,能最有平中最大程度的排除了其它因素水平的干扰。因而,能最有效地进行比较和作出展望。效地进行比较和作出展望。v均衡分散性均衡分散性 在同一张正交表中,任意两列(两个因素)的水平搭配在同一张正交表中,任意两列(两个因素)的水平搭配(横向形成的数字对)是完全相同的。这样就保证了试验条(横向形成的数字对)是完全相同的。这样就保证了试验条件均衡地分散在因素水平的完
10、全组合之中,因而具有很强的件均衡地分散在因素水平的完全组合之中,因而具有很强的代表性。代表性。软件测试与质量保证课件软件测试与质量保证课件正交测试用例设计步骤正交测试用例设计步骤(1)确定测试中有多少个相互独立的变量,这映射到表中的)确定测试中有多少个相互独立的变量,这映射到表中的因素数(因素数(Factors)。)。(2)确定每个变量可以取值的个数,这映射到表中的水平数)确定每个变量可以取值的个数,这映射到表中的水平数(Levels)。)。(3)选择一个最适合的正交表选择一个最适合的正交表,其因素数,其因素数=测试中的变量数,测试中的变量数,各因素的水平数各因素的水平数=对应变量的取值个数,
11、另外,次数对应变量的取值个数,另外,次数(Run)最少。)最少。(4)把因素和值映射到表中。)把因素和值映射到表中。(5)为剩下的水平数选取值。)为剩下的水平数选取值。(6)把次数中所描述的组合转化成测试用例,再增加一些没)把次数中所描述的组合转化成测试用例,再增加一些没有生成的但可疑的测试用例。有生成的但可疑的测试用例。软件测试与质量保证课件软件测试与质量保证课件案例案例 1 假设一个网页有假设一个网页有3个不同的部分(个不同的部分(Top、Middle、Bottom),并且每个部分都可以单独显示及隐藏。要测试),并且每个部分都可以单独显示及隐藏。要测试这三个不同部分的交互。按照前面给出的正
12、交表测试用例设这三个不同部分的交互。按照前面给出的正交表测试用例设计步骤,设计该系统的正交表测试用例。计步骤,设计该系统的正交表测试用例。 软件测试与质量保证课件软件测试与质量保证课件用例设计步骤用例设计步骤(1)确定有)确定有3个独立的变量(网页的个独立的变量(网页的3个部分)。个部分)。(2)每个变量能够取两个值()每个变量能够取两个值(Hidden或或Visible)。)。(3)选择正交表)选择正交表L4(23) 变量为三因素,值为二水平,恰变量为三因素,值为二水平,恰好相符。好相符。(4)把变量的值映射到表中,其中)把变量的值映射到表中,其中Hidden=0,Visible=1。软件测
13、试与质量保证课件软件测试与质量保证课件正交用例表正交用例表因素因素 1因素因素 2因素因素 3次数次数 1000次数次数 2011次数次数 3101次数次数 4110软件测试与质量保证课件软件测试与质量保证课件因素映射之后因素映射之后 Top middleBottom 用例用例 1Hidden HiddenHidden用例用例 2HiddenVisible Visible 用例用例 3Visible HiddenVisible 用例用例 4Visible Visible Hidden软件测试与质量保证课件软件测试与质量保证课件用例设计步骤(续)用例设计步骤(续)(5)此种情况没有剩余的水平数,
14、也就是说,表中的每一个)此种情况没有剩余的水平数,也就是说,表中的每一个水平都有一个值被映射过来。水平都有一个值被映射过来。(6)把表中每一行转换成测试用例,可以得到)把表中每一行转换成测试用例,可以得到4个测试用例。个测试用例。这是测试这是测试3个变量成对交互时需要测试的内容。个变量成对交互时需要测试的内容。 软件测试与质量保证课件软件测试与质量保证课件测试用例描述测试用例描述A A隐藏这隐藏这3 3部分。部分。B B显示除显示除TopTop部分外的其它部分。部分外的其它部分。C C显示除显示除MiddleMiddle部分外的其它部分。部分外的其它部分。D D显示除显示除BottomBott
15、om部分外的其它部分。部分外的其它部分。软件测试与质量保证课件软件测试与质量保证课件案例案例 2 因素数不相同因素数不相同单位基本信息查询页面的测试单位基本信息查询页面的测试 :查询条件要么不填写,要么填写。查询条件要么不填写,要么填写。软件测试与质量保证课件软件测试与质量保证课件分析因素数和水平数分析因素数和水平数v有五个因素(变量):有五个因素(变量):音形码、拼音码、路名码、行业类别和特征码音形码、拼音码、路名码、行业类别和特征码v每个因素有两个水平(变量值):每个因素有两个水平(变量值):音形码:填、不填音形码:填、不填拼音码:填、不填拼音码:填、不填路名码:填、不填路名码:填、不填行
16、业类别:填、不填行业类别:填、不填特征码:填、不填特征码:填、不填软件测试与质量保证课件软件测试与质量保证课件选择正交表选择正交表v表中的因素数表中的因素数5v表中至少有五个因素的水平数表中至少有五个因素的水平数2v行数取最少的一个行数取最少的一个v结果:结果: L8(27) 因素不符,水平数相同。因素不符,水平数相同。软件测试与质量保证课件软件测试与质量保证课件L8(27)软件测试与质量保证课件软件测试与质量保证课件变量映射变量映射v音形码:音形码:0不填写,不填写,1填写填写v拼音码拼音码: 0不填写,不填写,1填写填写v路名码路名码: 0不填写,不填写,1填写填写v行业类别行业类别: 0
17、不填写,不填写,1填写填写v特征码特征码: 0不填写,不填写,1填写填写软件测试与质量保证课件软件测试与质量保证课件软件测试与质量保证课件软件测试与质量保证课件测试用例描述测试用例描述v测试用例如下:测试用例如下:音形码填写、拼音码填写、路名码填写、行业类别填写、特征码填写音形码填写、拼音码填写、路名码填写、行业类别填写、特征码填写音形码填写、拼音码填写、路名码填写、行业类别不填、特征码不填音形码填写、拼音码填写、路名码填写、行业类别不填、特征码不填音形码填写、拼音码不填、路名码不填、行业类别填写、特征码填写音形码填写、拼音码不填、路名码不填、行业类别填写、特征码填写音形码填写、拼音码不填、路
18、名码不填、行业类别不填、特征码不填音形码填写、拼音码不填、路名码不填、行业类别不填、特征码不填音形码不填、拼音码填写、路名码不填、行业类别填写、特征码不填音形码不填、拼音码填写、路名码不填、行业类别填写、特征码不填音形码不填、拼音码填写、路名码不填、行业类别不填、特征码填写音形码不填、拼音码填写、路名码不填、行业类别不填、特征码填写音形码不填、拼音码不填、路名码填写、行业类别填写、特征码不填音形码不填、拼音码不填、路名码填写、行业类别填写、特征码不填音形码不填、拼音码不填、路名码填写、行业类别不填、特征码填写音形码不填、拼音码不填、路名码填写、行业类别不填、特征码填写v增补测试用例:增补测试用
19、例:音形码不填、拼音码填写、路名码不填、行业类别不填、特征码不填音形码不填、拼音码填写、路名码不填、行业类别不填、特征码不填音形码不填、拼音码不填、路名码填写、行业类别不填、特征码不填音形码不填、拼音码不填、路名码填写、行业类别不填、特征码不填音形码不填、拼音码不填、路名码不填、行业类别填写、特征码不填音形码不填、拼音码不填、路名码不填、行业类别填写、特征码不填音形码不填、拼音码不填、路名码不填、行业类别不填、特征码填写音形码不填、拼音码不填、路名码不填、行业类别不填、特征码填写音形码不填、拼音码填写、路名码不填、行业类别不填、特征码不填音形码不填、拼音码填写、路名码不填、行业类别不填、特征码
20、不填测试用例减少数:测试用例减少数:3213只填一个都不填都填软件测试与质量保证课件软件测试与质量保证课件案例案例 3 水平数不相同的情况水平数不相同的情况假设有一个系统有假设有一个系统有5个独立的变量(个独立的变量(A,B,C,D,E)。变量)。变量A和和B都有两个取值(都有两个取值( A1 、 A2和和B1、 B2 )。)。变量变量C和和D都有三个可能的取值(都有三个可能的取值( C1、 C2、 C3和和D1 、 D2 、 D3 )。变量)。变量E有六个可能的取值(有六个可能的取值( E1、 E2、 E3、 E4、 E5、 E6)。)。试用正交表法设计测试用例。试用正交表法设计测试用例。软
21、件测试与质量保证课件软件测试与质量保证课件分析因素数和水平数分析因素数和水平数v有五个因素(变量):有五个因素(变量):A、B、C、D和和Ev两个因素有两个水平(变量的取值)两个因素有两个水平(变量的取值) 、两个因素有三个水平,、两个因素有三个水平,一个因素有六个水平一个因素有六个水平A:A1、A2 B:B1、B2 C:C1、C2、C3D:D1、D2、D3 E:E1、 E2、E3、E4、E5、E6 软件测试与质量保证课件软件测试与质量保证课件选择正交表选择正交表v表中的因素数(变量)表中的因素数(变量)5v表中至少有二个因素的水平数(变量的取值)表中至少有二个因素的水平数(变量的取值)2 至
22、少有另外二个因素的水平数至少有另外二个因素的水平数3 还至少有另外一个因素的水平数还至少有另外一个因素的水平数6v行数取最少的一个(行数取最少的一个(L49(78)、 L18(3661))v结果:结果: L18(3661)软件测试与质量保证课件软件测试与质量保证课件L18(3661)软件测试与质量保证课件软件测试与质量保证课件变量映射变量映射A:0A1、1A2 B:0B1、1B2 C:0C1、1C2、2 C3D:0D1、1D2、3D3 E:0E1、 1E2、2E3、3E4、4E5、5E6软件测试与质量保证课件软件测试与质量保证课件软件测试与质量保证课件软件测试与质量保证课件软件测试与质量保证课
23、件软件测试与质量保证课件测试用例描述测试用例描述v测试用例:见测试用例:见P83 表表5-16v测试用例减少数:测试用例减少数:21618v加上一些可疑的情况(设为加上一些可疑的情况(设为n个)为个)为18n它比原来也少它比原来也少多了多了软件测试与质量保证课件软件测试与质量保证课件补充内容:正交表的由来补充内容:正交表的由来软件测试与质量保证课件软件测试与质量保证课件拉丁方名称的由来拉丁方名称的由来v古希腊是一个多民族的国家,国王在检阅臣民时要求每个方古希腊是一个多民族的国家,国王在检阅臣民时要求每个方队中每行有一个民族代表,每列也要有一个民族的代表。队中每行有一个民族代表,每列也要有一个民
24、族的代表。v数学家在设计方阵时,以每一个拉丁字母表示一个民族,所数学家在设计方阵时,以每一个拉丁字母表示一个民族,所以设计的方阵称为拉丁方以设计的方阵称为拉丁方软件测试与质量保证课件软件测试与质量保证课件拉丁方和正交拉丁方的表述拉丁方和正交拉丁方的表述v什么是什么是n阶拉丁方阶拉丁方用用n个不同的拉丁字母排成一个个不同的拉丁字母排成一个n阶方阵(阶方阵(n26),如果),如果每行的每行的n个字母均不相同,每列的个字母均不相同,每列的n个字母均不相同,则称个字母均不相同,则称这种方阵为这种方阵为nXn拉丁方,或拉丁方,或n阶拉丁方阶拉丁方v什么是正交拉丁方什么是正交拉丁方设有两个设有两个n阶的拉
25、丁方,如果将它们叠合在一起,恰好出阶的拉丁方,如果将它们叠合在一起,恰好出现现n2个不同的有序数对,则称为这两个拉丁方为互相正交个不同的有序数对,则称为这两个拉丁方为互相正交的拉丁方,简称正交拉丁方的拉丁方,简称正交拉丁方软件测试与质量保证课件软件测试与质量保证课件3阶拉丁方阶拉丁方把拉丁方中的字母改为数字:把拉丁方中的字母改为数字:软件测试与质量保证课件软件测试与质量保证课件正交拉丁方转化为正交表正交拉丁方转化为正交表以以3阶正交拉丁方为例,做法是:将第一个拉丁方依行、阶正交拉丁方为例,做法是:将第一个拉丁方依行、列、字母的顺序展开得到一个列、字母的顺序展开得到一个3列正交表,再将第二拉丁方
26、列正交表,再将第二拉丁方按字母的顺序展开添加为第四列。按字母的顺序展开添加为第四列。软件测试与质量保证课件软件测试与质量保证课件123393123823137213261322532124)(3)(3313)(2)(2212)(1)(1111)4(3(abc)21gbaabgcba(列)(行)试验序号软件测试与质量保证课件软件测试与质量保证课件课堂练习课堂练习 一一例如:假定一个例如:假定一个WebWeb站点,它部署的环境有以下几种情况:站点,它部署的环境有以下几种情况:vWebWeb浏览器(浏览器(Netscape 6.2Netscape 6.2、IE6.0IE6.0、Opera 4.0)O
27、pera 4.0)v插件(插件(RealPlayerRealPlayer、MediaPlayerMediaPlayer) )v应用服务器(应用服务器(IISIIS、ApacheApache、Netscape Enterprise)Netscape Enterprise)v操作系统(操作系统(Windows2000Windows2000、Windows NTWindows NT、Linux)Linux)我们要测试在各种环境下能否部署成功,试用正交表设计测试我们要测试在各种环境下能否部署成功,试用正交表设计测试用例。用例。软件测试与质量保证课件软件测试与质量保证课件参考答案参考答案runs浏览器浏
28、览器插件插件信息服务器信息服务器操作系统操作系统1NetscapeNetscapeRealPlayerRealPlayerIISIISWin200020002NetscapeNetscapeMediaPlayerMediaPlayerApacheApache WinNTNT3NetscapeNetscapeRealPlayerRealPlayerEnterpriseEnterprise LinuxLinux4IEIERealPlayerRealPlayer ApacheApache LinuxLinux5IEIEMediaPlayerMediaPlayer EnterpriseEnterpri
29、seWin200020006IEIEMediaPlayerMediaPlayerIISIISWinNTNT7OperaOperaRealPlayerRealPlayer EnterpriseEnterpriseWinNTNT8OperaOperaMediaPlayerMediaPlayerIISIIS LinuxLinux9OperaOperaRealPlayerRealPlayer ApacheApacheWin20002000L9(34)软件测试与质量保证课件软件测试与质量保证课件课堂练习课堂练习 二二v内部邮件系统测试:内部邮件系统测试:软件测试与质量保证课件软件测试与质量保证课件测试时
30、各条件的取值如下:测试时各条件的取值如下:v收件方(收件人、收件部门)收件方(收件人、收件部门)v内容标题(可以填写,可以不填写)内容标题(可以填写,可以不填写)v邮件内容(可以填写,可以不填写)邮件内容(可以填写,可以不填写)v落款人(可以填写,可以不填写)落款人(可以填写,可以不填写)v附件(可以添加附件,可以不添加)附件(可以添加附件,可以不添加)软件测试与质量保证课件软件测试与质量保证课件参考答案参考答案L8(27)软件测试与质量保证课件软件测试与质量保证课件正交测试法小结正交测试法小结节约测试工作工时;节约测试工作工时;可控制生成的测试用例的数量;可控制生成的测试用例的数量;测试用例具有一定的覆盖率。测试用例具有一定的覆盖率。部分资料从网络收集整理而来,供大家参考,感谢您的关注!