软件测试的目的

测试的目的是什么呢?这是一个看起来很简单、不太值得讨论的问题,但往往这样的问题其实是很难回答的,比如人生的意义是什么?好,现在我们就来,列举一下我们经常听到的对这个问题的回答:

“软件测试的目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。”,这个定义听起来很正确,但用它来指导测试会带来很多问题。比如有的组织用发现的bug数来衡量测试人员的业绩,其实这就是这种测试目的论在后面作祟,其结果如何呢:其一,有一些不够敬业的测试人员会找来一些无关痛痒的bug来充数,结果许多时间会被浪费在这些无关痛痒的bug上(其实应该修复,何时修复,严重程度是什么,优先级是什么,等等);其二,测试人员会花很大力气设计一些复杂的测试用例去发现一些迄今尚未发现的缺陷,而不关心这些缺陷是否在实际用户的使用过程当中是否会发生,从而浪费了大量的宝贵时间。究其根源,就是因为对测试目的的这种错误理解造成的,为什么这么说呢?因为软件里bug的数量是无从估计的,那么如果测试的目的是为了找bug,那么测试工作将变成一项无法完成也无法衡量进度而且部分无效的工作(因为有些bug在实际的运行过程当中根本不会发生)。

“测试的目的就是为了保证软件质量”,这个定义也是看似正确,但实际上,混淆了测试和质量保证工作的边界。软件质量要素有很多,包括:Understandability、Conciseness、Portability、Consistency、Maintainability、Testability、Usability、Structures、Efficiency、Security等等,所以,软件质量保证和测试其实关注的方向是不同的。

那么测试的目的应该是什么呢?IEEE在1983年提出了软件测试的定义:

“使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。”

所以,简言之,测试的目的应该是验证需求,bug(预期结果与实际结果之间的差别)是这个过程中的产品而非目标。测试人员应该象工兵一样,在大部队(客户)预期前进的方向上探雷、扫雷(bug),而不需要去关心那些根本没有人会去碰的地雷。衡量一个测试人员应该去衡量他/她测试了多少需求(测试工作量),漏过了多少bug(测试有效性)。(在后面的博文里我们会进一步谈测试后评估的重要性)

因此,我们可以看到有好的需求文档/体系对测试工作的必要性,我们看到许多测试团队在业务需求/软件需求不完备的情况下,往往或重新编写测试需求。在未来的博文里,我们会在介绍为什么用例(Use Case)技术会有助于开发人员和测试人员的沟通。

来源:http://blog.sina.com.cn/s/blog_498eab7d0100czn8.html

时间: 2024-11-05 15:59:36

软件测试的目的的相关文章

软件测试的目的和方法

1.1软件测试的目的 ①软件测试是为了发现错误而执行程序的过程: ②测试是为了证明程序有错,而不是证明程序无错误: ③一个好的测试用例是在于它能发现至今未发现的错误: ④一个成功的测试是发现了至今未发现的错误的测试. 测试的目的是明确的,但如何才能知道问题所在是关键,这就要求软件人员具有很好的相关知识和手段. 1.2软件测试的方法 人们通常以为,开发一个程序比设计一个测试用例更困难,其实不然,设计测试用例是一项细致并需要相当技巧的工作,稍有不慎就会顾此失彼.一般软件测试分为静态测试和动态测试,动

软件测试的目的和任务

实践证明,尽管人们在开发软件的过程中使用了许多保证软件质量的方法和技术,但开发出的软件中还会隐藏许多错误和缺陷.这对于规模大.复杂性高的软件更是如此.所以,严格的软件测试对于保证软件质量具有重要作用. 测试的根本目的就是为了发现尽可能多的缺陷.这里的缺陷是一种泛称,它可以指功能的错误,也可以指性能低 下,易用性差等等.因此,测试是一种"破坏性"行为.测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错.即软件测试是为了"证伪" 而非"证真&

软件测试的目的、原则及流程

