分分28官网|分分28开奖网

实验:测试用例设计(三)
作者:强官涛   类型:测试开发    类别:实验   日期:2020-04-02    阅读:1314 次   消耗积分:0 分

本周分享《测试用例设计》实验内容,由于知识含量较多,现在拆分为多篇分享,今日是第一篇。

回顾上周内容,请点击




 实 验 简 介 


本实验主要讲解测试用例设计方法,包括等价类,边界值,正交试验表,判定表,流程分析法,状态迁移法,错误猜测等。



 实 验 目 的 


(1)、掌握测试用例设计方法,以便设计高效的测试用例。



 实 验 流 程 



3.正交试验表


所谓正交试验设计法,是从大量的试验点中挑选出适量的、有代表性的点,应用依据迦罗瓦理论导出的“正交表”,合理的安排试验的一种科学的试验设计方法,是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是一种基于正交表的、高效率、快速、经济的试验设计方法。


通常把判断试验结果优劣的标准叫做试验的指标,把所有影响试验指标的条件称为因子,而影响试验因子的,叫做因子的状态。

 

以上的描述比较抽象,简单一点说,正交试验法是一种用来测试组合的方法,这一点和判定表法类似,但判定表法是通过人工对全排列组合来进行化简得到测试用例的,正交试验法是借助于数学工具,通过算法从全排列组合中选择出组合并放到正交表中,这样通过查看合适的正交表就可以直接得到测试用例。


这里提到的因子可以先简单理解成输入,一个软件的各个输入就可以看成因子。这样因子的状态就是输入的取值了。

 

正交表一般根据因子数和状态数叫做几因子几状态的正交表,下面是多因子两状态的正交表:


20200402_150234_041.png


这个表实际上包含了多个正交表,比如3因子2状态正交表、7因子2状态正交表等。这些正交表中横向的因子1、2、3、4对应的是因子的个数,纵向的项目就是从全排列组合中选出的要测试的组合,也可以看成就是测试用例。这样如果有3个因子,每个因子2个状态,设计出来的测试用例共有4个;如果有7个因子,每个因子2个状态,设计出来的测试用例共有8个。


本来7因子2状态的全排列组合数为2的7次方,也就是128个,结果通过正交试验法,最后测试了8个测试用例,这样真的就测试的不错了吗?正交表的关键到底在哪里?正交表的重点在于要用最少的测试用例对两两组合进行覆盖,仔细查看一下正交表,会发现因子1的0状态和因子2到7的0状态和1状态都组合过,因子1的1状态和因子2到7的0状态和1状态都组合过。而根据经验来看,如果两两组合没有问题,更复杂的三三组合、四四组合一般也不会有太大问题。因此正交试验法是通过测试最需要测试的两两组合来减少测试用例的个数的。


正交试验表的基本观点为:如果有多个因子的多个状态进行组合,那么只要确保两两有交集即可,并不需要保证一个完整的集合。比如有4个因子,每个因子有3种状态,则需要的完全组合数为3*3*3*3=81种,而使用正交试验表,按如下进行两两相交,则只需要9种组合即可。

 

从下图中我们可以看到1,2,3,4共4个因子,每个因子有1,2,3共3个状态。任意两个因子之间,均是一个完整的组合。

20200402_150301_109.png

正交试验表主要针对一些组合的情况,比如多个搜索条件的组合,多个操作步骤的组合等。一旦组合数量太大后,测试效率将会降低,而正交试验表可以通过两两组合降低组合数量,提升测试效率。虽然覆盖面不够完整,但是却被证明是可行的。

 

  • 应用举例一:


假设一个WEB站点,该站点有大量的服务器和操作系统,并且有许多具有各种插件的浏览器浏览:

(1). WEB浏览器:Netscape6.2、IE6.0、Opera4.0

(2). 插件:       无、RealPlayer、MediaPlayer

(3). 应用服务器:IIS、Apache、Netscape Enterprise

(4). 操作系统:Windows2000、Windows NT、Linux

用正交试验法进行测试用例设计。

 

一、 提取系统功能说明中的因子:

(1). WEB浏览器

(2). 插件

(3). 应用服务器

(4). 操作系统


二、 分析各因子的状态

(1). WEB浏览器:1=Netscape6.2、2=IE6.0、3=Opera4.0

(2). 插件: 1=None、2=RealPlayer、3=MediaPlayer

(3). 应用服务器: 1=IIS、2=Apche、3=Netscape Enterprise

(4). 操作系统: 1=Windows2000、2=Windows NT、3=Linux


