测试思想-测试设计 测试用例设计之正交法

简介: 测试思想-测试设计 测试用例设计之正交法

测试用例设计之正交法


什么是n阶拉丁方?

n个不同的拉丁字母排成一个n阶方阵n<26),如果每行的n个字母均不相同,每列的n个字母均不相同,即每个字母在任一行、任一列中只出现一次,则称这种方阵为n*n拉丁方n阶拉丁方

如,3阶拉丁方

 


什么是正交拉丁方?

设有两个n阶的拉丁方,如果将它们叠合在一起,恰好出现n^2个不同的有序数对,则称为这两个拉丁方为互相正交的拉丁方,简称正交拉丁方

用数字替代拉丁字母

 


  正交试验设计的基本概念

在一项试验中,把影响试验结果的量称为试验因素(因子),简称因素。因素可以理解为试验过程中的自变量,试验结果可以看成因素的函数。在试验过程中,每一个因素可以处于不同的状态或状况,把因素所处的状态或状况,称为因素的水平,简称水平。

 

将正交试验选择的水平组合,列成表格,称为正交表。

正交表具有以下两个特点,即正交性。正交表必须满足这两个特点,有一条不满足,就不是正交表。

1每列中不同数字出现的次数相等这一特点表明每个因素的每个水平与其它因素的每个水平参与试验的几率是完全相同的,从而保证了在各个水平中最大限度地排除了其它因素水平的干扰,能有效地比较试验结果并找出最优的试验条件。

2在任意2列其横向组成的数字对中,每种数字对出现的次数相等。这个特点保证了试验点均匀地分散在因素与水平的完全组合之中,因此具有很强的代表性

 

正交试验设计(Orthogonal experimental design)是研究多因素多水平的一种设计方法,它是根据正交性,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找出最优的水平组合。

例如,要考察正常值、错误值和边界值对某软件界面的影响。每个因素设置3个水平进行试验。A因素是正常值,设A 1A 2A 3  3个水平;B因素是错误值,设B 1B 2B 3  3个水平;C因素为边界值,设C 1C 2C 3  3个水平。这是一个3因素3水平的试验,各因素的水平之间全部可能组合有27(3^3)种。

全面试验:可以分析各因素的效应,交互作用,也可选出最优水平组合。但全面试验包含的水平组合数较多,工作量大,在有些情况下无法完成。

若试验的主要目的是寻求最优水平组合,则可利用正交表来设计安排试验。

正交试验设计的基本特点是:用部分试验来代替全面试验,通过对部分试验结果的分析,了解全面试验的情况。

正因为正交试验是用部分试验来代替全面试验的,它不可能像全面试验那样对各因素效应、交互作

用一一分析;当交互作用存在时,有可能出现交互作用的混杂。虽然正交试验设计有上述不足,但它能通过部分试验找到最优水平组合,因而很受实际工作者青睐。

 

如对于上述3因素3水平试验,若不考虑交互作用,可利用正交表L9 (33)安排,它表示需作9次实验,最多可观察3个因素,每个因素均为3水平,试验方案仅包含9个水平组合,就能反映试验方案包含27个水平组合的全面试验的情况,找出最佳的生产条件。

 

正交试验设计方法

与一般的试验设计类似,用正交试验设计方法设计测试用例时主要包括以下步骤:

(1) 确定因素

这里的因素是指对软件运行结果有影响的软件

(2) 确定因素的取值范围或集合(该步是为步骤3做准备的)

因素的取值范围是指软件输入的取值范围或集合以及可用的硬件资源。

(3) 确定每个因素的水平

根据因素的取值范围或集合,采用等价类划分、边界值分析以及其他软件测试技术,在每个因素的取值范围或集合内挑选出有效等价类、无效等价类、正好等于、刚刚大于或刚刚小于边界值等有代表性的测试值。

(4) 选择正交表

根据确定的因素和水平,选择适合的正交表。

如果没有合适的正交表可用或需要的测试用例个数太多,要对因素和水平进行调整。

正交表的构成:

l  行数(Runs):正交表中的行的个数,即试验的次数,也是通过正交实验法设计的测试用例的个数

l  因素数(Factors):正交表中列的个数,即要测试的功能点。

l  水平数(Levels):任何单个因素能够取得的值的最大个数,即要测试功能点的输入值

L行数(水平数因素数)

如:L8(27)

 


 


如:L9(34)

 


扩展的正交表

L84×24

行数为mn型的正交表中

试验次数(行数)=∑(每列水平数-1)+1

例:53水平因子及一个2水平因子,表示为35*21,试验次数=5*(3-1)+1*(2-1)+112

L1235*21

 

(5) 测试结果分析

加上你认为可疑且没有在表中出现的组合。

 

应用举例

