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

测试分析·Testing and Analysis

计算机实现基于正交试验的

测试用例自动生成

陈磊 简炜

(中国软件评测中心 北京100048)

【摘要】在软件测试过程中,想达到完全的测试在项目有限的时间和人力物力的局限之下,是不容易实现的,利用一些黑盒测试用例生成方法能够节省时间和资源、提高效率。本文主要是通过研究基于正交试验的测试用例设计方法,设计并实现了基于正交实验法的测试用例生成工具,最后通过实验检验了本工具的结果的正确性。【关键词】正交试验;正交表;功能测试

Realization Orthogonal Experiment Test Cases by Computer

Chen Lei Jian Wei

(China Software Testing Center Beijing100048)

Software testing want a complete test is not possible. Some black-box testing use case generation method can save time and resources 【Abstract】

and improve effi ciency. This article studies the test cases based on orthogonal experiment design method was designed and implemented based on the orthogonal experiment of test case generation too. The fi nal experiments tested the correctness of results of this tool.Orthogonal Experiment; Orthogonal Table; Function Tests【Keywords】

1. 引言

在功能测试的测试用例设计过程中,存在着多个输入参数(假设有n 个参数),每个输入参数的有多种取值的情况(假设每个参数有m 个参数),如果要是做一个完全测试,需要设计mn 个测试用例,这在项目的工期、项目投入的人力物力等外界因素的影响之下是不太容易实现的。正交试验方法就是研究多个因素(多个输入参数)多水平(每个参数的多种取值情况)的一种设计方法,它根据正交性从全面试验中挑选出部分有代表性的点进行试验,是一种合理安排试验的方法,它能用较少的试验方案取得较好的试验效果,应用本方法设计测试用例,也能够通过较少的测试用例取得较好的测试结果[1]。

正交试验是统计数学的重要分支,它以概率论和数理统计为基础,利用标准化的正交表安排试验方案[2]。正交表是一整套规则的设计表格, 每一列中不同的数字出现的次数相等,任意两列中数字的排列方式齐全且均衡。正交表的均衡分散整齐可比的优良性, 为它的应用开辟了广阔的前景。依据

Galois 理论,正交试验设计方法是从大量的试验数据中挑选适量的、有代表性的点,从而合理地安排测试的一种科学的试验设计方法[3]。正交试验法,就是使用已经造好了的正交表来安排试验并进行数据分析的一种方法。它简单易行并且计算表格化,应用性较好。人们在实际工作中也经常使用混合水平的正交表, 因为不同的因素需要不同的水平数。许多统计学家曾致力于混合水平正交表的构造和应用。当前对质量控制和产品改进的强调使这个领域的研究更充满了活力[4]。

2. 正交试验简介

2.1正交试验法及其优越性

在利用正交实验设计测试用例方法中,首先,要提取功能说明构造因素状态表,根据被测软件的规格说明书找出影响功能的内部对象和外部因素作为因素,然后把各个因素的不同状态作为水平。对软件的需求规格说明书中的功能要进行划分,把整体的、概要的功能要求进行分解、展开。这样就能够确定了影响软件的因素及其对应的水平。因此,因素及其水平的确

信息安全与技术・2011.05・87・

Testing and Analysis·测试分析

定的精确与否,将会影响整个测试用例设计的好和坏;其次,通过加权筛选,构造因素分析表。对因素和水平的选择可按照其权重程度划分。最后,依据Golois 理论构造正交表,生成测试用例。

利用正交试验设计方法设计测试用例,与其它测试用例设计方法相比,更加的节省了工作时间,并且是测试用例的数量在可控制的范围内,并且测试用例也具有令人满意的覆盖率。正交试验法在软件测试中是一种有效的方法,例如在平台参数配置方面,我们要选择哪种组合方式是最好的,每个参数可能就是一个因子,参数的不同取值就是水平,这样我们可以采用正交试验法设计出最少的测试组合,达到有效的测试目的[5]。

即对每个因子的每个水平都要同等看待。具体来说,每个平面上都有3行、3列,要求在每行、每列上的点一样多。这样,作出如图1所示的设计,试验点用⊙表示。我们看到,在9个平面中每个平面上都恰好有3个点,而每个平面的每行每列都有1个点,而且只有1个点,总共9个点。这样的试验方案,试验点的分布很均匀,试验次数也不多。

