思步网

查看: 64120|回复: 22
打印 上一主题 下一主题

[测试理论] 软件测试之猴子测试的最佳使用时间

[复制链接]
尽管我们的项目组使用笨猴子来寻找操作系统的bug,我们也同样找到了不少应用程序的bug。笨猴子在四种情况下对于测试产品周期内的程序非常有用:

在产品周期的早期阶段,笨猴子会找到很多很好的bug,为你节省不少的时间。笨猴子不需要知道程序的任何用户交互方面的知识。昨天编译的版本的界面是否改变或者缺少了一半,对它来说都是无所谓的。猴子会测试任何它找到的东西。因此,一旦新版本出来你就可以开始笨猴子测试。在你还在为新的界面改变而调整你的正式的自动化测试包时,笨猴子已经开始探索程序并且很可能已经找到bug了。

笨猴子能运行很长时间的测试。除非找到了引起程序崩溃的bug,你想让他们运行多长时间他们就会运行多长时间,把内存和资源使用推到极限。如果你的程序有资源泄漏或者内存问题,笨猴子会帮你找到它。


在产品周期的后半段,当你在想你已经找到了所有的可恶的bug,笨猴子测试能帮助你提高你的信心。运行笨猴子几天的时间而没有引起错误能让你从另外一个角度来判断程序的稳定性。

笨猴子测试能显示传统测试覆盖的漏洞。用覆盖率分析工具运行几个小时的笨猴子测试,然后与那些非猴子测试进行比较。如果猴子测试测试到的一个函数是没有被你的传统测试所覆盖的,那么你需要重新检查你的测试计划和用例。如果你有程序的状态表,让猴子读入这个状态表,并核对每个测试到的状态。如果它找到一个新的状态是没有在你的状态表中定义的,那么猴子就找到了一个崭新的未被测试的、可能充满了bug的程序区域 C 就像在β象限仪的中心地带发现了一个蛀洞一样!至少有一个商业工具(Rational的TestFactory)使用笨猴子方法来探索应用程序并创建自动化测试来最大化覆盖率,同时最小化测试时间。


(你也许会对笨猴子能达到的测试覆盖率感到惊讶。在一个微软内部的应用程序,复杂度类似于写字板,我们在不到15分钟的笨猴子测试中就得到了65%的代码函数覆盖率。)

笨猴子测试的成本
相对聪明猴子和大部分传统的自动化和手工测试,笨猴子是非常“便宜的”。一个笨猴子可以测试几乎所有的应用程序。因此你可以把它调整到很多不相关的项目中。

如果笨猴子能知道一些关于你的程序的信息,则会得到更佳的效果。如果你能告诉猴子什么地方是程序窗体值得注意和测试的地方,则猴子会少浪费很多时间。但是给予笨猴子太多的知识则会带来更高的成本。我们的目标是花少于30分钟的时间来教会笨猴子学习一个新的程序。
一旦你给了笨猴子探索程序需要的最基本的信息后,把它安置在一台残旧的、运行速度慢的、被放在实验室或办公室角落的、没人会用来做测试的计算机上。让它开始在调试器模式下运行程序并每天检查一下它的进展情况。如果猴子发现了bug,那么这些是你的项目组报告的bug中最低成本的。
像其他软件测试工具一样,一个好的笨猴子需要一定的代价来开发。但是不像很多测试工具, 一个普通的笨猴子或“初学者”都能有很多发现bug的机会,只要你以合适的目的,在适当的时间运行它。随着猴子显示出它的价值,你可以添加更多的功能特性,给它更多的技巧。如果你在Windows平台上使用Rational Visual Test,你就可以开始尝试使用笨猴子,使用基于我们微软内部的一个简化的测试猴子。

(“Freddie”笨猴子是一个在Thomas R.Arnold的《Visual Test 6 Bible》这本书附带的光盘上的程序。这本书的第14章详细描述了猴子测试,并教你怎样给Freddie添加更多的功能特性。)

请做出明智的选择

猴子测试绝对不应该只是你唯一的测试方法。猴子不了解你的程序,出于无知它们会漏掉很多bug。对于嵌入式系统,在简单环境下运行的软件,或者是很难实现自动化的项目,猴子都不会有什么大的作用。

除非你已经有一个自动化的可读入的模型或状态表,否则聪明猴子的开发成本会非常的高。但是对于项目的关键部分,有一个简单的小的状态表,则会比较有效。对于压力测试和负载测试也很有用。在正确的地方使用的话,聪明猴子会找到很多有意义的bug。

能理解操作系统的笨猴子可以在各种程序中使用,可以测试很多基本的东西。给你的猴子一些适当的教育,就能有效地提高猴子发现bug的机会。笨猴子不会找到很多的bug,但是它们找到的bug是程序崩溃,程序不响应等严重类型的,都是你最不想它们出现在产品中的bug。





上一篇:软件测试的资质如何认证
下一篇:1. 软件测试就是为了验证软件功能实现是否正确,是否完成既定目标的活动所以软件测试在
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
回复 论坛版权

使用道具 举报

兄弟我来啦
[发帖际遇]: 丽丽 发帖时在路边捡到 2 (金) 金币,偷偷放进了口袋. 幸运榜 / 衰神榜
丽丽难道是男的?
[发帖际遇]: 言先生 在论坛发帖时没有注意,被小偷偷去了 2 (金) 金币. 幸运榜 / 衰神榜
很有见地的探讨,先收藏着~
确实不错,顶先
我也来顶一下..
确实不错,顶先
这么强,支持楼主,佩服
路过的帮顶
不错 支持一个了
其实,很多情况下都是这样的,习惯就好。
很有见地的探讨,先收藏着~
路过的帮顶
确实不错,顶先
打酱油的人拉,顺便赚点金币
您需要登录后才可以回帖 登录 | 注册

本版积分规则

思步组织思步科技|思步网|火花学堂|思步文库|思步问答|思步英才|天下心
© 2007 思步网 浙ICP备10212573号-4(首次备案号:浙ICP备07035264号)|邮箱:service#step365.com(将#换成@)|服务热线:0571-28827450
在线培训课程|求职招聘|思步文库|官方微信|手机APP|思步问答|微博平台|官方QQ群|交流论坛|软件工程透析|关于我们|申请友链|
点击这里给我发消息     点击这里给我发消息
思步 step365 过程改进 CMMI中文 质量保证 质量管理 流程体系 需求跟踪矩阵 敏捷开发 Scrum 软件度量 项目评审 全员改进 流程管理 人力资源 6sigma 信息安全 ISO27001认证 IT服务管理 ISO20000认证 ISO9000认证 软件测试 SQA 配置管理 IPD 软件工程 PMP认证 PMP试题 PMBOK中文 精益研发 agile 顾问式管理培训
返回顶部