软件测试的目的是什么

如题所述

  现在很多人都发现了软件测试这个前景待遇都很不错的行业,那么究竟有人多人知道自己每天工作的目的是什么呢?作为一个软件测试员,自己又怎样的价值,自己做的工作为公司甚至为社会会带来怎样的影响和效果呢?这样的问题你有没有认真的思考过呢?从主观的角度上这个问题是很难回答的,所以我们现在列举一下我们经常听到的对这个问题的回答。
  
软件测试的目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。
,这个定义听起来很正确,但用它来指导测试会带来很多问题。比如有的组织用发现的bug数来衡量测试人员的业绩,其实这就是这种测试目的论在后面作祟,其结果如何呢:其一,有一些不够敬业的测试人员会找来一些无关痛痒的bug来充数,结果许多时间会被浪费在这些无关痛痒的bug上(其实应该修复,何时修复,严重程度是什么,优先级是什么,等等);其二,测试人员会花很大力气设计一些复杂的测试用例去发现一些迄今尚未发现的缺陷,而不关心这些缺陷是否在实际用户的使用过程当中是否会发生,从而浪费了大量的宝贵时间。究其根源,就是因为对测试目的的这种错误理解造成的,为什么这么说呢?因为软件里bug的数量是无从估计的,那么如果测试的目的是为了找bug
,那么测试工作将变成一项无法完成也无法衡量进度而且部分无效的工作(因为有些bug在实际的运行过程当中根本不会发生)。
  
测试的目的就是为了保证软件质量
,这个定义也是看似正确,但实际上,混淆了测试和质量保证工作的边界。软件质量要素有很多,包括:
Understandability、Conciseness、Portability、Consistency、Maintainability、Testability、Usability、Structures、Efficiency、Security等等,所以,软件质量保证和测试其实关注的方向是不同的。
使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
  所以,简言之,测试的目的应该是验证需求,
bug(预期结果与实际结果之间的差别)是这个过程中的产品而非目标。测试人员应该象工兵一样,在大部队(客户)预期前进的方向上探雷、扫雷(bug)
,而不需要去关心那些根本没有人会去碰的地雷。衡量一个测试人员应该去衡量他/她测试了多少需求(测试工作量)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-01-18

01 软件测试是什么及为什么很重要

第2个回答  2020-01-09
第3个回答  2019-06-21
软件测试要求认定刚开发的软件是错误的,它的目的是找出错误所在,而不是“说明程序能正确地执行它应有的功能”,也不是“表明程序没有错误”。
第4个回答  2019-10-26
软件测试其实就是找代码的bug,发现软件的错误。那么软件测试工程师具体是怎么找bug的呢?
第一步.依据需求文档及设计文档,编写测试用例
软件测试工程师的第一大要务就是写测试用例,测试用例也是测试工作当中的重中之重,不管是执行测试还是评估测试,都需要有测试用例作为依据,所以作为软件测试工程师必须要会编写测试用例。编写测试用例的前提条件就是需求文档和设计文档。测试用例是执行测试的依据,也是评估测试的完整程度、漏测率的依据。
第二步.完成产品的集成测试与系统测试
软件测试分四个阶段:单元测试、集成测试、系统测试、验收测试。把各段或各模块的代码合成到一个组合当中,合成之后就叫做集成。集成测试就是测合成之后的诊断代码以及整个模块,更重要的是要测合成之后的数据传输,也就是测两者之间的接口有没有完成正确的数据传输。系统测试是把软件放在PC端或硬件系统上,看在哪种环境能够运行。
第三步.根据测试计划,搭建测试环境
测试不能单独依附于一个软件产品,需要在一定的测试环境中运行。也就是说后台一定要有流程和数据才可以测试,所以搭建测试环境也是很重要的一步。
第四步.依据测试用例执行手工测试,反馈跟踪产品BUG及用例缺陷
根据写好的测试用例,针对测试对象也就是软件来进行测试。测试的目的就是发现错误或软件的缺陷,及时地把问题和bug提交到软件缺陷管理工具上。
第五步.测试工具/系统的研究和应用
即使是手工测试,也需要有一定的测试工具,比如串口工具CQCRP。性能测试和自动化测试更需要测试工具,比如Loadrunner和QTP,集成测试和接口测试则需要用到postman。所以一定要会安装和使用测试工具,除此之外还需要掌握Linux的命令。