经过分析计算,查找 L9(33)正交表,得到测试用表1所示,其中在测试用例列中的每一行就是一个测试用例。

3. 基于正交试验的测试用例计算机实现

基于正交试验法的测试用例自动生成工具主要是从给定的电子表格模版中取出数据,然后通过在内存中计算,最后将结果输出到电子表格中方便参照生成的用例进行功能测试以及最后的备份归档。

2.2 正交试验方法操作使用流程

在文献[5]中有例题:为提高某化工产品的转化率,选择了三个有关因素进行条件试验,反应温度(A),反应时间(B),用碱量(C),并确定了它们的试验范围如下;

A :80~90℃;B :90~150分钟;C :5%~7%。

试验目的是搞清楚因子A、B、C 对转化率有什么影响,哪些是主要的,哪些是次要的,从而确定最适生产条件,即温度、时间及用碱量各为多少才能使转化率最高。这里,对因子A、B 和C,在试验范围内都选了三个水平,如下所示。

A :A1=80℃,A2=85℃,A3=90℃;

B :B1=90分钟,B2=120分钟,B3=150分钟;C :C1=5%,C2=6%,C3=7%。

对应于A 有Al、A2、A3 3个平面,对应于B、C 也各有3个平面,共9个平面。则这9个平面上的试验点都应当一样多,

3.1正交表构造算法

在正交表的构造算法采用了回溯的方法构建正交表,具体算法如下://正交表生成

Void theAtosCls(){

清理所有的vector; int CurD=0;do{

CurD =取得队列当前值;

bRight = GetRightNumber(CurD);//当前值放在当前的正交表位置是否正确

前位置

if (bRight)//

将这个正确的值写到正交表当

表1 测试用例方案

图1正交试验设计图例

・88・2011.05・信息安全与技术

测试分析·Testing and Analysis

}

通过上述的回溯算法,计算出当前因素和水平的两两正交的正交表,存入到了内存中,然后通过将对应位置上的对应值替换成各个因素的水平值,就得到了对应的测试用例集合。

}while(队列不为空);

少了试验次数,可获得最优的条件组合。但其试验结果若用人工计算则十分烦琐、费时、且易出差错,本文介绍基于正交试验的测试用例自动生成工具就能够基本上避免了上述人工计算正交表的缺陷[6]。本文简单介绍了正交表构造算法,同时通过具体实例验证了程序核心算法的正确性,但是本工具仅仅实现了两两正交的方法构造正交表,对于更加复杂的正交表的构造上还存在其局限性,还需要进一步的完善。

3.2正确性验证

对于2.2中例子,其中存在三个因素A,B,C。每个因素存在三个水平,输入到程序输入模板的就是四列三行,具体如图2因素水平Excel 模板部分所示。其中模板第一行灰色部分是因素名称,对应的一列是其对应的水平(由于本工具处于试验阶段,很多方面还不完善,因此输入因素水平部分必须严格遵守模板要求)。

然后通过工具算法调用接口,如图2工具计算接口部分所示,然后通过产生用例按钮,调用正交表生成算法,当程序计算完后,会将结果导入到结果指定格式的Excel 表格中,如图2生成测试用例部分所示。

应用本正交试验的工具,将因素和水平输入工具制定Excel 表格模板,;然后通过工具的接口,导入到本工具,通过点击产生用例按钮,计算产生结果并将结果输入到Excel 表格中。如图2所示。

通过程序产生的测试结果如表2所示,通过与表1中通过查找正交表运用数学方法推导出的测试用例对比,结果一致,验证了本程序的正确性。

参考文献

[1] 陈策, 王凤琴, 赵绍才. 正交试验及其在软件测试用例设计中的应用[J].计算机应用与软件,[J].2008.25:158-160.[2] 徐仲安等. 正交试验设计法简介[M].科技情报开发与经济,2002,12(5):148-150.

1995. [3] 吴翊等. 应用数理统计[M].国防科技大学出版社,[4] 庞善起, 张应山. 构造正交表的分层方法[J].高校应用数学学报A 辑,2001,16(2):209- 212.

[5] 柳纯录, 黄子河, 陈渌萍. 软件评测师教程[M]. 清华大学出版社,2005.

[6] 宁岷波, 刘敏, 赵海香. 计算机在正交试验中的应用[J].张交口农专学报,1999,15(4):52-55.

基金项目:“核高基”科技重大专项,项目编号No. 2009ZX01045 -004,2009ZX01045-005。

