《软件测试技术实战 设计、工具及管理》联载-9

简介: 《软件测试技术实战 设计、工具及管理》联载-9

2.3.2  从状态转换图到状态转换表

状态转换图也可以转换为状态转换表,方法是:表头和第一列依次对应各个节点,如果这个节点与所对应的节点有链接,在表中值为边值,否则值为X。视频播放软件状态转换表见表2-14


2-14                                                 视频播放软件状态转换表


开机

运行

快进

停机

开机

X

X

X

X

运行

a

X

d

X

快进

X

b

c

X

停机

X

e

X

X

 

对于表2-14,可以设计进行破环性测试用例,主要针对表中的X地方,如:快进到停机为X,这样可以设计一个测试用例,当播放软件处于快进阶段,强制按停止键,看系统会发生什么反应,说不定这里就有一个Bug(对于用户友好性测试的建议,当系统处于播放时,【运行】按键是虚的;当系统处于快进时,【停止】按键是虚的;当系统处于停止时,【快进】按键是虚的。)


2.3.3  业务流程状态转化法

笔者在软件测试实践中,发现状态转换法也可以运用在流程控制系统测试用例设计中,以设计出对每一个环节进行有效遍历的测试用例。


案例2-11:电子商务购物。

2-8是电子商务购物的业务流程状态转化图。


image.png

2-8  电子商务购物的业务流程状态转化图


由于图2-8很复杂,所以只需对关键部分进行0-switch展开就够了,如图2-9所示。


image.png

2-9  电子商务购物的业务流程状态转化树


这样设计出以下5个测试用例。

1)登录->首页->查看商品->查看商品详情->下单->付款。

2)登录->首页->修改用户信息->返回首页->查看商品->查看商品详情->查看其他商品详情->下单->付款。

3)登录->首页->查看商品详情->下单->付款。

4)登录->首页->查看商品详情->查看购物车->下单->付款。

5)登录->首页->重置密码->返回首页->查看商品详情->查看商品->查看购物车->下单->付款。

注:这里默认查看商品详情就是把这个商品放入了购物车。

 

对于业务流程,设计到0-switch就可以了。


2.5  运用正交法设计测试用例


案例2-14:网站兼容性组合测试[J1]

本节介绍采用正交法设计多种组合情况下的测试用例。

下面是软件测试某网站系统的例子。[J2]

18种浏览器:IE9IE10IE11Netscape9.0、火狐36Safari5.3Firefox 35、百度7.2

23Office插件:Office 2007Office 2010Office 2013

36种客户端操作系统:Windows XPWindows VistaWindows 8.0Windows 8.1Windows 9Windows 9.1

43种服务器软件:IISApacheWebLogic

53种服务器端操作系统:Windows 2003Windows 2008Linux


如果达到100%组合的软件测试,需要设计8×3×6×3×3=1296个测试用例,这个数据非常庞大,利用正交法可以在最大程度上减少测试用例,而且可以保证软件测试一定的可靠性。下面简单介绍一下正交法。


2.5.1  正交法

正交法又称两两组合法,它保证测试用例中的两两组合不同,但两两覆盖所有的组合。比如,现在有3个变量,每个变量有两种取值,标记为01。这样,测试用例为2×2×2=8个,这种情况下的正交表见表2-15


2-15                                                          L4(23)正交表

行号

A

B

C

1

0

0

1

2

1

0

0

3

0

1

0

4

1

1

1

 

1[J3] 324行,AB分别对应00[J4] 011011(满足了01的所有4种组合);[J5]

2134行,BC分别对应00011011(满足了01的所有4种组合);

3124行,AC分别对应00011011(满足了01的所有4种组合)。

这样,8个测试用例就被简化为4个,减少率为50%。这种情况标记为:

L4(23)

这里,2代表有2个取值,3代表有3个变量,4代表有4种组合。


2.5.2  浏览器组合软件测试

下面介绍本节开始的那个网站如何使用正交法来设计测试用例。

18种浏览器:IE9IE10IE11Netscape9.0、火狐36Safari5.3Firefox 35、百度7.2

23Office插件:Office 2007Office 2010Office 2013

36种客户端操作系统:Windows XPWindows VistaWindows 8.0Windows 8.1Windows 9.0Windows 9.1

43种服务器软件:IISApacheWebLogic

53种服务器端操作系统:Windows 2003Windows 2008Linux

8个取值有1个,6个取值有1个,3个取值有3个,所以需要找到是否存在816133正交表,这样的正交表不存在,但是在正交表中找到了最接近的L648243)表,为此需要对原来的取值进行调整,加入No used选项,调整后的结果如下。

