怎样诠释测试--记开展测试的记忆式方法

发表于:2011-7-13 10:46

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:James Bach    来源:51Testing软件测试网采编

  在探索性测试中,我们设计和执行测试是实时的。那么我们应该怎样组织我们的思维以使我们能思考出有价值的测试?有一种方式就是通过使用启发式方法(heuristic)和记忆式方法(mnemonics)进行。启发式方法是一种“依据经验法则,简单化或有依据的猜测”。举个例子,在房间门口的地毯下找出钥匙就是一种启发式方法。相比之下,记忆式方法是用一种“用词语,押韵,或其它的记忆方法来将复杂而又冗长的信息进行有效记忆的方式”。同时采用启发式方法和记忆式方法,对我们在压力下解决问题有非常大的帮助。

  SFDPO诠释测试

  在测试中我运用的启发式方法和记忆式方法可称为“San Francisco Depot”,或者称为SFDPO。这些字母代表着Structure, Function, Data, Platform和Operations。每个词代表着软件产品一个不同的方面。对于产品,思考以上提及的每个方面,会使我想起很多非常有趣的测试方法。所以当我被要求去测试一些我从没有见过的东西时,我会对自己说“San Francisco Depot”,回忆以上五个产品元素的每一个,然后开始思考我该测试些什么。

  ● Structure(它是什么):它有哪些文件组成?我了解它的构造信息吗?它是一个程序还是多个?它有哪些配套的材料?我能按模块划分来测试吗?

  ● Function(它能做什么):它的功能是什么?它有哪些错误处理呢?它有怎样的界面呢?它会做哪些用户不可见的事情?它与操作系统是怎样交互的?

  ● Data(数据是如何处理的):有哪些怎样的输入?输出又是什么样的?它能处于什么样的模式或状态?它是否会预先装载数据?输入是否对时间和顺序上一定的要求呢?

  ● Platform(它依附于什么):它运行于什么样的操作系统之上?环境需要以某些特别的方式进行配置吗?它依附于第三方组件吗?

  ● Operations(它是怎样被使用的):谁将使用它?它会在哪里被使用,怎么使用?它被用于做什么?用户有哪些特定的使用方式呢?我们能获取一些用户数据来帮助我们测试显得更真实些?

  思想之光

  通过使用如SFDPO这样的小技巧,我能非常快速的得到一些关于产品的想法。但是我不只喜欢速度,可靠性也是。在我发现SFDPO之前,我能想到很多测试的点子,但是我觉得这些点子是随机和散乱的。我没有方法来评估我分析的完整性。如今我掌握了启发式方法和记忆式方法,虽然我知道我仍然会忘记掉测试某些东西,但是至少我已经很系统地测过产品的主要方面。从测试方法到质量标准,我已经在每一件事情上使用启发式方法。

  因为你知道的一些事情,并不会在它被需要的时候能被你想起,所以SFDPO不一个模板或测试计划,它仅仅是一种方法,在你测试的时候能使你产生很多重要的想法。它是你有用的工具包中的一部分。如果你想成为一名出色的、可靠的探索性测试人员,最关键的事情是开始收集和创造能对你有用的启发式方法库。同时,请记住,没有任何启发式智慧。智慧其实在你心中,启发式方法仅仅是唤起你心中的那些想法,如同一些排序好的认知闹钟,它并不能告诉你准确的行动步骤在何时何处。这就是技能和经验所在。

  好的测试是一门微妙的艺术,对此你应该掌握一些有效的工具。

  后记(译者):

  一直以来,对探索性测试到底该怎么进行都心存迷惑。也看到过很多人感慨,对于一个陌生的软件,怎样能快速的发现bug这样一个问题感到没有思路,或许此文能提供些借鉴和参考。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号