作者简介:

陈磊(1982-),男,北方工业大学,计算机应用技术,硕士,软件评测师;主要研究领域为软件和信息系统测试、协议一致性测试。

简炜(1985-),男,北京邮电大学,工程硕士,软件评测师;主要研究

领域为软件和信息系统测试。

4. 结论

正交试验广泛用于各种学科的试验研究中。例如,农业最佳土肥条件研究、软件测试测试用例设计、物理和化学实验条件研究等。按正交表完成的、格式化的研究路线设计、大大减

表2 工具自动生成测试用例

2 程序截图

信息安全与技术・2011.05・89・

测试分析·Testing and Analysis

计算机实现基于正交试验的

测试用例自动生成

陈磊 简炜

(中国软件评测中心 北京100048)

【摘要】在软件测试过程中,想达到完全的测试在项目有限的时间和人力物力的局限之下,是不容易实现的,利用一些黑盒测试用例生成方法能够节省时间和资源、提高效率。本文主要是通过研究基于正交试验的测试用例设计方法,设计并实现了基于正交实验法的测试用例生成工具,最后通过实验检验了本工具的结果的正确性。【关键词】正交试验;正交表;功能测试

Realization Orthogonal Experiment Test Cases by Computer

Chen Lei Jian Wei

(China Software Testing Center Beijing100048)

Software testing want a complete test is not possible. Some black-box testing use case generation method can save time and resources 【Abstract】

and improve effi ciency. This article studies the test cases based on orthogonal experiment design method was designed and implemented based on the orthogonal experiment of test case generation too. The fi nal experiments tested the correctness of results of this tool.Orthogonal Experiment; Orthogonal Table; Function Tests【Keywords】

1. 引言

在功能测试的测试用例设计过程中,存在着多个输入参数(假设有n 个参数),每个输入参数的有多种取值的情况(假设每个参数有m 个参数),如果要是做一个完全测试,需要设计mn 个测试用例,这在项目的工期、项目投入的人力物力等外界因素的影响之下是不太容易实现的。正交试验方法就是研究多个因素(多个输入参数)多水平(每个参数的多种取值情况)的一种设计方法,它根据正交性从全面试验中挑选出部分有代表性的点进行试验,是一种合理安排试验的方法,它能用较少的试验方案取得较好的试验效果,应用本方法设计测试用例,也能够通过较少的测试用例取得较好的测试结果[1]。

正交试验是统计数学的重要分支,它以概率论和数理统计为基础,利用标准化的正交表安排试验方案[2]。正交表是一整套规则的设计表格, 每一列中不同的数字出现的次数相等,任意两列中数字的排列方式齐全且均衡。正交表的均衡分散整齐可比的优良性, 为它的应用开辟了广阔的前景。依据

Galois 理论,正交试验设计方法是从大量的试验数据中挑选适量的、有代表性的点,从而合理地安排测试的一种科学的试验设计方法[3]。正交试验法,就是使用已经造好了的正交表来安排试验并进行数据分析的一种方法。它简单易行并且计算表格化,应用性较好。人们在实际工作中也经常使用混合水平的正交表, 因为不同的因素需要不同的水平数。许多统计学家曾致力于混合水平正交表的构造和应用。当前对质量控制和产品改进的强调使这个领域的研究更充满了活力[4]。

2. 正交试验简介

2.1正交试验法及其优越性

在利用正交实验设计测试用例方法中,首先,要提取功能说明构造因素状态表,根据被测软件的规格说明书找出影响功能的内部对象和外部因素作为因素,然后把各个因素的不同状态作为水平。对软件的需求规格说明书中的功能要进行划分,把整体的、概要的功能要求进行分解、展开。这样就能够确定了影响软件的因素及其对应的水平。因此,因素及其水平的确

信息安全与技术・2011.05・87・

Testing and Analysis·测试分析

定的精确与否,将会影响整个测试用例设计的好和坏;其次,通过加权筛选,构造因素分析表。对因素和水平的选择可按照其权重程度划分。最后,依据Golois 理论构造正交表,生成测试用例。

利用正交试验设计方法设计测试用例,与其它测试用例设计方法相比,更加的节省了工作时间,并且是测试用例的数量在可控制的范围内,并且测试用例也具有令人满意的覆盖率。正交试验法在软件测试中是一种有效的方法,例如在平台参数配置方面,我们要选择哪种组合方式是最好的,每个参数可能就是一个因子,参数的不同取值就是水平,这样我们可以采用正交试验法设计出最少的测试组合,达到有效的测试目的[5]。

