转自:http://www.51testing.com/html/54/n-247254.html

 

摘要:本文介绍了我们公司内部的一种测试方法——冲突测试的含义,并就冲突测试在我司使用范围、冲突测试用例的设计方法等做了简单的介绍。

  关键词:冲突测试

  1、什么是冲突测试

  冲突测试是我们公司内部的一种叫法,可能不同的公司叫法不同。我们公司所谓的冲突测试是指,在运行某一程序的功能时被第三方功能或者软件给干扰的测试。该测试方法模拟的是一种基于软件状态场景的测试。从软件的运行状态来看,我们认为软件状态一般只有开始、挂起、结束,这三种状态。冲突测试即为模拟干扰软件运行“开始”、“挂起”、“结束”状态的测试。

  2、冲突测试的应用范围和一些应用场景

  冲突测试这种测试方法,常见于手机软件测试、移动通信类嵌入式软件测试等领域。但在一些桌面软件或者Web系统测试领域当中也可应用,只是应用的场景并不如移动通信类软件这么广泛。

  下面简单介绍一下其不同软件类型中的典型应用场景:

  手机软件:

  比如在收短信时,来个电话的场景;

  在播放视频过程中,插入了USB;

  在通话过程中,收到了一个短信等等。

  移动通信类嵌入式软件:

  移动通信类嵌入式软件,大多是基于3G网络应用的软件。比如一些车载软件,将此类终端装在汽车上,就可以实现类似基于手机功能,并整合互联网娱乐的功能的软件。典型软件类型,如丰田公司的“G-BOOK”、比亚迪的“i”系统等。

  其测试场景比如:

  在下载导航的过程中,来了一个即时消息;

  在播放音乐的过程中,来了一个电话;

  在蓝牙连接的过程中,又接收到了一个新的蓝牙连接请求等等。

  桌面软件或者Web系统:

  桌面软件或Web系统的冲突测试,常见于多线程程序、具有多系统合作程序、多权限管理的程序。

  多线程程序:

  比如某查询功能,由于数据量很多,查询后有一个等待加载完成的状态线程。这时我们就可以通过关闭标签或者页面,结束这个等待的状态线程;

  有某导出数据的功能,在导出数据等待过程中,关闭标签或者页面,结束这个等待的状态线程。

  ……………………

 

  3、冲突测试应该在整个测试中的地位

  冲突测试在整个测试中的地位应该与边界值测试中的地位相同。在设计测试用例时,也应较多的考虑这类测试。根据以往采用这种测试方法进行测试的经验来看,此类测试往往会引起一些较严重的问题。比如上文中提示到“在播放视频过程中,插入了USB”,就引起过手机软件黑屏,且不能恢复的p1级问题;“在下载导航的过程中,来了一个即时消息”,引起车载导航功能在界面中卡死,只有重启才能恢复软件运行的问题;“查询功能,由于数据量很多,查询后有一个等待加载完成的状态线程。这时我们就通过关闭标签结束这个等待的状态线程”,引起桌面软件彻底崩溃,只有通过进程结束才能恢复的问题;多系统合作程序那个例子,在我们做过的论坛系统中,引起过文章被发表通过的问题。

  为什么说冲突测试跟边界值测试法的地位相同呢?

  因为说白了其实冲突测试就是边界值法测试方法的一种具体体现。对边界值法有一个小小的误区,无论是书上还是网络上通常说到边界值法的时候,举的例子往往是数量边界,即某个输入框只能为20位字符时,我们测试其21位字符的情况,这当然也没有错,只是常此以往,很多测试人员认为边界值法就是数据边界了。其实我认为边界值法,包括三种:输入动作的边界,数量的边界,以及状态的边界。所谓输入动作的边界,比如查询有三个输入框,一个框都不输入去查询,这就是一个输入动作的边界。数量边界,即一个值的最小和最大数量。状态边界,即“开始”、“挂起”、“结束”这三种状态。由于本文重点是介绍冲突测试这种方法,关于边界值就不继续禅述了。

4、冲突测试用例的设计方法和执行策略

  此类测试用例设计的方法与其它类型的用例设计方法基本上相同。不过,不同的软件类型其用例设计方法的偏重点也略有不同。我们先来看看手机和移动通信类嵌入式系统的用例设计大体方法和执行策略:

  A)确定可打断其它功能状态的功能。

  比如手机功能:一般通话、蓝牙、短信、彩信、闹钟、USB、充电等功能,都会弹出一个提示信息层。所以冲突测试用例,都必须考虑这种功能打断其它程序时会不会引起一些异常等。

  B)遍历所有功能模块

  分析功能模块的使用频率,将不同的使用频率的模块按不同的级别划分,以便有利于测试策略的安排。

  C)执行策略

  此类测试在手机等移动通信软件中的一个难点就是,找准测试时间点。因为在执行某个功能时,发生的速度非常快,而要打断这个状态就得算好时间。这一点,我想做过手机软件测试的同志是非常清楚的。我所采用的方法,一般是在这个功能使用手机秒表功能计算并统计时间后取出平均时间来执行的。另外,此类用例在前期应执行级别最高的用例,到中后期按照多个版本遍历所有级别的原则进行组合策略按排。

5、冲突测试用例的实例

  手机软件,如短信模块的一些用例: 

模块

用例概要

测试步骤

期待结果

短信模块

来电话

1.从主菜单界面进入短信界面过程中,有电话呼入

1.电话正常呼入,仍处于主菜单界面

短信模块

来电话

1.进入写短信界面过程中,有电话呼入

1.电话正常呼入,仍高亮于写短信菜单

短信模块

来电话

1.在发送短信过程中,有电话呼入

1.电话正常呼入,该短信发送失败,保留在收件箱内

短信模块

来闹钟

1.从主菜单界面进入短信界面过程中,闹钟时间到

1.正常弹出闹钟,关闭闹钟后,仍处于主菜单界面

短信模块

来闹钟

1.进入写短信界面过程中,闹钟时间到

1.正常弹出闹钟,关闭闹钟后,仍高亮于写短信菜单

短信模块

来闹钟

1.在发送短信过程中,闹钟时间到

1.正常弹出闹钟,关闭闹钟后,该短信发送失败,保留在收件箱内

 

 ....

posted on 2016-05-09 17:26  尾戒草  阅读(432)  评论(0编辑  收藏  举报