软件测试中的冲突测试

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

 

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

  关键词:冲突测试多线程

  1、什么是冲突测试测试

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

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

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

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

  手机软件:进程

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

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

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

  移动通讯类嵌入式软件:

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

  其测试场景好比:

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

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

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

  桌面软件或者Web系统:

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

  多线程程序:

  好比某查询功能,因为数据量不少,查询后有一个等待加载完成的状态线程。这时咱们就能够经过关闭标签或者页面,结束这个等待的状态线程;

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

  ……………………

 

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

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

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

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

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

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

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

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

  B)遍历全部功能模块

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

  C)执行策略

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

五、冲突测试用例的实例

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

模块

用例概要

测试步骤

期待结果

短信模块

来电话

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

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

短信模块

来电话

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

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

短信模块

来电话

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

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

短信模块

来闹钟

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

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

短信模块

来闹钟

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

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

短信模块

来闹钟

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

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

 

 ....

相关文章
相关标签/搜索