即对每个因子的每个水平都要同等看待。具体来说,每个平面上都有3行、3列,要求在每行、每列上的点一样多。这样,作出如图1所示的设计,试验点用⊙表示。我们看到,在9个平面中每个平面上都恰好有3个点,而每个平面的每行每列都有1个点,而且只有1个点,总共9个点。这样的试验方案,试验点的分布很均匀,试验次数也不多。

经过分析计算,查找 L9(33)正交表,得到测试用表1所示,其中在测试用例列中的每一行就是一个测试用例。

3. 基于正交试验的测试用例计算机实现

基于正交试验法的测试用例自动生成工具主要是从给定的电子表格模版中取出数据,然后通过在内存中计算,最后将结果输出到电子表格中方便参照生成的用例进行功能测试以及最后的备份归档。

2.2 正交试验方法操作使用流程

在文献[5]中有例题:为提高某化工产品的转化率,选择了三个有关因素进行条件试验,反应温度(A),反应时间(B),用碱量(C),并确定了它们的试验范围如下;

A :80~90℃;B :90~150分钟;C :5%~7%。

试验目的是搞清楚因子A、B、C 对转化率有什么影响,哪些是主要的,哪些是次要的,从而确定最适生产条件,即温度、时间及用碱量各为多少才能使转化率最高。这里,对因子A、B 和C,在试验范围内都选了三个水平,如下所示。

A :A1=80℃,A2=85℃,A3=90℃;

B :B1=90分钟,B2=120分钟,B3=150分钟;C :C1=5%,C2=6%,C3=7%。

对应于A 有Al、A2、A3 3个平面,对应于B、C 也各有3个平面,共9个平面。则这9个平面上的试验点都应当一样多,

3.1正交表构造算法

在正交表的构造算法采用了回溯的方法构建正交表,具体算法如下://正交表生成

Void theAtosCls(){

清理所有的vector; int CurD=0;do{

CurD =取得队列当前值;

bRight = GetRightNumber(CurD);//当前值放在当前的正交表位置是否正确

前位置

if (bRight)//

将这个正确的值写到正交表当

表1 测试用例方案

图1正交试验设计图例

・88・2011.05・信息安全与技术

测试分析·Testing and Analysis

}

通过上述的回溯算法,计算出当前因素和水平的两两正交的正交表,存入到了内存中,然后通过将对应位置上的对应值替换成各个因素的水平值,就得到了对应的测试用例集合。

}while(队列不为空);

少了试验次数,可获得最优的条件组合。但其试验结果若用人工计算则十分烦琐、费时、且易出差错,本文介绍基于正交试验的测试用例自动生成工具就能够基本上避免了上述人工计算正交表的缺陷[6]。本文简单介绍了正交表构造算法,同时通过具体实例验证了程序核心算法的正确性,但是本工具仅仅实现了两两正交的方法构造正交表,对于更加复杂的正交表的构造上还存在其局限性,还需要进一步的完善。

3.2正确性验证

对于2.2中例子,其中存在三个因素A,B,C。每个因素存在三个水平,输入到程序输入模板的就是四列三行,具体如图2因素水平Excel 模板部分所示。其中模板第一行灰色部分是因素名称,对应的一列是其对应的水平(由于本工具处于试验阶段,很多方面还不完善,因此输入因素水平部分必须严格遵守模板要求)。

然后通过工具算法调用接口,如图2工具计算接口部分所示,然后通过产生用例按钮,调用正交表生成算法,当程序计算完后,会将结果导入到结果指定格式的Excel 表格中,如图2生成测试用例部分所示。

应用本正交试验的工具,将因素和水平输入工具制定Excel 表格模板,;然后通过工具的接口,导入到本工具,通过点击产生用例按钮,计算产生结果并将结果输入到Excel 表格中。如图2所示。

通过程序产生的测试结果如表2所示,通过与表1中通过查找正交表运用数学方法推导出的测试用例对比,结果一致,验证了本程序的正确性。

参考文献

[1] 陈策, 王凤琴, 赵绍才. 正交试验及其在软件测试用例设计中的应用[J].计算机应用与软件,[J].2008.25:158-160.[2] 徐仲安等. 正交试验设计法简介[M].科技情报开发与经济,2002,12(5):148-150.

