探索式测试:通宵测试法

前言

选择那些使软件满负荷运行的场景(或衍生场景),使用内存和网络,或者在其他方面消耗资源,时间一长,问题就会出现

方法简介

在<<探索式测试>>一书中,对于通宵测试法的描述如下:

"当测试场景可以被自动化或者可以被录制回放时,最适合使用的是通宵测试法(The All-Nighter tour),它只需要不断重复运行场景而不需退出被测应用程序。如果场景包括关闭软件,把这个语句去掉,然后让场景一遍又一遍地运行。选择那些使软件满负荷运行的场景(或衍生场景),使用内存和网络,或者在其他方面消耗资源,时间一长,问题就会出现。"

因此,对某一功能进行长时间的反复运行,一般都会发现资源消耗类的问题。

实例

小编在浏览器项目的历史Bug库中,分别用不同关键字进行历史Bug的搜索,得到如下结果:

关键字

Bug数量

"泄漏"

25个

"反复"

69个

"稳定性"

33个

由此可见,这类测试方法能够发现不少问题,而且问题一般都是比较严重的问题。

Bug1: 反复进行快捷键ctrl+Q和点击恢复视频提取播放,浏览器发生崩溃 

操作步骤: 

1.启动浏览器 

2.访问带有Flash视频的页面

3.按下键盘上的ctrl+Q进行视频的提取操作

4.漂移播放窗口显示恢复提示按钮后,点击按钮进行恢复操作

5.反复执行3-4步骤,浏览器发生崩溃 

探索式测试:通宵测试法

Bug机理

重复处理Ctrl + Q导致。在还没有完成视频提取状态的时候,由于重复的Ctrl + Q堆在消息队列中,因此,完成视频提取后还会继续处理,但这个时候父窗口已经发生改变,因此某些函数会发生崩溃。处理办法是检测一下当前是否是漂移状态,在漂移状态下不处理Ctrl + Q消息。

Bug2:在页面内查找功能存在句柄泄漏 

操作步骤:

1.启动浏览器

2.打开网页www.sohu.com

3.查看-工具栏-查找栏

4.在查找栏内输入字符:搜狐

5.连续点击"上一个"

6.重复执行步骤3-7,浏览器句柄发生泄漏

探索式测试:通宵测试法

在实际项目测试中,除了在测试用例中使用通宵测试法进行测试用例的设计之外,也可以进行专项的稳定性测试,由专人进行专职的测试。

探索式测试:通宵测试法

探索式测试:通宵测试法

系列文章:

探索式测试:超模测试法

探索式测试:配角测试法

探索式测试:反叛测试法和强迫症测试法

探索式测试:取消测试法

探索式测试:测一送一法

探索式测试:地标测试法

探索式测试:深巷测试法

探索式测试:快递测试法

探索式测试:极限测试法

除了在测试技术和工具方面进行改进之外,我们希望在测试设计也有新的突破,最终能够帮助所有的测试同学"脱离苦海",让测试变得更高效、更有效。

目前在探索式测试的学习方面,还有许多不足之处,欢迎各位粉丝指出交流;同时也欢迎在对此方法有实际成熟经验的同学进行交流学习。

探索式测试:通宵测试法