2014组合测试解析_第1页
2014组合测试解析_第2页
2014组合测试解析_第3页
2014组合测试解析_第4页
2014组合测试解析_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

组合测试绪论软件系统的故障往往是由一些难以预料的系统因素及其相互作用而引起的,为了检测这些故障,必需设计一组测试用例,对系统因素的各种组合状况进展充分掩盖的测试。通过对各个参数的不同输入数据进展组合,可以验证软件系统在不同条件下的行为。例如:对于微软的Word软件,其字体设置对话框总共有19个输入参数需要设置.经过等价类划分和边界值处理后,假设进展全组合的测试,那么会产生上万个测试用例。充分组合测试的最终测试用例数是浩大的,如何从中选择一个规模较小的、能更有效的找出软件故障的子集作为测试用例集是测试用例生成中一个很重要的问题。绪论依据争论统计说明,很多程序的错误都是由少数几个参数及参数之间的相互作用而导致。Willace和Kuhn等人在美国国家标准与技术协会〔NIST〕期刊上发表的论文指出:经过大量的调查争论后觉察,在软件把握的医疗系统中,98%的故障是由变量对之间的交互所导致的;Kuhn和Reilly等人在对Mozilla扫瞄器的错误报告进展分析和争论后说明:该系统的70%以上的错误是由2个以内的参数相互作用而引发的,90%以上的错误是由3个以内的参数相互作用而引发的。绪论组合测试其根本思想是从统计学的角度对测试试验进展设计。该方法设计的测试用例以参数及参数之间的交互为掩盖标准,虽然不能够进展完全的测试,但是利用该方法进展的测试得到的结果能够在确定程度上反映系统的内部规律,具有确定的代表性。这种方法对由系统输入、外部大事等相互作用而产生的故障系统,具有较强的检错力气。目前,对组合测试用例生成方法的争论主要包括:两两组合测试用例生成技术N维组合测试用例生成技术变力度组合测试用例生成技术带优先级的组合测试用例生成技术带约束的组合测试用例生成技术组合测试中错误定位技术绪论两两组合掩盖测试用例生成例如假设系统有3个因素,每个因素有3个不同的取值,分别为A1,A2,A3;B1,B2,B3;C1,C2,C3。对于测试用例t=〔A1,B1,C1〕,其对应的两两组合表示是一个集合S’={〔A1,B1〕,〔A1,C1〕,〔B1,C1〕},如以以下图:测试用例t=〔A1,B1,C1〕掩盖了〔A1,B1〕,〔A1,C1〕,〔B1,C1〕3个两两组合元素。两两组合掩盖测试举例一个网络信息系统如表所示,需要进展兼容性测试,假设需要进展完全的测试,那么该系统需要81个测试用例,但是假设承受两两组合测试技术进展测试,只需要9个测试用例。两两组合掩盖测试举例两两组合掩盖测试举例两两组合测试用例设计方法生成最优的两两组合测试用例集的问题已经被证明是一个NP问题。在实际的测试用例生成过程中,一般尝试用各种近似算法求解。这些方法大致可以分为如下几类:数学构造法、贪心算法、元启发式算法。不同的测试用例集所掩盖的两两组合元素数量不同。在同样大小的测试用例集的条件下,掩盖的两两组合元素数量越多,说明该测试用例集的测试效果越好。数学构造法目前的数学构造方法根本上都是基于正交矩阵,并在此根底上开发了组合测试用例生成工具。比方:Bell试验室研发的CATS工具,Williams开发的Tconfig工具,IBMHaifa争论院的WHITCH工程。

代数方法由于各种代数构造的限制,仅适用于成对组合掩盖测试用例的自动生成,不简洁被扩展到更高维数的组合掩盖的测试用例的自动生成中。两两组合测试用例设计方法开头时,由于A、B、C三个元素的最低水平数为2,我们则以因素为3,水平数为2来选择正交表,并进展用例的生成。此时测试用例集为{(A1,B1,C1),(A1,B2,C2),(A2,B1,C2),(A2,B2,C2)}。此时,未被掩盖的成对组合W={(A1,C3),(A2,C3),(B1,C3),(B2,C3)}。在W中,A1消逝1次,A2消逝1次,B1消逝1次,B2消逝1次,C3消逝3次,因此,选择消逝次数最多的C3产生测试用例T5=(*,*,C3)。接下来,要从A1,A2中选择一个作为因素A的水平值。假设选择A1,则可以掩盖(A1,C3);假设选择A2,则可以掩盖(A2,C3)。不妨选择A1,则T5=(A1,*,C3)。下面要从B1,B2中选择一个作为因素B的水平值。假设选择B1,则可以掩盖W中的(B1,C3);假设选择B2,则可以掩盖W中的(B2,C3)。由于选择B1,B2所掩盖的W中的成对组合个数一样,不妨选择B2,即T5=(A1,B2,C3),此时未被掩盖的成对组合集合W={(A2,C3),(B1,C3)}。依据同样方法,可得到T6=(A2,B1,C3)。参与T6后,W为空。生成过程完毕。正交设计法举例存在缺乏:1〕正交矩阵问题始终是组合数学界争论的问题,目前小规模的正交表已经被构造出来,但是对于大规模的正交矩阵的构造目前还没有很好的方法。2〕现在学术界对于对称正交表的争论较多,对于混合水平的正交表的构造争论较少,而混合水平的正交表更加符合实际工程的组合测试需求。3〕在正交矩阵中每个组合消逝的次数是一样的,这在组合测试中不是必需的,只需要每个组合被掩盖一次就可以,所以依据正交试验设计得到的两两组合测试用例集中可能含有冗余的测试用例。正交设计法

