搜索
您的当前位置:首页正文

计算机实现基于正交试验的测试用例自动生成

来源:六九路网
测试分析・Testing and Analysis 计算机实现基于正交试验的 测试用例自动生成 陈磊 简炜 (中国软件评测中心北京1 00048) 【摘要】在软件测试过程中.想达到完全的测试在项目有限的时间和人力物力的局限之下.是不容易实现的,利用一些黑盒测试用 例生成方法能够节省时间和资源、提高效率。本文主要是通过研究基于正交试验的测试用例设计方法,设计并实现了基于正交实 验法的测试用例生成工具.最后通过实验检验了本工具的结果的正确性。 【关键词】正交试验;正交表;功能测试 Realization Orthogonal Experiment Test Cases by Computer Chen Lei Jian Wei (China Software Te ing Center Be ing100048) [Abstract]Software testing want a complete test is not possible.Some black-box testing use case generation method can save time and resources and improve efifciency.This article studies the test ases based on orcthogonal experiment design method was designed and implemented based on the orthogonal experiment of test case generation too.The ifnal experiments tested the correctness of results of this too1. [Keywords]Orthogonal Experiment;Orthogonal Table;Function Tests 1.引言 在功能测试的测试用例设计过程中,存在着多个输入参数 (假设有n个参数),每个输入参数的有多种取值的情况(假设 每个参数有m个参数),如果要是做一个完全测试,需要设计 mn个测试用例,这在项目的工期、项目投入的人力物力等外 界因素的影响之下是不太容易实现的。正交试验方法就是研 Galois理论,正交试验设计方法是从大量的试验数据中挑选适 量的、有代表性的点,从而合理地安排测试的一种科学的试验 设计方法[3】。正交试验法,就是使用已经造好了的正交表来 安排试验并进行数据分析的一种方法。它简单易行并且计算 表格化,应用性较好。人们在实际工作中也经常使用混合水平 的正交表,因为不同的因素需要不同的水平数。许多统计学 家曾致力于混合水平正交表的构造和应用。当前对质量控制 和产品改进的强调使这个领域的研究更充满了活力[4】。 究多个因素(多个输人参数)多水平(每个参数的多种取值情 况)的一种设计方法,它根据正交性从全面试验中挑选出部分 有代表性的点进行试验,是~种合理安排试验的方法,它能用 较少的试验方案取得较好的试验效果,应用本方法设计测试用 例,也能够通过较少的测试用例取得较好的测试结果【l】。 2.正交试验简介 2.1正交试验法及其优越性 在利用正交实验设计测试用例方法中,首先,要提取功能 正交试验是统计数学的重要分支,它以概率论和数理统 计为基础,利用标准化的正交表安排试验方案[2]。正交表是 一说明构造因素状态表,根据被测软件的规格说明书找出影响功 能的内部对象和外部因素作为因素,然后把各个因素的不同状 态作为水平。对软件的需求规格说明书中的功能要进行划分, 整套规则的设计表格,每一列中不同的数字出现的次数相 等,任意两列中数字的排列方式齐全且均衡。正交表的均衡分 散整齐可比的优良性,为它的应用开辟了广阔的前景。依据 把整体的、概要的功能要求进行分解、展开。这样就能够确定 了影响软件的因素及其对应的水平。因此,因素及其水平的确 信息安全与技术・2011.05・87・ Testing and Analysis・测试分析 定的精确与否,将会影响整个测试用例设计的好和坏;其次, 即对每个因子的每个水平都要同等看待。具体来说,每个平面 通过加权筛选,构造因素分析表。对因素和水平的选择可按照 上都有3行、3列,要求在每行、每列上的点一样多。这样,作 其权重程度划分。最后,依据Golois理论构造正交表,生成测 出如图l所示的设计,试验点用0表示。我们看到,在9个平 试用例。 面中每个平面上都恰好有3个点,而每个平面的每行每列都有 利用正交试验设计方法设计测试用例,与其它测试用例设 1个点,而且只有1个点,总共9个点。这样的试验方案,试验 计方法相比,更加的节省了工作时间,并且是测试用例的数量 点的分布很均匀,试验次数也不多。 在可控制的范围内,并且测试用例也具有令人满意的覆盖率。 经过分析计算,查找L9(33)正交表,得到测试用表l所 正交试验法在软件测试中是一种有效的方法,例如在平台参数 示,其中在测试用例列中的每一行就是一个测试用例。 配置方面,我们要选择哪种组合方式是最好的,每个参数可能 5.基于正交试验的测试用例计算机实现 就是一个因子,参数的不同取值就是水平,这样我们可以采用 基于正交试验法的测试用例自动生成工具主要是从给定 正交试验法设计出最少的测试组合,达到有效的测试目的[5】。 的电子表格模版中取出数据,然后通过在内存中计算,最后将 2.2正交试验方法操作使用流程 结果输出到电子表格中方便参照生成的用例进行功能测试以 在文献[5】中有例题:为提高某化工产品的转化率,选择 及最后的备份归档 了三个有关因素进行条件试验,反应温度(A),反应时间(B), 3.1正交表构造算法 用碱量(C),并确定了它们的试验范围如下; 在正交表的构造算法采用了回溯的方法构建正交表,具体 A:8O~90℃l 算法如下://正交表生成 B:90~150分钟; Void theAtosCls() C:5%~7%。 { 试验目的是搞清楚因子A、B、C对转化率有什么影响,哪 清理所有的vector; 些是主要的,哪些是次要的,从而确定最适生产条件,即温度、 int CurD=0I 时间及用碱量各为多少才能使转化率最高。这里,对因子A、 do{ B和C,在试验范围内都选了三个水平,如下所示。 CurD=取得队列当前值; A:A1=80℃,A2=85℃,A3=90℃; bRight=GetRightNumber(CurD);//当前值放在当 B:Bl=90分钟,B2=120分钟,B3=150分钟} 前的正交表位置是否正确 C:C1=5%,C2=6%,C3=7%。 if(bRight)// 对应于A有A1、A2、A3 3个平面,对应于B、C也各有3 将这个正确的值写到正交表当 个平面,共9个平面。则这9个平面上的试验点都应当一样多, 前位置 表1测试用例方案 \列号 A B C 试验号 水平组合 测试用例 号\ 1\  2 3 温度(。C) 时间(分) 加碱量(%) 1 1 1 1 1 A1B1C1 80 9O 5 2 1 2 2 2 A1B2C2 8O 1 2O 6 3 1 3 3 3 A1B3C3 8O 1 5O 7 4 2 1 2 广_J\ L—_1/ 4 A2B1C2 85 9O 6 , 5 2 2 3 5 A2B2C3 85 1 20 7 6 2 3 1 6 A2B3C1 85 1 5O 6 7 3 1 3 7 A3B1C3 90 90 7 8 3 2 1 8 A3B2C1 90 1 20 5 9 3 3 2 9 A3B3C2 90 1 5O 5 图1正交试验设计图例 ・88・2011.05・信息安全与技术 测试分析・Testing and Analysis }while(队列不为空)I } 通过上述的回溯算法,计算出当前因素和水平的两两正交 少了试验次数,可获得最优的条件组合。但其试验结果若用人 工计算则十分烦琐、费时、且易出差错,本文介绍基于正交试验 的测试用例自动生成工具就能够基本上避免了上述人工计算 正交表的缺陷[6】。本文简单介绍了正交表构造算法,同时通 的正交表,存入到了内存中,然后通过将对应位置上的对应值 替换成各个因素的水平值,就得到了对应的测试用例集合。 3.2正确性验证 对于2.2中例子,其中存在三个因素A,B,C。每个因素 存在三个水平,输入到程序输入模板的就是四列三行,具体如 图2因素水平Excel模板部分所示。其中模板第一行灰色部 分是因素名称,对应的一列是其对应的水平(由于本工具处于 试验阶段,很多方面还不完善,因此输入因素水平部分必须严 格遵守模板要求)。 然后通过工具算法调用接口,如图2工具计算接口部分所 示,然后通过产生用例按钮,调用正交表生成算法,当程序计算 完后,会将结果导入到结果指定格式的Excel表格中,如图2 生成测试用例部分所示。 应用本正交试验的工具,将因素和水平输入工具制定 Excel表格模板,,然后通过工具的接口,导人到本工具,通过 点击产生用例按钮,计算产生结果并将结果输入到Excel表格 中。如图2所示。 通过程序产生的测试结果如表2所示,通过与表l中通过 查找正交表运用数学方法推导出的测试用例对比,结果一致, 验证了本程序的正确性。 4.结论 正交试验广泛用于各种学科的试验研究中。例如,农业最 佳土肥条件研究、软件测试测试用例设计、物理和化学实验条 件研究等。按正交表完成的、格式化的研究路线设计、大大减 表2工具自动生成测试用例 测试用例 温度 ) 时问(分) -“加五l誊叠 l 80。C 9O分钟 5% 80。C 1 2O分钟 60/o6 80。C 1 5O分钟 7% 85℃ 90分钟 6% 85。C 1 2O分钟 7o/06 90。C 90分钟 7% 90。C 1 50分钟 5% 90。C 1 2O分钟 5960 85。C 1 50分钟 6% 过具体实例验证了程序核心算法的正确性,但是本工具仅仅实 现了两两正交的方法构造正交表,对于更加复杂的正交表的构 造上还存在其局限性,还需要进一步的完善。 参考文献 [1】陈策,王凤琴,赵绍才.正交试验及其在软件测试用例 设计中的应用[J].计算机应用与软件,[J】.2008.25:158—160. [2]徐仲安等.正交试验设计法简介[M].科技情报开发与经 济,2002,12(5):148-150. [3】吴翊等.应用数理统计[M】.国防科技大学出版社,1995. [4]庞善起,张应山.构造正交表的分层方法[J].高校应用 数学学报A辑,2001,16(2):209-212. 【5]柳纯录,黄子河,陈渌萍.软件评测师教程[M].清华大 学出版社,2005. [6宁岷波,刘敏,赵海香.计算机在正交试验中的应用[6]J]. 张交口农专学报,1999,15(4):52-55. 基金项目 “核高基”科技重大专项.项目编号No 2009ZX01045 0O42009ZX01045-005.。 作者简介: 陈磊(1 982-),男,北方工业大学,计算机应用技术,硕士.软件评测 师;主要研究领域为软件和信息系统测试、协议一致性测试。 简炜(1985-).男.北京邮电大学.工程硕士.软件评测师:主要研究 领域为软件和信息系统测试。 图2程序截图 信息安全与技术・2011.05・89・ 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top