软件测试的目的?
实在是不好意思的啊,这是一个非常非常基本的问题,但是我还真的是不太确定。在Myers看来软件测试的目的就是发现软件缺陷;
而Ron Patton认为软件的测试的目的是尽可能早的发现软件中存在的缺陷并且确保其可以被修复;
但是相对比较全面点的说软件测试应该是有三个目的的:证明(表明软件能够工作)、检测(发现软件中的缺陷)、预防(管理软件的质量)
那我就有这么一个问题想要请教一下:如果说软件测试的目的是为了发现软件缺陷这样对吗?现在比较流行的说法软件测试的目的是什么?我有点弄不清楚它是必要条件还是充分条件,还希望能和大家讨论一下,谢谢! 确保软件到用户的手上的时候具备一定的质量要求。 楼主的思考很到位,能够把多本书里面的同一个知识点放在一起思考。
我觉得ron patten是站在巨人的肩膀上,至于巨人是谁楼主应该知道的。
三个目的我觉得都是同一个意思,只是越来越完善,但核心没变。 回复 3# 千里
嗯嗯,谢谢,谢谢! 公说公有理 ,婆说婆有理。
每本书对这个的定义是不一样的,而且每个时期对这个的定义也不一样。 尽信书不如无书,具体的项目要具体分析其测试的目的,在context driven test的角度来看:
一些可能的测试目标有:
* 找到重要的bug,使他们得到修复
* 评估产品的质量
* 对是否发布产品的决策提供帮助
* 阻止不成熟的产品被发布
* 对预测和控制产品的支持成本提供帮助
* 监测待测产品和其他产品的交互性
* 解释如何安全地使用产品
* 评估产品与实际需求的一致性
* 证明产品符合某个特定的标准(如国际标准,国家标准等)
* 确保测试的过程符合问责制标准
* 减少产品可能引起的安全方面的诉讼风险
* 帮助客户提高产品的质量和可测试性
* 帮助客户改进他们的流程
* 作为第三方检测产品
始终记住,具体项目具体分析。 本帖最后由 jlayoo 于 2012-1-31 11:03 编辑
很欣赏你的问题,我在论坛搜了一下,好像问这个问题的人不多,这个问题即基本又深奥,说基本,是因为这是每个测试人员都要去遵守的准绳,或者说游戏规则;说深奥,是因为要做到这个要求,会有很多需要深挖的东西,我做了5年测试和测试管理工作,突然有一天你会发现有时会有一些迷惘,感觉回到了原点,我们到底为啥要做测试工作,怎么做好,希望我的想法能对你有所帮助。
我认为测试工作有3个层面:
下层(测试执行):具体项目的测试的工作:测试方案执行、测试用例、报告等等不展开描述,对应测试工程师
中层(测试管理偏技术):具体项目的测试管理工作:测试计划、测试的合理性、测试需要的那类文档,bug的完善,等等,对应一个测试团队的leader
高层(测试管理偏管理):测试体系的游戏制定者,如何配置有效的测试资源达到最优的配置,体系的完善者。对应分管测试的副总或者独立测试部的经理
有点拗口,三个层面的目的是不同的,扯的比较远。
楼主所述:如果说软件测试的目的是为了发现软件缺陷这样对吗? 我认为,对,但远远达不到要求。只能达到第一层的一小部分,或者说这是测试行为的目的,还不能表示测试的目的。
我觉得我也很难归纳测试的目的,但就目前来看,楼主的三个词已经能基本覆盖测试目的,但注解和次序需要变一下:
1、检测(检验软件是否达到既定的要求,即:好不好,行不行,能不能,好到什么程度,怎么个行,到底能不能 可以用10分制量化评判)
2、证明,我觉得用验证比较好(验证软件的生命周期是否有效,ISO流程是否有效,质量管理是否有效,我们花了那么大的成本去ISO,到底有没有效果,ISO做的很好,但是做出来的东西问题一大堆,那就是无效)、
3、预防,也就是提升(提升质量,提升效率,但这不是测试工程师的职责)
很有意思,你会发现他其实就是PDCA环的 DCA三项,做好很难,一句话:“艰难险阻”做好了--升天,做不好--无为 你提到的 三个 目的,的确是目前软件测试学术领域较为共同的认识。
软件测试的目的是什么,反问为何要在软件项目开发中引入软件测试?
我觉得是为了让软件的发布规格和质量水平在有限的时间内无限的接近我们预先设计的标准。
软件测试作为软件项目管理的一部分,我觉得不妨从另外一个角度,软件项目管理说起。
作为一个软件产品,如果它的第一个发布标准仅是一个Demo,那么我们仅需要满足这个Demo的质量标准,而如果我们强行以 用户产品发布 时标准去要求它,显示是不切合实际的.
如果我们发现一个软件产品在临时发布之时,仍然有未解决的缺陷,而如果我们分析后得出这些缺陷不会影响到用户,或是可规避,我们仍然可以认为这是一次成功的发布.
软件产品的最终质量依赖于它的开发成本,周期,人员技术能力,用户质量需求等各方面因素,项目管理人员能够通过软件测试的结果平衡各因素。
页:
[1]