1995. [3] 吴翊等. 应用数理统计[M].国防科技大学出版社,[4] 庞善起, 张应山. 构造正交表的分层方法[J].高校应用数学学报A 辑,2001,16(2):209- 212.

[5] 柳纯录, 黄子河, 陈渌萍. 软件评测师教程[M]. 清华大学出版社,2005.

[6] 宁岷波, 刘敏, 赵海香. 计算机在正交试验中的应用[J].张交口农专学报,1999,15(4):52-55.

基金项目:“核高基”科技重大专项,项目编号No. 2009ZX01045 -004,2009ZX01045-005。

作者简介:

陈磊(1982-),男,北方工业大学,计算机应用技术,硕士,软件评测师;主要研究领域为软件和信息系统测试、协议一致性测试。

简炜(1985-),男,北京邮电大学,工程硕士,软件评测师;主要研究

领域为软件和信息系统测试。

4. 结论

正交试验广泛用于各种学科的试验研究中。例如,农业最佳土肥条件研究、软件测试测试用例设计、物理和化学实验条件研究等。按正交表完成的、格式化的研究路线设计、大大减

表2 工具自动生成测试用例

2 程序截图

信息安全与技术・2011.05・89・


相关文章

  • 正交试验法在手机软件测试用例生成中的实现
  • 第28卷第6期 2011年6月 计算机应用与软件 ComputerApplicationsandSoftware V01.28No.6 Jun.201l 正交试验法在手机软件测试用例生成中的实现 王玲玲吴进华 (海军航空工程学院控制工程系 ...查看


  • 基于VB的正交试验设计的软件开发及应用_金宁宁
  • 第30卷第1期Vol.30,No.1 西华大学学报(自然科学版) JournalofXihuaUniversity·NaturalScience 2011年1月Jan.2011 159X(2011)01-0072-04文章编号:1673- ...查看


  • 软件测试基础教程
  • 软件测试 一.概念 软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估. 二.目的 检验软件是否满足规定的需求或弄清预期结果与实际结 ...查看


  • 基于PCA的人脸识别研究报告
  • 项目名称:基于PCA 的人脸识别算法研究 摘 要 随着人类社会的进步,以及科技水平的提高,一些传统的身份认证的方法逐渐暴 露出各种问题,因此人们需要采用一种更加可靠安全的身份认证方法.毫无疑问人体 的生物特征的独一无二的,特别是其不容易丢失 ...查看


  • 常见用例设计方法介绍
  • 常见用例设计方法介绍 一. 等价类划分法 等价类划分法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例.每一类的代表性数据在测试中的作用等价于这一类中的其他值. 等价类划分可有两种不同的情况:有效等价类 ...查看


  • 基于稀疏编码的自然图像特征提取及去噪
  • • 1782 • 系 统 仿 真 学 报 V ol. 17 No. 7 JOURNAL OF SYSTEM SIMULATION July 2005 基于稀疏编码的自然图像特征提取及去噪 尚 丽1,2,郑春厚1,2 (1 中国科学院合肥分院 ...查看


  • 基于非线性有限元理论的子午线轮胎侧偏特性研究
  • 2005年11月 农 业机械学报 第36卷第11期 基于非线性有限元理论的子午线轮胎侧偏特性研究3 石 琴 陈无畏 谷叶水 张 鹏 [摘要] 将轮胎的有限元分析计算结果引入到轮胎静态侧偏特性研究中, 胎侧偏刚度.为控制网格划分的密度与质量, ...查看


  • 二维人脸识别实验报告
  • 实 验 报 告 课程名称 人工智能 实验名称 班 级 学 号 姓 名 成 绩 指导教师 实验日期 一.实验目的 (1)通过本次人脸识别实验,进一步加深图像处理和基本算法的掌握,能利用已有的算法和程序去找出和识别人脸. (2)通过本次人脸识别 ...查看


  • 铣工技师论文集
  • 模具高速铣削的刀具方案 数控铣床铣螺纹工艺的应用 数控铣削加工中刀具半径补偿问题研究 端铣六面体各面互相垂直的技巧 高精度凹圆弧面的铣削及参数选择 叶片曲面车铣加工工艺的研究 数控铣削中过切现象分析研究 双刀铣削较长齿条的研究及其应用 数控 ...查看


热门内容