51Testing软件测试论坛

标题: 正确理解测试的目的 [打印本页]

作者: woodcraft    时间: 2009-6-17 10:03
标题: 正确理解测试的目的
恩,我知道,这问题极其古老,在写下这个题目时,我也不禁有点汗颜......

关于这个问题,测试者都知道最经典的也最古老的两种答案:

测试是为了验证软件是可行的,第一种。

测试是为了证明软件是错误的,第二种。

两位大师的回答。

说实话,我在这问题上思考了很久,因为我是做产品测试的,而且是做同一平台,同一业务。测试的进度压力极大。很多时候的评审,结论通常是一句话,这些BUG不是很严重,软件可以放行。

我相信,这种情况在大多数测试团队上都有发生,这给我带来了一种影响,测试是为了验证软件是可行的。

但是,理论上更多的倾向于第2种回答。

是哪儿出了问题,难道我们团队做的不是测试么?还是我们做的不够专业?

不要小看这个问题,作为团队的负责人,在这个问题上的分歧,会造成团队的不同走向。

如果团队负责人认为测试是为了验证软件是可行的,那么经常性的回归测试是少不了的,测试者经常性的陷于重复而单调的测试,我们团队就是这么走过来的。

如果团队负责人认为测试是为了证明软件是错误的,那么与项目组的分歧基本上少不了,特别是做产品测试的,你老想着发现BUG,那么在划分测试范围时,回归性的测试风险较小,基本上都不太去做,万一基本功能出现个严重BUG,那算怎么回事儿?

迷茫了很久,应该说,现在我找到了第3条思路(或者是哪位先哲的想法?)

测试是为了证明软件是错误的,但是它的副作用恰恰证明了软件的部分可行性。

现在我们的测试流程基本上划分为两个阶段,第1阶段的重点在于发现BUG,由测试负责人划分测试范围,制订测试策略,进行集中测试,以尽可能尽早的发现BUG。第2阶段在第1阶段,即风险最大的项目模块风险减少后进行回归测试。通过这种方式来减少回归测试的次数,提升测试效益。

还有一些关于测试目的的理解,例如我在参加微软培训时,微软对测试的理解就是"尽可能的保证有效代码的实现"。这个定义有点类似测试最终是为了预防。但是我认为这是过程管理去做的事,或者说,这是测试结果的二次应用。测试,最单纯,也是最重要的目的,就是为了发现BUG。
作者: 千里    时间: 2009-6-17 10:16
测试是为了证明软件是错误的,但是它的副作用恰恰证明了软件的部分可行性。这句话能否更多一点说明呢?我不是很明白。
作者: Ade_Huang    时间: 2009-6-17 11:04
测试的最终目的是保证产品质量,个人人为。
反正我了解测试就是为了找软件缺陷呵呵,新人愚建~~
作者: woodcraft    时间: 2009-6-17 11:45
原帖由 千里 于 2009-6-17 10:16 发表
测试是为了证明软件是错误的,但是它的副作用恰恰证明了软件的部分可行性。这句话能否更多一点说明呢?我不是很明白。


测试最终是要发现软件中的BUG,但是在发现BUG的过程中通过测试的操作验证了软件的某些模块是没有问题的(应该说出问题的风险比较小)。
作者: yuetiantian    时间: 2009-6-17 11:49
资源决定质量
作者: woodcraft    时间: 2009-6-17 12:07
资源永远不够,测试也有个“测不完”理论。

重要的是如何利用这些资源来达到我们的目的?
作者: 千里    时间: 2009-6-17 13:31
原帖由 woodcraft 于 2009-6-17 11:45 发表


测试最终是要发现软件中的BUG,但是在发现BUG的过程中通过测试的操作验证了软件的某些模块是没有问题的(应该说出问题的风险比较小)。

这个我明白了
作者: 阿七    时间: 2009-6-18 13:10
两手都要抓  两手都要硬   

他们是相互的
作者: cctv009    时间: 2009-6-18 14:10
依然记得我的师傅.那个与我同城的女孩,比我大三岁,我坚信近水楼台先得月的道理,在拜她为师之后每天都跟她在一起升级,一起玩.有她陪在身边.我都会很开心.在我出师之后.我可以光明正大的追求她了.传奇**玩家真爱我带着鲜花和满腔的爱意来到她身边.可是却被拒绝了.她用了一个令人发笑的免费发布传奇**理由,说不喜欢师徒恋.呵呵.在我死缠烂打的攻势下.她开始对我袒露心怀.她告诉我她心里一直有另外一个人.现在还放不下.所以不能接受我,我不怪她.我想着只要能和她在一起就够了,可是她不能承受这些.带着她对我的歉疚离开了,之后便一直没再出现过,
作者: aandbandc    时间: 2009-6-18 14:15
LS在说是什么
作者: 痞子找茬    时间: 2009-6-18 21:58
标题: ding
测试是为了证明软件是错误的,但是它的副作用恰恰证明了软件的部分可行性。
我顶这句话!蛮有道理的!
作者: name135791    时间: 2009-6-18 23:10
用风险分析法,直接可以在测试计划阶段就可以比较合理得估计出软件的风险范围,对于风险高的区域需要全面覆盖,

对于风险少的区域可以少覆盖甚至不覆盖
作者: xiao850613    时间: 2009-6-19 08:50
我顶这句话!蛮有道理的!
作者: 水上飘    时间: 2009-6-19 08:50
测试最重要的目的就是提高产品质量
作者: lg1318617    时间: 2009-7-9 18:04
最终目的是增强产品的竞争力。
作者: stilldeeppool    时间: 2009-7-10 18:24
楼主说的二点:代表了软件测试这个行业发展的二个阶段

什么是软件测试?
简单来说就是通过一系列的手段和方法来促使软件产品尽可能达到软件设计时所确定的指标和需求和一个过程
所以软件测试的目的只有一个:就是让软件达到设计时确定的需求和指标
不管是验证功能也好.或是寻求错误也罢.它们与软件测试的目的还是有一些差异的

验证功能:其目的是保证产品能够"达到"软件设计时所确定的指标和需求
寻求错误:其目的是保证产品能够"不超过"软件所确定的指标和需求

换句话说:实现它应该实现的.不实现它不应该实现的

做为一个测试人员.不应该仅仅以以上二点来指导自己
我补充一下

一.验证
二.寻错
三.解决错误

解决错误很多人会说这是开发人员的事情.与我何关?
我的意思是指:测试人员不仅仅要有发现缺陷的能力.还应有能够分析缺陷的能力.为开发人员在修正缺陷时提供尽可能的帮助和指导




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2