(计算机应用技术专业论文)具有优先级的参数配对组合覆盖测试集生成策略的研究.pdf_第1页
(计算机应用技术专业论文)具有优先级的参数配对组合覆盖测试集生成策略的研究.pdf_第2页
(计算机应用技术专业论文)具有优先级的参数配对组合覆盖测试集生成策略的研究.pdf_第3页
(计算机应用技术专业论文)具有优先级的参数配对组合覆盖测试集生成策略的研究.pdf_第4页
(计算机应用技术专业论文)具有优先级的参数配对组合覆盖测试集生成策略的研究.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(计算机应用技术专业论文)具有优先级的参数配对组合覆盖测试集生成策略的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

上海颊菠大学硬研究生论文其有优先缓鲶参数配对缀余覆盖测试集垒簸策略的磷究 论文独创性声明 本论文是我个人在导师指导下进行的研究工作及取得的研究成果。论文中除 了特别加以标注和致谢的地方外,不包含其他人或机构已经发表或撰写过的研究 成果。其他同志对本研究的窟发和所徽的贡献均已在论文中做了鹱确的声明并表 示了谢意。 作者签名:扣魄溯箩 上海师范大学硕士研究生论文 具有优先级的参数配对组合覆盖测试集生成策略的研究 论文使用授权声明 本人完全了解上海师范大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其它手段保存论文。保密的论文在解密后遵守此 规定。 论文作者签名:法劬日期:) g 年f 月 导师签名: 日期:年月 日 日 奠海辨范大学硕士研究嫩论文具畜傥宠级的参数配对缀会覆盖溺试集生成策略静研究 摘要 参数的配对组合测试要求系统中每一对输入参数,它们每一个有效值的组合 都必须被至少一个测试案例覆盖。实践表明,参数的配对组合测试是对于各种系 统的一种实用虽有效的测试方法,因为许多软件系统的故障是测试参数及其之闻 的相互作用引起的。 然而在实际参数组合测试的应用中,由于时间或预算等限制原因,无法运行 整个测试集。在此情况下,必须设置测试案例的优先级。 本文在研究备种典型配对组合覆盖测试集生成方法的基础上,引用了优先级 权值的思想,研究一种根据已有的配对覆盖测试集对其进行排序,以生成有序的 配对组合覆盖测试集的策略;研究一种在测试集的生成过程中确定各测试案例的 优先级的测试集生成策略;使得不论测试在任何时刻中断,不论运行多少个数的 测试案例,都可确保最重要的测试已被运行。 关键字:贪心算法;配对组合测试;测试优先级;软件测试 上海麴范大学矮臻究生论文其有钱先级的参数配对组合覆燕测试集生成策略酶研究 a b s t r a c t p a i r w i s et e s t i n gr e q u i r e st h a tf o re a c hp a i ro fi n p u tp a r a m e t e r so fas y s t e m ,e v e r y c o m b i n a t i o no fv a l i dv a l u e so ft h e s et w op a r a m e t e r sb ec o v e r e db ya tl e a s to n et e s t c a s e 。p a i r w i s et e s t i n gi sp r a c t i c a la n de f f e c t i v ef o rv a r i o u st y p e so fs o f t w a r es y s t e m s , a sm o s to ft h es y s t e mf a u l t sa r ec a u s e db ys o m eu n e x p e c t e ds y s t e mp a r a m e t e r sa n d t h ei n t e r a c t i o na m o n gt h e m 。i nm a n ya p p l i c a t i o n sw h e r ei n t e r a c t i o nt e s t i n gi sn e e d e d , t h ee n t i r et e s ts u i t ei sn o tl q l na sar e s u l to ft i m eo rb u d g e tc o n s t r a i n t s i nt h e s es i t u a t i o n s ,i ti se s s e n t i a lt op r i o r i t i z et h ec a s e s h e r e ,s e v e r a lt y p i c a ls t r a t e g i e sf o rg e n e r a t i n gm i n i m u mp a i r - w i s ec o v e r a g e t e s t i n gs e ta r es t u d i e d w ed r i v ew e i g h tf o re a c hv a l u eo fe a c hp a r a m e t e r , a n da d a p t t w od i f f e r e n tm e t h o d st og e n e r a t ea no r d e r e dp a i r - w i s ec o v e r a g et e s ts e t o n e s t r a t e g yi st oa c c o r dw e i g h t ss e tf o re a c hv a l u eo fe a c hp a r a m e t e ro ft h es y s t e m ,t h e n p r o d u c eo r d e r e dp a i r - w i s ec o v e r a g et e s ts e tf o rh a v i n gg e n e r a t e db u tu n o r d e r e d o n e t h eo t h e rs t r a t e g yi st op r o d u c ep r i o r i t i z e dp a i r - w i s ec o v e r a g et e s ts e tb yi n t r o d u c i n g p r i o r i t yw e i 曲t sd u r i n gt e s t s e tg e n e r a t i o np r o c e s s w h e nn l nt oc o m p l e t i o n ,a l l p a i r - w i s ei n t e r a c t i o n sa r et e s t e d ,b u tw h e nt e r m i n a t e da f t e ra n yi n t e r m e d i a t en u m b e r o ft e s t s ,t h o s ed e e m e dm o s ti m p o r t a n ta r et e s t e d f i n a l l y , w ea r eg o i n gt oc o m p a r ea n d a n a l y z et h o s et w op a i r - w i s ec o v e r a g et e s ts e tg e n e r a t i n gs t r a t e g i e si nt e r m so ft e s ts e t s c a r ea n dt h ea m o u n to fw e i g h t st h et e s ts e tc o v e r s k e yw o r d s :g r e e d ya l g o r i t h m ;p a i r - w i s ei n t e r a c t i o nc o v e r a g e ;t e s tp r i o r i t i z a t i o n ; s o f t w a r et e s t i n g 2 上海师范大学硕士研究生论文具有优先级的参数配对组合覆盖测试集生成策略的研究 第一章绪论 软件测试能够有效地发现软件的缺陷,从而提高软件质量。n i s t ( n a t i o n a l i n s t i t u t ef o rs t a n d a r d sa n dt e c h n o l o g y ) 曾调查指出【1 】:u s 每年由于软件缺陷造 成的损失大约有6 0 0 亿美元,其中2 2 0 亿美元的损失可以通过有效的软件测试避 免。 在设计软件测试案例时,测试案例能否完全反应一个软件系统实际运行过程 是设计测试案例的关键问题之一。由于设计和执行一个测试案例要花费一定的时 间、人力和物力,所以关于如何减少测试案例,用尽可能少的代价达到最大的测 试效果是软件测试中最重要的问题之一。一个好的测试计划及管理对软件工程的 意义和作用是不言而喻的。 1 1 研究背景 由于许多软件系统的故障是测试参数及其之间的相互作用引起的,且大约 7 0 左右的软件系统的故障是由某一个参数或两个参数的相互作用引起的,因 此,经验以及实践表明,参数的配对测试( p a i r w i s et e s t i n g ) 是对各种软件系统 测试的一个实际而有效的方法。 参数的配对组合测试要求系统中每一对输入参数,它们每一个有效值的组合 都必须被至少一个测试案例覆盖。 为描述参数的配对组合测试思想,假设一个系统含有的参数及参数值如下: 参数值a ,有效取值a 1 、a 2 参数值b ,有效取值b 1 、b 2 参数值c ,有效取值c l 、c 2 、c 3 对于参数a 和b , ( a 1 ,b 1 ) ,( a 1 ,b 2 ) ,( a 2 ,b 1 ) ,( a 2 ,b 2 ) ) 是唯一的配对 覆盖测试集。对于参数a 、b 和c ,存在多种配对覆盖测试集,以下是其中的3 个,分别包含6 ,7 ,8 个测试案例。 ( a 1 ,b i ,e 1 ) ,( a 1 ,b 2 ,c 2 ) ,( a 2 ,b 1 ,c 3 ) ,( a 2 ,b 2 ,c 1 ) ,( a 2 ,b x ,c 2 ) ,( a 1 ,b 2 ,c 3 ) ) ( a 1 ,b 1 ,c 1 ) ,( a 1 ,b 2 ,e 1 ) ,( a 2 ,b 1 ,c 2 ) ,( a 2 ,b 2 ,c 3 ) ,( a 2 ,b 1 ,e 1 ) ,( a 1 ,b 2 ,c 2 ) , 上海师范大学硕士研究生论文具有优先级的参数配对组合覆盖测试集生成策略的研究 ( a 1 ,b 1 c 3 ) ) ( a 1 ,b 1 ,c 1 ) ,( a 1 ,b 2 ,c 1 ) ,( a 2 ,b 1 ,c 2 ) ,( a 2 ,b 2 ,c 2 ) ,( a 2 ,b 1 ,c 1 ) ,( a 1 ,b i ,c 2 ) , ( a t ,b 1 ,c 3 ) ,( a 2 ,b 2 ,c 3 ) ) 目前已存在多种配对覆盖测试集生成策略用于参数的配对组合测试。 a e t g 测试集生测策略【2 】的思想大致如下:初始时是一个空的测试案例集 合,每次往集合中加入一个测试案例。在得到这个测试案例前该系统先产生一组 侯选测试案例,利用贪心法( g r e e d ya l g o r i t h m ) 选择其中一个能覆盖最多未覆 盖到的参数配对组合。 正交拉丁方策略【3 】,在组合数学中拉丁方是一个具有特殊性质的方阵,即 每个元素在各行各列中均出现且只出现一次。拉丁方的特殊性质可以有效构造三 个参数的满足配对覆盖的测试集。当系统有三个以上测试参数时就需要一组正交 拉丁方和分块组合的方法加以解决。由于其数学上的特性,在已知参数个数及取 值情况下就可准确计算出满足配对覆盖的测试集大小。在特定条件下该方法能获 得最优的测试集。然而,在实际系统中,为了满足构造算法的要求常常需要添加 “无关值”,因此会导致增加额外的测试案例。 i p o ( i n p a r a m e t e r - o r d e r ) 策略【4 】在时间复杂性上优于a e t g ,且不需要引 入“无关值”。其主要思想是:首先对两个参数组合,得到它们全部的测试案例集 合t ,然后每次加入一个参数,生成一个临时集合,该临时集合包含所有原有参 数与新进入参数所有的配对组合,通过对t 的水平扩展和垂直扩展算法使t 中 的测试案例能覆盖所有i 临时集合内的配对组合。 配对组合覆盖测试能够满足:系统的任何一对输入参数,它们每一个有效值 的组合都必须被至少一个测试案例所覆盖。然而在实际参数组合测试的应用中, 由于时间或预算等限制原因,无法运行整个测试集。在此情况下,必须设置测试 案例的优先级。测试案例的优先级问题描述如下: 1 ) t ,测试案例集 2 ) s ,测试案例按照不同顺序排列的测试案例集t 的排列 3 ) f ,排列s 到实数值的对应函数 4 ) 寻找s es ,vs s ,f ( s ) = f ( s ) 上海师范丈学硕士研究袋论文其舂优先级的参数配对缀会覆盖测试集生成策略的研究 f 是一个估值函数,决定优先级的高低,函数f 的选择决定了软件测试案例 按照怎样的标准确立优先缀的高低。例如,优先级的高低可以取决于代码覆盖率、 代价估计( 如每个测试案例的执行时间) 、最近修改的代码域、测试人员倾向测 试的代码域等等。不论哪一种选择,优先级的设置都是为了增加测试集的错误检 测率,在测试过程中尽旱的检测出最多麓错误。错误发现的越旱,才笺有更多的 时间让开发者去修复错误。 参数的配对组合测试中,构造有序的测试集可以通过两种方法进行。第一, 根据优先级设定标准为已生成的测试集重新排序;第二,在测试集的生成过程中 确定各测试案例的优先级。目前已有很多研究者致力于两种方法的研究。 e l b a u m 在其研究成果【5 】中指出,为了减少回归测试的测试代价,软件测试 人员会为测试案例设定优先级,这样基于某种标准下较为重要的测试案例将会在 回归测试过程中被较早的运行。因此设立测试案例的优先级是为了增加测试案例 的错误检测率。许多研究成果表明优先级技术能够显著的增加错误检测率。然而 优先级的弓| 入带来了新酶闻题的研究:1 ) 当用于测试某个特定的,修正过的软 件版本,优先级技术是否能够有效。2 ) 优先级大小粒度的设定,精确设定和粗 略设定会有怎么样的区别。3 ) 将测试人员的测试倾向引入优先级技术中是否能 够提高测试效率。为了圜答这些问题,作者进行了多项研究,采用核对实验和个 案研究对多种优先级技术进行比较分析。结果表明:每一种优先级技术都能够大 幅提高错误检测率。精确设定优先级的粒度比粗略设定优先级的粒度结果较好, 僵也只是一个较小规模的优势。换言之,对于优先级粒度设定的相对粗略并不会 大幅度的减少错误检错率。对测试倾向的引入也能够相对较小程度的提高错误检 测率。研究还指出某种优先级策略在某些特定的情况使测试结果更优。不论优先 级技术是否能够带来错误检测率的提高,都能够带来实际测试中测试代价的减 少。 r o t h e r m e l 【6 】研究表明:在回归测试中,对修正后的软件程序进行再测试, 在这样的情况下,优先级技术能够从老版本的软件程序获褥测试案例执行信息, 重新设定测试案例的优先级用于回归测试。获取老版本软件程序的测试案例执行 信息的方法有:1 ) 根据代码覆盖的多少为测试案例排序。2 ) 根据覆盖在之前的 测试中没有覆盖到的代码的多少为测试案例排序。3 ) 根据估计能够检测出错误 上海辩薄大学镁士辑究生论黛其翥撬先缀的参数甏对缝合覆蓬溅遮囊生成策略瓣磷究 的多少为测试案例排序。 s r i v a s t a v a 翻t h i a g a r a j a n 用采用用于圈魍测试的系统修改作为傀瓷级设定标 准,使得更早发现系统错误。 但以上研究成果主要针对回归测试,针对某种特定的测试环境,且优先级的 设定标准都是单一鲍。本文鳃研究朐方法会将优先缀技术嗣于配对组合覆盖测 试,并引入优先级权值的概念,让过测试人员根据不同的优先级设定标准为测试 案例设定权值,方法灵活、可扩展。 1 2 论文研究内容 本文研究各种典烈配对组合覆盏测试集生成方法,引入优先级权值的选择问 题,研究一种较箍已有的配对覆盖溅试集透幸亍摊序,以生成畜序的聚对缀合覆盖 测试集的策略;研究一种在测试集的生成过程中确定各测试案例的优先级的测试 集生成策略。最焉从测试集规模及覆盖优先级权值大小两个鲰度对鼹种有序测试 集生成策略进行跑较分析。 l 。3 论文创瓤点 ( 1 ) 很多研究者致力予优先级测试和配对组合测试的研究。本文将两者结 t 厶 口o 2 ) 评估一个懿对组合测试集生成策略优劣酶标准通常有:准确健、执行 时间、一致性以及可适用性,本文增加了一个标准:即是否可以根据测试员的要 求为测试案例设定优先级。 ( 3 ) 本文并没有提出薪酶优先缀判定标准,两是让测试入员摄据自蠢所选 择的标准弓l 入权值来表示优先级的信息。这些权值信息将会被作为输入的一部 分,用于有序的测试集的构造。 ( 4 ) 本文针对构造有序的测试集酶两种方法,群:重) 根据优先缀设定标准 为已生成的测试集重新排序;2 ) 在测试集的生成过程中确定各测试案例的优先 级,都应用于配对组合测试中,并分别给出策略算法。 1 4 论文结构安排 上海雾器范大学硕上磷究生论文具有优先级豹参数配对缀合覆盖测试集生成策略盼磷究 本文共分为六个章节,各章节内容安排如下: 第一章是全文概述,介绍了论文的研究背景和研究内容。 第二章全面介绍配对组合覆盖测试问题,给出相关定义,论证生成生成配对 组合覆盖测试集是一个n p c 问题,并对测试集大小进行估计。 第三章介绥三科| 典型的配对组合覆盖测试集生成策略。并对三种典型测试集 生成策略并进行比较分析,提出存在问题,并拟出本文的解决办法。 第四章介绍了优先级权值的概念,针对研究带有优先级的配对组合覆盖测试 集瓣题孳| 入优先缀权值的概念。 第五章提出生成有序的配对组合覆盖测试集的策略,介绍了两种不同的算法 策略,并各引用一个实例说明如生成称带有优先级的配对组合覆盖测试集。 第六章对全文做出总结。 上海师范大学硕士研究生论文具有优先级的参数配对组合覆盖测试集生成策略的研究 第二章配对组合覆盖测试问题 2 1 一个系统实例 软件系统的测试参数可以根据实际情况灵活制定,即可以包括某些具体方法 的参数调用,又可以是软件运行中的人为操作或配置环境。而参数配对组合测试 就是考察这些参数之间所有有效的不同组合,是否会造成软件系统的错误。 假设某个系统模块中,各组件情况如表1 所示,3 种硬件设备、3 种操作系 统、3 种网络连接方式和3 种内存,不同配置组成不同的系统。这四种组件称为 参数,每个参数的三个选项称为有效取值。不同的终端用户根据其爱好选择不同 的组件组合,每一种组合都需要花费一定的测试代价。将表1 显示的内容作为输 入,可能的组合有3 4 = 8 1 个。 t a b l e1a s y s t e mb a s e do nc o m p o n e n e t s 、i t h4p a r e m e t e r sa n de a c hp a r a m e t e rh a s4v a l u e s 表1 一个基于组件的系统包含4 个参数,每个参数均有3 个有效取值 2 2 配对组合覆盖测试集的定义 在配对组合测试中,仅要求系统中每一对输入参数的每一个有效值的组合都 必须被测试集中至少一个测试案例覆盖。该举例的配对组合测试集由表2 显示, 仅包含了9 个测试案例。 t a b l e2t h ep a i r - w i s ec o v e r a g et e s ts e t 表2 配对组合测试集 上海细范大学硕尘研究垒论文具有优先缀的参数配对缀合覆盖测试集生成策略斡磷究 测试案例的减少在大型系统上将更为显著,例如,一个拥有2 0 个参数的系 统,每个参数的取值均为5 ,则需要5 2 0 = 9 5 ,3 6 7 ,4 3 1 ,6 4 0 ,6 2 5 个测试案例;而配 对组合测试集中仅仅需要4 5 个测试案例即可覆盖所有配对【1 】。 考察一个含有k 个参数的系统s ( b 2 ) ,对于参数a ,令d ( a ) 为a 的值 域,即所有a 的有效输入。参数a 的某一个取值u 标记为a u ,系统s 的两个 参数a 和b 的一对取值a u 和b v 则标记为( a u ,b v ) ( ( a u ,8 v ) 和( a 。v ,8 。毽) 认为是相等的) 。系统s 的一个测试案例t 含有k 个取值,每 一个取值属于系统s 的一个参数。若t 在参数a 位置的取值为u ,在b 处的取值 为v ,则称t 覆盏了配对组合( a u ,1 3 v ) 显然,系统s 中任意一个测试案 例t ,其覆盖了k : 。 p o o o ( x ) = o , p o o l ( x ) = 1 , p o l o ( x ) = x , p o l l ( x ) = x + 1 , p m o ( x ) = x 2 , p l o l ( x ) = x 2 + l , p n o ( x ) = x 2 + x , p l l l ( x ) = x 2 + x + l 。 若p 是素数,系数在g f ( p ) 中的多项式集合用g f p ,x 】表示。羲p ( x ) 和 q ( x ) 都是属于f g p ,x 】的两个多项式且p ( x ) 的次方高于q ( x ) 的次方,则存 在属于g f p ,x 】的多项式s ( x ) 和r ( x ) ,使得: p ( x ) = 8 ( x ) q ( x ) + f ( x ) 其中r ( x ) 的次方小于q ( x ) 的次方,多项式r ( x ) 称为多项式p ( x ) 除 以q ( x ) 的余项。 若p ( x ) 不能表以属于g f p ,x 】的两个葛s 常数的多项式s ( x ) 和q ( x ) 之积, 则称p ( x ) 在g f p ,x l _ l :足不可化约的。 若多项式m ( x ) 是系数在g f ( p ) 中的在g f p ,x 】上不可化约的n 次多项式, 则g f p ,x 】在m o d em ( x ) 的意义下分成若干个同余类,这些同余类的全体用g f p , m ( x ) 】表示。则关于“+ ”,”运算,g f p ,m ( x ) 】构成一元素个数为p n 的g a l o i s 域,用g f ( 矿) 表示。 例如m ( x ) = x 2 + x + l 在g f 2 ,x 】上是不可化约的多项式,g f 2 ,x 】的全体m o dm 上海爨范大学嫒磷究生论文其有优先级酶参数配对缝合覆燕测试集生成策略静骚究 ( x ) 的同余类为 0 ,1 ,x ,x + 1 ) ,构成一个2 2 个元素的g a l o i s 域g f ( 4 ) 。 由定理3 知,当n 嚣p 8 时,可构造n - 1 个互相正交的n 阶的拉丁方,具体算 法如下:构造算法:设x 0 ,x 1 ,x 2 x n 是g f ( p n ) 的元素,其中x o = 0 ,x l = l 。构造 n 阶矩阵a l ,a 2 ,a n 1 如下: a k = ( a i j k ) ,a i j 睡= x k x i + x j ,i , j = 0 , 1 。,n - l ;k = l ,2 。,曩一1 从而氏是一个拉丁方,且,a l ,氐1 是互相正交的。 算法的证明这里不再赘述,我们通过构造3 个4 阶的正交拉丁方来说明该算 法。首先要生成g a l o i s 域g f ( 4 ) = x o , x l , x 2 ,x 3 ,由前面已褥g f ( 4 ) = ( 0 ,1 , x ,x + 1 ) ,取m ( x ) 嚣x 2 + x + l ,下面构造a 1 ,a 2 ,a 3 : 由x l = 1 ,a i j ( 1 )嚣x i + x j ,得a l 0羔xx + l 10 x + lx xx + l01 x + lxlo 由x 2 = 2 ,a i j ( 2 ) = x x i + x j ,其中在g f ( 4 ) 下x 2 m o d e m ( x ) - x + 1 ,得a 2 o1xx + l xx + l0重 , x + 1x。】0 由x 3 = x + i ,a i j ( 3 ) = x x + 1 x + lxlo 王0 x + lx xx + l0l 最后我们用 l ,2 ,3 ,4 分别代替方阵中的域元素 o ,1 ,x ,x + 1 ,并合并这三个正 交拉丁方,褥到结果如下: ( 1 ,1 ,1 )( 2 ,2 ,2 )( 3 ,3 ,3 )( 4 ,4 ,4 ) ( 2 ,3 ,4 )( 1 ,4 ,3 )( 4 ,1 ,2 )( 3 ,2 ,1 ) ( 3 ,2 )( 毛3 ,耋)( 1 , 2 ,4 )( 2 ,1 ,3 ) l ; + 整 x x 砥 x 毪 o 漪 1 o 瓣 1 、,量x 1 ( 0 上海灏范大学硬尘疆突盛论文具有优先级酶参数配鼹缀会覆盖测试集生成策珞酶研究 ( 4 ,2 ,3 ) 璺,量,垒2( 2 ,4 ,1 )( 1 , 3 ,2 ) 网上我们用行列号分别代表另两个参数的取值,从囊构成了含有5 个参数, 每个参数带有四个参数值的覆盖所有配对组合的测试集,例如划线出的测试案例 为( 4 ,2 ,3 ,1 ,4 ) 。 t a b l e4t h ep a i r - w i s ec o v e r a g et e s ts e tf o ras y s t e mw i t h 5p a r a m e t e r sa n de a c hh a s 4v a l u e s 表45 个参数、各带4 个参数取值的配对覆靛测试集 测试案例编号 123 4 56789 1 01 11 21 31 41 51 6 参数劳l lll王222233334444 参数舵l2 34 l 234圭234l234 参数档 l23421433412432l 参数槲 1234 3 4 1 24321214 3 参数舾 l234432l21433412 3 1 2 实际测试应用分析 上述正交拉丁方构造测试集的方法基于以下两点假设:一是所有的参数含有 相同个数的参数值;二是存在足够的多的正交拉丁方。然而在实际测试系统中, 这两种假设都不大可能满足,特别是第二个条件,存在两种情形使得其无法满足g 1 ) 参数值本身的个数决定了不存在足够的正交拉丁方,比如每个参数含有 6 个参数值的情形; 2 ) 待测系统中有至少v 十1 个参数,而每个参数只有v 个参数值。 对于这些实际测试系统孛会碰到的情况,我们采用不同的策略,下落分别加 以说明。 3 。1 2 王吴有不同参数僮个数的情形 基本的构造正交拉丁方要求每个参数都有相同个数的参数值,而实际待测系 统中各参数的参数值个数不尽相同。设系统有k 个参数,参数i 的参数值个数为 v ,并令v i = v i + 1 ( i 矗) ,则显然至少需要v l 搴v 2 个测试案例覆盖所有配对组合。 由前面己知,头两个参数的值由方阵的行列号确定,因此由v l ,v 2 构造方阵, 按需增加行或列,对于其他参数,则按需添加“无关值”。 上海薄范犬学疆骚究垒论义其毒优先级戆参数配对缝合覆燕溅试集生残繁醛豹研究 3 1 2 2 不存在足够的正交拉丁方的情形 由于正交拉丁方存在条件的限制,待测系统参数值的个数使得无法构造足够 的正交披丁方来满足测试需要,例如个数为6 时,我们采取扩大阶数的方法来满 足构造方阵的需要。一般的,当系统中没有足够的正交拉丁方时,则将阶数扩大 到下一个整数n ,其中n = p a 为一素数,a 是芷整数。这个方法也仅用在警参数 个数小于参数值个数的情况下。扩大阶数后,对于增加的额外参数值都用“无关 值”代替。 3 1 2 3 参数个数远大于参数值个数的情形 这也是实际测试系统中常碰到的一种情形,帮参数个数众多,而参数值个数 较少。由于正交拉丁方的存在由参数值的个数限制,也不存在足够的方阵来构造 测试集。若采用2 2 节中扩大阶数的方法,虽然可以满足测试覆盖的要求,但会 引起测试集过度膨胀。 例如待测系统有1 6 个参数,每个参数带有3 个参数值,赢接应用扩大阶数 的方法将需要1 4 个相互正交的拉了方,由定理3 知方阵的阶数至少为1 5 。通过 构造算法可褥到1 4 个相互正交的1 6 1 6 拉丁方( 1 6 = 2 4 ) ,最艏结果为2 5 6 个测 试案例。但平均每个测试案例只有3 个有效值,而有多达王3 个“无关值”。鼠然 2 5 6 远小于4 3 0 4 6 7 2 1 ( 3 1 6 ) ,但我们可以选择更好的方法。 对于该系统,我们采用分块的策略。由于每个参数各有3 种取值,我们可以 构造2 个3 * 3 的正交挝丁方来满足4 个参数的测试覆盖,从而将1 6 个参数分成 4 块,并且每个块内的参数都满足测试覆盖。 3 1 3 结论 本章详细分析了利用正交拉丁方构造参数组合覆盖测试集的方法。可以看 到,当德测系统参数与参数值个数就组成足够多的正交拉了方时,所生成的测试 集大小将是最佳的。但大多数情况下正交拉丁的存在是有限的,而通过扩大阶数 和采用分块的策略可以满足实际测试的需要。 上海雾器范大学硕士研究燕论文 具有德宠缓酶参数配对缝合覆盖测试集生成策略豹研究 3 2 a e t g 策略 a e t g ( a u t o m a t i ce f f i c i e n tt e s t c a s eg e n e r a t o r ) 是以一个空的m 1 试集开始, 每次往测试集加入一个测试案例。为了得到个新的测试案例,系统首先根据贪 心算法产生一组候选案例,然詹选择其中能覆盖最多米覆盖配对的案例。 假设系统s 有k 个参数,第i 个参数有1 ,种不同的取值,旦a e t g 己选取 了r 个测试案例,则第r + 1 个测试案例的产生方法如下:首先产生m 个不同的 候选案例,然后选择其中能覆盖最多未覆盖配对数的案例。侮个候选案例的选择 按下述步骤进行: 1 ) 选择一个参数f 和f 的一个参数值1 ,该参数值在朱覆盖的配对中出现 次数最大; 2 ) 令f l = f 然后对剩余参数选择一个随枧序列,从褥得到这k 个参数的一 个序列f 1 ,f k ; 3 ) 假设f l ,f j 参数的参数值已选定,令参数羲选定参数值为v i ,那么 参数蠡+ l 的取值如下:对每一个有效的f j 的取值,找出配对集合 1 吲| f i = v i 1 拳捌) 中的新配对数选择v j 1 为出现次数最多的那个值。注意到在这一步中, 每一个参数值只在一个候选案例中考察一次。同时,当选择f 珏中的一个参数值 时,只和已选取的参数f l ,与,的j 个参数值比较。 算法设置m = 5 0 ,即选择一个新的测试案例时先产生5 0 个候选案例增大m 并不会显著减少最终产生的测试案例数。由于候选测试案例根据第2 步里产生的 随机顺序,使用一个不同的随机顺序会得到一个不同的测试集。一个有效的优化 方法是产生50 个不同的随机顺序得到50 个不同的测试集,然后选择其中最好 的那个。 a e t g 能产生相当少的测试案例,并且已经在b e l l c o r e 使用多年,用于测试 各种复杂的软件系统。它也能产生高层的测试计划,如用于通信协议的致性测 试计划和用于一个网络监视系统的测试。 3 3i p o 策略 i p o ( i n - p a r a m e t e r - o r d e r ) 的愚想是:首先对两个参数进行组合,得到覆盖 它们的配对覆盖测试集。接着加入第三个参数来扩展该测试集,依此类推,对每 上海雾季范大学矮研究叟论文具鸯优先级酶参数配对缝合覆藏溯斌塞生垡幽量堕 一个新加入的参数扩展该配对覆盖测试集。这个测试集扩展的过程包括两个步 骤:( 1 ) 水平扩展,即为每一个已存在的测试案例加上新参数的某一个有效值。 ( 2 ) 垂直扩展,即在水平扩展后,要加入必要的新测试案例。 采用以下系统实例进行讨论该策略: 参数值a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论