1:因素数与水平数刚好符合正交表 

 

? 确定因素及因素的水平

个人信息查询系统中的一个窗口

要测试的控件有3个,也就是要考虑的因素有三个;

? 姓名

? 身份证号码

? 手机号码

每个因素里的状态即水平,有两个:填与不填。

 


?选择正交表

表中的因素数>=3

表中至少有3个因素数的水平数>=2

行数取最少的一个,即试验次数最少的一个

说明:并不是我们想要什么正交表就有什么正交表,有的正交表是没有被设计出来的,我们选取正交表时只能从现有的正交表中进行选择,而且选择的正交表要满足上述中的因素数和因素水平,在这个前提下选择试验次数最少的一个。

从正交表公式中开始查找,结果为:L4(23)

 

   ?生成正交表(我比较笨,也懒得不查表,直接用工具生成的)

   

 

 

?编写测试用例

1:填写姓名、填写身份证号、填写手机号

2:填写姓名、不填身份证号、不填手机号

3:不填姓名、填写身份证号、不填手机号

4:不填姓名、不填身份证号、填写手机号

 

?增补测试用例

5:不填姓名、不填身份证号、不填手机号

 

测试用例可以看出:如果按每个因素两个水平数来考虑的话,需要8个测试用例,而通过正交实验法进行的测试用例只有5个,大大减少了测试用例数。用最小的测试用例集合去获取最大的测试覆盖率。

 

2ppt打印的需求

假设功能描述如下:

打印范围:全部、当前幻灯片、给定范围

打印内容:幻灯片、讲义、备注页、大纲视图

打印颜色/灰度:颜色、灰度、黑白

打印效果:幻灯片加框和幻灯片不加框两种方式

 

被测项目中一共有四个被测对象,每个被测对象的状态都不一样。

?选择正交表:

1、表中的因素数>=4

2、表中至少有4个因素的水平数>=2

3、行数取最少的一个

4、最后选中正交表公式:L16(45)

问题:多出一个因素咋办?没事,空着就好了

 


?生成表

 


?编写测试用例

 

dpf版下载地址:

测试用例设计之正交法.pdf

 

目录
相关文章
|
12月前
|
人工智能 自然语言处理 JavaScript
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
Magnitude是一个基于视觉AI代理的开源端到端测试框架,通过自然语言构建测试用例,结合推理代理和视觉代理实现智能化的Web应用测试,支持本地运行和CI/CD集成。
1865 15
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
|
机器学习/深度学习 数据采集 人工智能
【专栏】AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。
2006 6
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
471 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
|
测试技术 数据库
『软件测试2』 关于黑盒测试和测试用例的基础知识
该文章讲解了黑盒测试的基本概念以及如何编写有效的测试用例,包括选择合适的输入数据、预期结果的设定和测试执行的步骤。
|
测试技术 数据安全/隐私保护
软件测试的艺术:如何高效地编写测试用例
【9月更文挑战第2天】在软件开发的海洋中,测试用例是导航灯塔,指引着质量保障的航向。本文将带你航行于测试用例编写的技巧之海,从理解需求到设计思路,再到实际执行,我们将一起探索如何高效而精准地构建测试用例,确保软件的稳健与可靠。
421 1
|
测试技术
测试与开发问题之测试用例设计的重点是什么,如何实现
测试与开发问题之测试用例设计的重点是什么,如何实现
282 1
|
Web App开发 测试技术 数据安全/隐私保护
软件测试: 测试用例
软件测试: 测试用例
|
Java 测试技术 API
SpringBoot单元测试快速写法问题之计算测试用例的分支覆盖率如何解决
SpringBoot单元测试快速写法问题之计算测试用例的分支覆盖率如何解决
|
机器学习/深度学习 人工智能 算法
深入分析自动化测试中AI驱动的测试用例生成
【5月更文挑战第4天】随着人工智能(AI)技术的飞速发展,其在软件测试领域的应用也日益广泛。特别是在自动化测试过程中,AI技术能够显著提高测试用例的生成效率和质量。本文将探讨AI在自动化测试用例生成中的应用原理、优势以及面临的挑战,并展示通过AI技术优化测试流程的实际案例。
1172 8
|
测试技术
如何管理测试用例?测试用例有什么管理工具?YesDev
该文档介绍了测试用例和测试用例库的管理。测试用例是描述软件测试方案的详细步骤,包括测试目标、环境、输入、步骤和预期结果。测试用例库用于组织和管理这些用例,强调简洁性、完整性和可维护性。管理者可以创建、删除、重命名用例库,搜索和管理用例,以及通过层级目录结构来组织用例。此外,还支持通过Excel导入和导出测试用例,以及使用脑图查看用例关系。后台管理允许配置全局别名,如用例状态、优先级和执行结果。