一.软件测试的目的 1)软件测试是为了发现错误而执行程序的过程. 2)测试是为了证明程序有错,而不是证明程序无错.(发现错误不是唯一目的) 3)一个好的测试用例在于它发现至今未发现的错误. 4)一个成功的测试是发现了至今未发现的错误的测试. 注意: 1.测试并不仅仅是为了要找出错误.通过分析错误产生的原因和错误的分布特征.可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进.同时,通过分析也能帮助我们设计出有针对性的检测方法,改善测试的有效性. 2.没有发现错误的测试也是有价值的,完整的测

什么是软件测试?软件测试的目的和意义是什么?

第一是使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别. 第二是软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例去执行程序,以发现软件故障的过程.该定义强调寻找故障是测试的目的. 第三是软件测试是一种软件质量保证活动,其动机是通过一些经济有效的方法,发现软件中存在的缺陷,从而保证软件质量. 原文地址:https://www.cnblogs.com/yuanlichen/p/9867

转:我是如何做软件测试项目的?

最近公司刚完成了一个比较大的项目-单品页模块化,即使用现在比较流行的Twitter Bootstrap进行前端开发.说其大是因为工作量大,开发前期投入约80人日,包括前端开发及PHP开发,且不包括修复bug的时间,测试投入约48人日,同时也是非常重要的项目,直接关系到转化率,稍有差池就会导致转化率的下降.而我有幸成为该项目的测试负责人,此文即介绍我自己是如何带这个项目的. 1. 人员分工合理,老人带新人 其实这次项目中,人员分配是3个老人(工作也不到2年),2个新人(工作不到1年),2个实习生,

2、测试基础-软件测试目的与对象

软件测试的目的 测试是完善程序的过程,目的在于使系统更加符合用户的使用习惯,让系统在上线后带给客户极高的用户体验. 测试应致力于发现至今为止未发现的错误. 从用户的角度出发,希望通过软件测试暴露软件中隐藏的错误和缺陷并减少软件上线后的问题,使得产品更容易被接受. 从软件开发者出发,希望测试成为证明产品中不存在错误.已正确的实现用户需求的过程. 软件测试目的总结 以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷. 证明软件的功能和性能与需求说明项符合. 通过测试的结果数据为软件的可靠性分析

软件测试概述

• 不论软件的生产者还是软件的使用者,均生存在竞争的环境中: 软件开发商为了占有市场,必须把产品质量作为企业的重要目标之一,以免在激烈的竞争中被淘汰出局. 用户为了保证自己业务的顺利完成,当然希望选用优质的软件. 软件带来错误的原因很多,具体地说,主要有如下几点: • 交流不够.交流上有误解或者根本不进行交流 • 软件复杂性 • 程序设计错误 • 需求变化 • 时间压力 • 代码文档贫乏 • 软件开发工具 什么是软件测试 软件测试就是在软件投入运行前,对软件需求分析.设计规格说明和编码的最终复审

软件测试工程师必须要知道的9点

1,软件测试定义:通过人工或者自动手段检测被测对象,目的是发现被测对象是否实现用户的需求,或者弄清实际记过与预期的差异. 2.软件测试的目的: (1)发现被测对象与用户需求的差异 (2)发现软件存在的问题并解决问题 3.软件测试对象: (1)源代码 (2)文档 (3)配置数据 4.软件测试需求阶段: (1)需求文档:是否正确实现用户需求 (2)设计阶段:概要设计.详细设计文档.是否有逻辑或设计上错误 5.编码测试:测试源代码 6,系统测试:检测对象是否满足用户需求 7.测试级别: (1)单元测试

软件测试读书笔记

[美] Ron Paton著, 周予滨, 姚静译. 软件测试[M]. 北京:机械工业出版社, 2002. 这本书是一本软件测试入门级读本,书的写作风格是浅显易懂,且知识面覆盖广.该书内容分为六个部分,每一部分分别讲述了软件测试的一个方面的知识.通过阅读该书我明白了软件测试与软件缺陷的一些相关知识,大致明确了软件缺陷的产生及在测试中如何对缺陷进行处理和管理. 1 软件测试综述 该部分作者通过讲述几个臭名昭著的软件错误案例,包括爱国者导弹防御系统(由于一个很小的系统时钟错误累积起来拖延数十个小时造成