三、 选择正交表

确定选择4因子3状态的正交表。

 

四、 将因子、状态映射到上面正交表中:


测试用例

浏览器

插件

服务器

操作系统

1

Netscape6.2

None

IIS

Windows2000

2

Netscape6.2

RealPlayer

Apche

Windows NT

3

Netscape6.2

MediaPlayer

Netscape Enterprise

Linux

4

IE6.0

None

Apche

Linux

5

IE6.0

RealPlayer

Netscape Enterprise

Windows2000

6

IE6.0

MediaPlayer

IIS

Windows NT

7

Opera4.0

None

Netscape Enterprise

Windows NT

8

Opera4.0

RealPlayer

IIS

Linux

9

Opera4.0

MediaPlayer

Apche

Windows2000

 

  • 应用举例二:


水平数(变量的取值)相同但在正交表中找不到相同的因素数(变量),取因素数最接近但略大的实际值的表。


在某CRM项目中,对某个帐户Accounts进行basic查询:

假设查询该活动有5个查询条件:

  根据“Name”进行查询

  根据“Billing City”查询

  根据“Phone Office”查询

  根据“Billing Address”查询

  根据“Only my items”查询


有五个因素:

  Name、Billing City、Phone Office、Billing Address和Only my Items


每个因素有两个水平

  Name:填、不填

  Billing City:填、不填

  Phone Office:填、不填

  Billing Address:填、不填

  Only my Items:填、不填

 

在我们的正交表中,没有对应的5因子两状态的表格。

与其比较接近的正交表有7因子2状态,5因子4状态,6因子5状态

表中的因素数>=5

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


相比较而言,7因子2状态的用例个数最少,所以我们就选择这个正交表来套用。

它只需要8个用例即可。

我们制定规则:0代表不填写,1代表填写


测试用例如下:

Name填写、Billing City填写、Phone Office填写、Billing Address填写、Only my items填写

Name填写、Billing City填写、Phone Office填写、Billing Address不填、Only my items不填

Name填写、Billing City不填、Phone Office不填、Billing Address填写、Only my items填写

Name填写、Billing City不填、Phone Office不填、Billing Address不填、Only my items不填

Name不填、Billing City填写、Phone Office不填、Billing Address填写、Only my items不填

Name不填、Billing City填写、Phone Office不填、Billing Address不填、Only my items填写

Name不填、Billing City不填、Phone Office填写、Billing Address填写、Only my items不填

Name不填、Billing City不填、Phone Office填写、Billing Address不填、Only my items填写


增补测试用例

Name不填、Billing City填写、Phone Office不填、Billing Address不填、Only my items不填

Name不填、Billing City不填、Phone Office填写、Billing Address不填、Only my items不填

Name不填、Billing City不填、Phone Office不填、Billing Address填写、Only my items不填

Name不填、Billing City不填、Phone Office不填、Billing Address不填、Only my items填写

Name不填、Billing City不填、Phone Office不填、Billing Address不填、Only my items填写

 

5因子2状态,总共组合个数是32种情况,而我们这里只使用了13个用例,大大减少了测试的个数。


  • 正交试验表生成工具pict的使用


(1). 先从网上下载pict33.msi工具并完成安装(目前只支持较老版本的Windows,如WindowsXP)


(2). 构建一个因子和状态的文本文件,命名为pict-test.txt,内容如下:


类型:主要,逻辑,单个,跨度,条纹,镜像,RAID-5

尺寸:10,100,500,1000,5000,10000,40000

格式化方法:快,慢

文件系统:FAT,FAT32,NTFS

簇大小:512,1024,2048,4096,8192,16384,32768,65536

压缩:打开,关闭

注意上述文件中的冒号和逗号都必须为英文半角状态下的标点符号。


(3). 运行命令pict pict-test.txt > pict-result.txt,生成的组合数如下:


类型 尺寸 格式化方法 文件系统 簇大小 压缩

镜像 10 快 FAT 32768 关闭

RAID-5 10 慢 FAT32 512 打开

条纹 500 快 NTFS 512 关闭

跨度 1000 慢 NTFS 1024 打开

主要 100 快 FAT32 16384 关闭

单个 1000 慢 FAT 8192 关闭

主要 5000 慢 FAT 2048 打开

RAID-5 40000 快 NTFS 8192 打开

逻辑 10 慢 NTFS 65536 打开

跨度 100 快 FAT 65536 关闭

镜像 10000 慢 FAT32 65536 打开

