软件测试工程师如何保证软件的质量?

之前面试的时候被问到这个问题,回答的比较粗糙,最近正在看《京东质量团队转型实践》这本书,发现里面讲到的很适合回答这个问题,然后又百度了一些相关的文章,整理一下:

 

1、什么是软件测试

      1983年 Bill Hetzel在《软件测试完全指南》中指出:“测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量”。

2、质量不是测出来的

      软件的质量不仅仅是靠测试人员保证的,而是整个团队的责任。测试的目的是为了发现问题,证明问题存在,从而使产品尽善尽美。测试人员的任务是帮助开发人员及产品设计人员提高软件的质量,但不等于说是保证软件质量,因为测试仅仅是整个生产过程中的一个环节,开发人员才是软件质量的生产者,产品的好坏也取决于设计人员,测试人员不生产质量,也不提高降低质量。

      质量保证和软件测试是软件质量工程中两个不同层面的工作。

3、测试只能尽可能的提高软件质量,但不能使其达到完美

      其一:在有限的时间和资源的条件下,测试活动可以发现软件的缺陷,但不能保证软件或者系统的缺陷全部被找到,所以想要使软件达到完美,是不可能的。

      其二:测试也是有成本的,测试活动越到后期发现缺陷的代价就越大,因此要根据错误的概率及软件的可靠性要求,确定好停止测试的最佳时间,不能无限的测试下去。

4、软件测试提高软件质量的依据是什么

      满足用户需求是软件或者系统研发的最终目的,所有的测试都应该追溯到用户需求,一个功能错乱甚至缺失,用户体验不佳的产品是不被允许交付到用户手中的。

5、软件测试人员在整个软件生产活动中担当怎样的角色

      软件测试人员在整个生产活动中发现的问题及报告为提高软件质量提供必要的信息,通过与研发及设计人员的沟通为他们的工作提供支持,使他们更高效更便捷的定位问题,从而提升产品的质量。

      软件测试人员在整个活动中担当的是一个支持者的角色,并不是产品产出的把关者,因为产品的质量好坏并不取决于软件测试人员,而是参与生产活动的所有参与者。

      软件测试人员还要善于提问,作为一个需求的审视者。不问问题,就不能讲需求剖析的透彻,思路局限于所见的既有功能,不思考不分析,测试过程中的风险就不能很好的规避,导致测试不能顺利的进行。

      实际生产活动中,由于项目各职能人员配备不完整,测试人员还担任着项目计划的督促者,督促设计人员文档文件的及时输出,督促开发人员及时修复缺陷

6、软件测试人员如何履行好自己的职责

      测试理论的支持,一个好的实践离不开好的方法论的支持,测试也是如此,测试理论帮助测试人员更好的理解自己的职责,帮助测试人员更好的定位自己的角色,帮助测试人员更好的熟悉以及提升自己的工作技能

      熟练的测试技能,工欲善其事必先利其器,这里的器就是测试人员本身,测试人员在研发过程中需要做的工作:评审需求,风险评估,选取测试工具,撰写测试计划,搭建测试环境,准备测试数据,设计测试用例,执行测试,输出测试报告,分析总结测试活动经验。其中每个环节都对测试人员有相应的技能要求,熟练的技能能更高效,更顺利的开展测试活动,发现更多更有效的缺陷,更好的帮助开发人员定位问题,帮助产品设计人员完善产品的功能。

      良好的沟通技巧,因为测试过程中涉及要跟产品设计人员确认需求,跟开发人员确认缺陷,帮助开发人员定位问题,整个测试活动中存在像这样大量的需要沟通确认的场景,所以就需要有效的表述问题,友好的表达疑问,耐心的交流

你可能感兴趣的:(软件测试)