18种浏览器:IE9IE10IE11Netscape9.0、火狐36Safari5.3Firefox 35、百度7.2

23Office插件Office 2007Office 2010Office 2013No used

36种客户端操作系统:Windows XPWindows VistaWindows 8.0Windows 8.1Windows 9.0Windows 9.1No usedNo used

43种服务器软件:IISApacheWebLogicNo used

53种服务器端操作系统:Windows 2003Windows 2008LinuxNo used


L648243)的正交表如图2-13所示。

 


image.png

2-13  L648243)正交表


用相应的值代替表中的数字,见表2-16所示。


2-16                                             网站兼容性测试与正交表替换

编号

浏览器

Office插件

客户端操作系统

服务器软件

服务器端操作系统

1

IE 9

Office2007

Windows XP

IIS

Windows 2003

2

IE 10

Office2010

Windows  Vista

Apache

Windows 2008

3

IE 11

Office2013

Windows 8.0

WebLogic

Linux

4

Netscape 9.0

No used

Windows 8.1

No used

No used

5

火狐36


Windows 9.0



6

Safari5.3


Windows 9.1



7

Firefox 35


No used



8

百度7.2


No used



 

把所有的值都代入L648243)正交表,得到如表2-17所示。

 

 

2-17                                                         得到的测试用例

编号

浏览器

Office插件

客户端操作系统

服务器软件

服务器端操作系统

1

IE 9

Office 2007

Windows XP

No used

Windows 2003

2

IE 9

No used

Windows 8.0

No used

No used

3

IE 9

No used

Windows Vista

IIS

No used

4

IE 9

Office 2007

Windows 8.1

WebLogic

Windows 2003

5

IE 9

Office 2013

Windows 9.0

Apache

Linux

6

IE 9

Office 2010

Not used

Apache

Windows 2008

7

IE 9

Office 2010

Windows 9.1

WebLogic

Windows 2008

8

IE 9

Office 2013

Not used

WebLogic

Linux

9

IE 10

No used

Windows XP

Apache

Linux

10

IE 10

Office 2007

Windows 8.0

Apache

Windows 2008






 

这样,1296个测试用例就被简化为64个,减少率为95%。关于正交表如何获得,是有许多工具可以产生的,读者可以在网上搜索。


顾翔凡言:

敏捷具有适用性,即使用了敏捷,也不要做成假敏捷,掌握敏捷的真谛。

目录
相关文章
|
Java 测试技术 开发工具
软件测试技术实战 设计、工具及管理》联载-36
软件测试技术实战 设计、工具及管理》联载-36
131 0
软件测试技术实战 设计、工具及管理》联载-36
|
监控 网络协议 测试技术
《软件测试技术实战 设计、工具及管理》联载-23
《软件测试技术实战 设计、工具及管理》联载-23
85 0
《软件测试技术实战 设计、工具及管理》联载-23
|
测试技术 数据库 数据安全/隐私保护
《软件测试技术实战 设计、工具及管理》联载-38
《软件测试技术实战 设计、工具及管理》联载-38
74 0
《软件测试技术实战 设计、工具及管理》联载-38
|
测试技术
《软件测试技术实战 设计、工具及管理》联载-8
《软件测试技术实战 设计、工具及管理》联载-8
108 0
《软件测试技术实战 设计、工具及管理》联载-8
|
测试技术
软件测试技术实战 设计、工具及管理》联载-56
软件测试技术实战 设计、工具及管理》联载-56
72 0
软件测试技术实战 设计、工具及管理》联载-56
|
测试技术 程序员 Linux
《软件测试技术实战 设计、工具及管理》联载-3
《软件测试技术实战 设计、工具及管理》联载-3
96 0
《软件测试技术实战 设计、工具及管理》联载-3
|
SQL 测试技术 数据库
《软件测试技术实战 设计、工具及管理》联载-16
《软件测试技术实战 设计、工具及管理》联载-16
85 0
《软件测试技术实战 设计、工具及管理》联载-16
|
传感器 编解码 测试技术
《软件测试技术实战 设计、工具及管理》联载-37
《软件测试技术实战 设计、工具及管理》联载-37
85 0
《软件测试技术实战 设计、工具及管理》联载-37
|
监控 Oracle 关系型数据库
软件测试技术实战 设计、工具及管理》联载-34
软件测试技术实战 设计、工具及管理》联载-34
88 0
软件测试技术实战 设计、工具及管理》联载-34
|
存储 云安全 安全
软件测试技术实战 设计、工具及管理》联载-27
软件测试技术实战 设计、工具及管理》联载-27
89 0

热门文章

最新文章

下一篇
开通oss服务