逻辑 1000 快 FAT32 512 关闭

逻辑 40000 慢 FAT 4096 关闭

单个 1000 快 NTFS 4096 打开

条纹 500 慢 FAT32 32768 打开

镜像 100 快 NTFS 2048 关闭

跨度 10 慢 FAT32 4096 关闭

单个 40000 快 FAT32 65536 关闭

RAID-5 5000 快 FAT 65536 关闭

条纹 1000 慢 FAT32 2048 打开

主要 10000 快 NTFS 8192 关闭

跨度 10000 慢 FAT 16384 打开

主要 1000 慢 FAT32 65536 打开

单个 5000 快 FAT32 1024 关闭

RAID-5 100 慢 FAT 1024 打开

单个 500 慢 NTFS 2048 关闭

镜像 500 快 FAT 1024 打开

条纹 100 快 FAT 4096 打开

主要 40000 快 FAT32 1024 关闭

单个 10 快 NTFS 16384 打开

逻辑 5000 慢 NTFS 32768 关闭

条纹 10 慢 FAT 1024 关闭

主要 500 慢 NTFS 4096 关闭

镜像 1000 快 FAT 16384 打开

条纹 40000 快 FAT 16384 关闭

镜像 10 慢 FAT32 8192 打开

跨度 40000 快 NTFS 32768 关闭

逻辑 10000 慢 NTFS 1024 关闭

跨度 5000 快 FAT 512 打开

逻辑 100 慢 FAT32 8192 打开

RAID-5 500 快 NTFS 16384 打开

条纹 5000 慢 NTFS 8192 关闭

镜像 5000 慢 NTFS 4096 关闭

跨度 500 快 FAT 65536 关闭

跨度 10000 慢 NTFS 2048 打开

条纹 10000 快 FAT32 65536 关闭

主要 10 快 FAT 2048 关闭

RAID-5 10000 慢 NTFS 4096 打开

主要 10000 快 NTFS 32768 打开

RAID-5 1000 快 FAT32 32768 打开

主要 10000 快 FAT 512 关闭

镜像 40000 慢 FAT32 512 打开

单个 100 慢 NTFS 512 关闭

逻辑 500 快 FAT32 16384 关闭

单个 100 慢 NTFS 32768 打开

镜像 5000 快 FAT32 16384 关闭

跨度 500 慢 FAT 8192 打开

RAID-5 40000 慢 FAT 2048 关闭

逻辑 10 快 FAT 2048 关闭

单个 10000 慢 FAT32 65536 打开

 

  • 实际应用

正交试验法可以应用在以下情况:

(1). 单个功能测试:每个输入是因子,每个输入的取值是状态。


(2). 功能组合测试:每个功能是因子,是否包含功能是状态,也就是每个因子有2个状态。例如手机有多个功能,比如接听电话、接收短消息、播放音乐、游戏、闹钟等,这对这些功能可单独进行测试,但还需要针对这些功能的同时使用来进行测试。这样就会借助于正交试验法,每个功能是个因子,每个因子2个状态,这样需要选择一个7因子2状态的正交表(实际因子数为5)。需要注意正交表中全为0状态(对应不包含)的情况就没必要进行测试了。


(3). 配置测试:每个配置项是因子,每个具体配置是状态。比如针对cpu进行测试,需要考虑cpu和主板、内存、显卡、声卡等配置项组合在一起后是否能正常工作,这样每个配置项就是因子,而实际的型号就是状态。

 

  • 总结

正交试验法能借助于正交表快速的设计测试用例,在工作中有着广泛的应用,但需要注意由于正交表是数学推导出来的,因此其中包含的组合并不考虑实际取值的意义,因此可能出现正交表中包含的组合不一定是用户常用的,或者用户常用的组合并未包含在正交表中。这样就需要在使用正交试验法的时候,注意选出来组合的实际意义,删除无效的组合,补充漏掉的常见的组合。


下周分享:测试用例设计(四)



为了答谢大家对蜗牛学院的支持,蜗牛学院将会定期对大家免费发放干货,敬请关注蜗牛学院的官方微信。




20190320_095757_834.jpg

版权所有,转载本站文章请注明出处:蜗牛学院在线课堂, http://www.mountsinaibaptistchurch.org/note/472
上一篇: 资讯:​90%的公司都因为忽略了这件事,所以才一直发展缓慢! 原创 涛哥 蜗牛IT教育 昨天
下一篇: 资讯:请注意!您的奖品即将送达
提示:登录后添加有效评论可享受积分哦!