基于组合设计的测试生成技术概述.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于组合设计的测试生成技术概述

第四章;第四章基于组合设计的测试生成技术;4.1组合设计;; 本章描述了几种在可能的测试配置、输入域以及划分的子域数目庞大且复杂的情况下,生成较小测试配置和测试集的技术。这些技术主要有: ①试验设计 ②组合设计 ③正交设计 ④交互测试 ⑤对偶测试 ……;4.1.1测试配置和测试集;4.1.2输入空间与配置空间建模; 有一些特殊的组合设计技术允许从参数组合的完全集中选择一个较小的子集。这种采样技术旨在发现因参数组合而引起的故障。我们来看一个说明其有效性的例子。 例4.1 以一个在线比萨外卖服务(PDS)系统的输入空间为例。该系统在线接受订单,核对其有效性并安排比萨送货。在线订单要求用户指明以下4项内容:比萨饼的尺寸、比萨配料、投送地址及家庭电话号码。分别用S、T、A及P表示这4个参数?? 假设尺寸有大、中、小3种选择。配料方案有6种可供选择,此外顾客还可以自定义配料。投送地址由顾客姓名、住址、城市及邮政编码组成。电话号码是一个可能包含短划线“-”的数字串。;4.2组合测试设计过程; 步骤一:如果需要生成测试用例,该过程由输入空间开始;如果要生成测试配置,则由软件环境建模开始。无论哪种情况,模型都由一组参数及其对应的值组成。输入空间或环境的建模并不是互斥的,根据被测程序,可同时对两者或其中之一进行建模。 步骤二:该模型被输入到一个组合设计规程中,以产生一个N×k的由参数和值的矩阵构成的组合对象,其中N行中的每一行对应至少一次测试运行,k列中的每一列对应一个参数。 步骤三:生成的组合对象用来设计测试集或测试配置。组合对象是参数组合的一个矩阵。每个参数组合可以产生一个或多个测试用例,每个测试用例由输入变量的值及其预期的输出组成。;下面来看个例子说明参数组合是如何产生测试用例的(包括可行和不可行的测试用例);4.3故障模型;下面举例说明组合错误——二元组合错误;下面举例说明组合错误——三元组合错误;故障向量;例4.5 程序P4.2的输入域由3个参数x,y,z组成,每个参数都有两个取值。总共有8个组合,即8次运行,(1,1,1)和(-1,-1,0)是两次运行。在这8次运行中,(-1,1,1)和(-1,-1,1)是触发程序P4.2中三元故障的三元向量。 结论:一个故障向量是一次运行,但一次运行不一定是一个故障向量。 本章所描述的测试生成技术的目标是生成足够数量的运行(即输入组合),以便从这些运行中生成的测试用例能够发现程序中所有t元故障。在许多实际情况中,t被设定为2,因此生成的测试用例用来发现二元组合错误。当然,在生成t路运行时,也可能生成一些t+1,t+2,…,k元运行。因此二元故障向量也可能发现一些多元组合错误。;4.4拉丁方阵;例4.6 给定S = {A,B},有以下两个2阶拉丁方阵。 ;【1】更大的n阶拉丁方阵的构造过程如下: ①首先产生第一行,包含n个不同的符号; ②其它行通过变换第一行中符号的顺序来构造。;例4.7 考虑以下4阶拉丁方阵M1;构造步骤: ①构造一个4×4的2位二进制字符串的模2加法表; ②把表格中的每个元素用其相等的十进制数加上1来替换。;【2】n2阶拉丁方阵还可以通过模运算构造出来;4.5相互正交的拉丁方阵;要检测M1和M2是否相互正交,将其对应元素并列得到以下矩阵:;下面的例子说明当n是质数时构造MOLS(n)的简单过程; 这样得到MOLS(5) = {M1,M2,M3,M4}。很容易通过将它们两两叠加证明MOLS(5)的元素确实是相互正交的。例如,将M2和M4叠加,得到的矩阵中每个元素都只出现一次。;4.6对偶设计:二值参数; 我们期望生成这样的测试用例集——输入参数的每个取值对至少在一个测试用例中出现。总共有12个这样的取值对,即(X1,Y1), (X1,Y2), (X1,Z1), (X1,Z2), (X2,Y1), (X2,Y2), (X2,Z1), (X2,Z2), (Y1,Z1), (Y1,Z2), (Y2,Z1), (Y2,Z2)。这样以下4种组合就足够了:;生成对偶设计的过程SAMNA 输入:n,二值输入变量(参数)的数量。 输出:覆盖了所有输入参数取值对的一组参数组合。;例4.10 考虑一个简单的Java小程序ChemFun。该程序允许用户创建一个化学元素的内存数据库,并具有查询元素的功能。该程序有5个输入变量,其可能取值如下。我们将输入变量作为参数。为简单起见,假定每个输入变量有两个可能取值。; 2k列中的

文档评论(0)

ccx55855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档