前言
选择那些使软件满负荷运行的场景(或衍生场景),使用内存和网络,或者在其他方面消耗资源,时间一长,问题就会出现。
方法简介
在<<探索式测试>>一书中,对于通宵测试法的描述如下:
"当测试场景可以被自动化或者可以被录制回放时,最适合使用的是通宵测试法(TheAll-Nightertour),它只需要不断重复运行场景而不需退出被测应用程序。如果场景包括关闭软件,把这个语句去掉,然后让场景一遍又一遍地运行。选择那些使软件满负荷运行的场景(或衍生场景),使用内存和网络,或者在其他方面消耗资源,时间一长,问题就会出现。"
因此,对某一功能进行长时间的反复运行,一般都会发现资源消耗类的问题。
实例
小编在浏览器项目的历史Bug库中,分别用不同关键字进行历史Bug的搜索,得到如下结果:
由此可见,这类测试方法能够发现不少问题,而且问题一般都是比较严重的问题。
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,浏览器句柄发生泄漏
在实际项目测试中,除了在测试用例中使用通宵测试法进行测试用例的设计之外,也可以进行专项的稳定性测试,由专人进行专职的测试。
对软件测试感兴趣的也可以关注我的公众号:程序员二黑,专注于软件测试分享,主要分享测试基础、接口测试、性能测试、自动化测试、TestOps架构JmeterLoad、Runner、Fiddler、MySql、Linux、简历优化、面试技巧以及大型测试项目实战视频资料,感兴趣的可以关注一下
精彩的内容要和朋友分享哦