软件测试即解决问题的过程

上一篇 / 下一篇  2012-05-14 09:14:07 / 个人分类:杂谈

有人说:“生活就是不断地解决一个又一个问题的过程”,其实,测试也 是不断地解决问题的过程。你测试,因为你有一个问题需要解决,你的问题可能是“这个软件里有bug”,你想要的是“找出软件的bug”;你的问题也可能是 “怀疑这个软件能用吗”,你想要的是“完成软件的验收测试以判断软件是否可用”。我在“认识你的测试思维”这门课中,总是会引导大家做一个关于骰子的游 戏。玩家需要找出我心中对于骰子的默认规则,这也是要解决的“问题”,大家玩骰子的过程,就是试图解决这个问题的过程,也是一个测试的过程。51Testing软件测试网 Q Su i'?4j5z-tBC-e

  作为一名咨询顾问,Don Gray更愿意把问题定义为“… the difference between what is and what is wanted.” (参见他的文章“Solving Other People’s Problems”。)51Testing软件测试网 gW3A9L+V%Yv`

C`8^-bX:W0  当我们遇到一个问题需要解决的时候,首先应该做的是什么呢?

k7}U`Iz_y,u;q0

J B+i"EpQRU2?-e0   Don Gray在上述文章中提到了一个原则叫做“The Pause Principle”:在试图解决问题之前,先停顿一下。我记得之前辅导过一些人做测试执行,当我把一个测试任务交给他们的时候,很多人都希望在有限的时 间内表现得最好,所以他们一上来就开始动手测试,没有停顿。我记得在一次StarWest会议上,James Bach给Jon Bach下了一个探索性测试的任务,Jon Bach的“测试开场”不慌不忙,他没有马上投入测试,而是思考了一下这个任务,找到几个疑问点,比如这次测试任务的背景和目的、测试时长、这个被测对象 之前有没有什么问题等等,逐一问讯James Bach,然后才开始测试。我们把这个叫做“Know Your Mission”,和Don Gray提的“The Pause Principle”是一样的道理。稍稍停顿一下,可以让我们有一定的思考,你可以深呼吸一下,准备好测试;你可以想一下,获取到更多的信息;你可能发现 问题不像你一开始认为的那样;你可能突然发现一个更好的解决问题的路径。。。而相反,那些不假思索一上来就自以为对测试任务很清楚了而直接开始测试的人, 往往会发现最终的结果并不令人满意。关于“Know Your Mission”这点,另外一篇blog里记述了我和Michael Bolton一次在SkyPE上的聊天,供进一步参考:http://www.taixiaomei.com/?p=71。

A)OQn%LU5b0

_J)dg"?wd+y/c0  Don Gray提到了另外一个原则叫做“The Pay Attention Principle”。当客户提出了一个问题时,Don马上就给出了一个解决方案,没有做到很好的倾听,这对很多咨询师可能都是一个挑战:学会倾听,不急 于给答案。根据Satir Interaction Model,将一次沟通分解为四个阶段:Intake(实际听到的内容),Meaning(接收者认为接收到的),Significance(接收者对内 容的进一步理解)和Response(接收者给出的反馈)。“The Pay Attention Principle”原则告诉我们,在给出Response之前,先要去了解输入的信息是什么、你是如何分析这些信息的。比如上面提到的骰子游戏,你把这 个游戏当作你和被测系统的一次会话:玩家一开始对被测系统一无所知,所以首先要做的是“学习、 了解被测系统”,即Intake。玩家一次次的随机掷出骰子,观察系统的反馈。当系统给出的反馈信息渐渐增多时,玩家开始有了自己的分析和判断,这是 Meaning和Significance的过程。慢慢地,玩家开始有意识地自己设计用例--有目的的投掷骰子,观察系统的输出,这就玩家对被测系统的反 应。在一次次的communication过程中,玩家有可能解决一个个的问题,最终找到游戏的答案,顺利完成测试过程。51Testing软件测试网r|z$n@2]$U0L)U

&lp+@RmR0  当你认识到测 试的过程就是解决问题的过程,你一定会同意:提高解决问题的能力,有助于提高你的测试质量。生活中处处都是问题,处处都可以锻炼我们解决问题的能力 --这是测试人员的幸运之处。我很喜欢玩各种智力游戏,比如拼图、数独、魔方等等,这些都可以锻炼你解决问题的能力,从而提升你的测试技能。比如你如果在 IPad上玩找不同的游戏,你如果不把它当成一次游戏,而是当成一次挑战,当成一次解决问题的过程,当成一次训练自己解决问题的能力的机会,你会发现很多 有趣的现象:怎么第一、二个不同点(你可以把它当作bug)很容易找出来,而最后一个bug总是耗费你最多的时间,你经常‘死’在最后一个bug手里?如 果你和别人结对玩这个游戏,当别人找出这最后一个bug时,你会想,明明bug就在你眼前,我刚刚也看过这个区域,怎么就没有发现这个bug?除了随机找 bug,我应该采用怎样的‘搜索’策略(测试策略)更好?常见的不同点(常见的bug)都有哪些?我对缺陷模式的认识有什么不足?当你克服这些问题,逐渐 成为找不同游戏的高手时,你也成为了解决某一类问题的高手,成为了一名测试高手,你会发现测试是一个充满乐趣的职业!

)N.`%`n_&l'bT#C,Q W0

7y0Kx*O+d0U#dR"?E0  Happy testing,happy problem solving!51Testing软件测试网P P \-oC._


TAG:

 

评分:0

我来说两句

Open Toolbar