贪心算法的思想是从空矩阵开头,逐行或者逐列地扩展矩阵,直到全部的t组合都被覆盖。按照策略的不同,些贪心算法可以分为使用逐条生成测试用例〔one-test-at-a-time〕策略和逐参数扩展〔in-parameter-order〕策略两种不同的策略。其中,one-test-at-a-time策略是使用一维扩展的扩展方式,IPO策略是一种二维扩展的扩展方式。贪心算法基于one-test-at-a-time策略的算法即一维扩展方式,是在构造掩盖数组时,依据贪心策略依次增加一行,使得这一行掩盖一些未掩盖的t元组,直到全部t元组都被掩盖。使用one-test-at-a-time策略,抱负的状况是使用全局贪心算法,即在每次选择测试用例时,选择能最大限度掩盖Uncover中组合的用例。AETG是美国贝尔试验室的和等人依据启发式方法研制的测试数据生成工具。该工具可以依据测试要求,产生满足因素的成对组合掩盖或多个因素的组合掩盖测试数据。AETG开头于一个空的测试用例集,每次往测试用例集参与一个测试用例。为了得到一个新的测试用例,首先依据贪心算产生一组候选用例,然后从中选择能够掩盖最多未被掩盖的成对组合的用例。类似算法有:CAST,TCG,DDA,PSSA等。基于one-test-at-a-time策略的算法设某个被测系统有3个因素〔A、B、C〕,因素A有2个值〔A1和A2〕,因素B有2个值〔B1和B2〕,因素C有3个值〔C1、C2、C3〕。依据AETG算法,测试用例生成过程如以以以下图所示。基于one-test-at-a-time策略的算法基于one-test-at-a-time策略的算法〔2〕逐参数扩展策略逐参数扩展策略与逐条用例扩展策略的不同之处在于逐参数扩展是以参数为单位进展扩展,假设只有一个参数需要扩展,那么直接添加到系统中即可,当有多个参数需要扩展时,就要对参数进展排序,然后将参数取值个数最多的一个的参数作为候选的参数。由于每个参数都有不同的取值,使用贪心算法来选择适宜的参数值添加到相应的测试用例中,当照旧有未被掩盖的组合时,需要添加新的测试用例来掩盖这些漏掉的组合。贪心算法IPO算法美国北卡罗莱纳大学计算机系的Y.Lei和提出一种基于参数挨次的渐进扩展的两两组合掩盖测试数据生成方法。与AETG算法不同,IPO算法的根本思想是以参数为对象,初始时先生成满足组合掩盖的测试要求的用例集合T,然后一个个扩展剩余的参数,直至全部的参数都被包涵到测试用例中,并在算法中时刻都尽可能使测试集个数大小保持最优。

贪心算法IPO算法包括两个核心步骤:水平扩展和垂直扩展。在这两个维度的扩展上,算法依据确定的因素来预备参数扩展和取值的次序。以两两组合掩盖为例,从这两个维度来争论IPO算法的影响因素及可扩展点。在水平扩展时,算法需要为矩阵增加一个参数列,给这一列上的每一项赋值,尽可能的掩盖更多的未掩盖t元组。因此,从以下三个影响因子:新增参数列的选择、已有测试用例集的扩展次序、新增参数的取值选择进展分析。水平扩展后,算法可能还未完全掩盖已扩展参数的两两组合,因此,还需要进展垂直扩展,即增加新的测试用例以掩盖尚未掩盖的二元组。从上述例子中可以看出,垂直扩展是将尚未扩展的用例直接作为新增用例参与。这将形成新增用例中存在一些no-care位,如何在后续扩展中为这些no-care位赋值也将影响IPO算法的结果。IPO算法IPO算法举例IPO算法举例贪心算法的根本思想是从小到大构造矩阵,直到全部的掩盖条件都得到满足.另外一种查找最优的(或者较优的)掩盖数组的方法是,利用一个已有的数组,通过适宜的变换得到一个更优的掩盖矩阵.这样,通过逐次变换得到较优的矩阵.为了避开陷入局部最优,算法承受了一些启发式的策略,通过多样化或变异的方法跳出局部最优点.元启发式搜寻算法元启发式算法主要可以分为两类:个体搜寻算法〔IndividualSearch〕和群体搜寻算法〔Popu

温馨提示

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

评论

0/150

提交评论