怎样成为一个优秀的测试工程师

如题所述

第1个回答  2020-10-06
测试的重要性:
  在很多情况下,开发人员与用户的思维是完全不同的。开发人员由于接近硬件底层,更多的是从机器的“思维”来考虑问题,而用户关注的是使用体验。而在开发过程中,开发人员往往并不能够考虑到用户使用的方方面面,也很难考虑到各种容错处理,导致最后的产品会出现各种问题。
 另一方面,软件系统的复杂性不断地提高,项目的组成越来越多角色,每个角色的主观性都会在软件产品中体现出各类差异:文档不规范、编码不规范、需求不合理等等类似的问题需要在投产之前不断地测试发现,从而提高软件产品质量。

  对于一个项目来说,软件需求定义、设计、实现、打包部署、使用等各个过程中出现的与明确的需求不一致的问题,譬如:不能正确完成任务、完成多余的任务而导致的性能问题,还包括改善产品的建议;与用户隐含的需求不一致等等,通过测试更能站在用户的角度去发现问题,控制错误。

  对于一个企业来说,企业软件质量的好坏直接影响一个企业对外形象,企业的收益,进而关系到每个员工的切身利益,所以无论哪个角度来说,软件的测试工作都是非常重要的。测试人员必须深刻的领会到测试工作的重要性,更好地投身于测试工作中去。

测试的意义:
  很多应届生毕业后可能觉得自己开发能力有限,相比开发,测试工作较为轻松,因此选择了测试行业。就测试这个职业来讲,我认为自己能通过测试得到什么,学到什么才是最重要的。其实这个道理每个人都懂。但平时我们通常是在强调什么呢?保证产品质量,保证公司企业的质量。如何去保证呢,这是我们测试人员需要思考的。往往很多新人在进入测试工作后,只是一味的去执行,而缺少思考。最后导致了对测试工作失去了兴趣。

  我相信我们测试人员不会只是定位在找bug。但是我也同样的看到很多测试人没有找到测试的意义,很多领导和同事可能觉得测试就是为了保证质量,测试是为了找到bug,并且很多公司也仅用数据来定义测试人员的KPI。

  但是,作为一名测试人员,我们不能因此就迷失了做测试的意义,不能最终为了测试而测试。测试的意义是什么呢?

  当你在执行测试用例的时候,意义在学习别人写用例的思路,学习设计方法,而不是在重复执行工作上面。

  当你在编写测试用例的时候,意义在于怎么能够更好的分析需求,写出有意义的有限用例,而不是为了完成任务,写上成千上万条用例。

  当你面对找缺陷这个常见的任务的时候,意义是在于学习研究各种方法,各种技术找到质量高的缺陷,分析总结,而不是为了去完成缺陷数量而去找bug。

  当你作为一个测试管理者的时候,意义在于你要学习管理,学会引导测试人员,学会体谅沟通 ;而不是写好用例之后简单的让他们去执行。

  当你觉得做测试没有意义的时候,想想测试为你带来了什么?测试让你学到了什么?

  所以测试的意义不是简单的执行、不是纯粹的找BUG,我们在做测试的同时,也在逐渐提高自身的技术能力、分析能力、沟通能力、管理能力等各方面的能力。

测试人员应该具备哪些素质:
  后面再讲一下测试人员应该具备的素质。一个优秀的测试人员所具备的素质远远不止我列出来的这些。但是我个人认为,一个合格的测试人员,是应该具备这些素质的:

  首先要具备良好的心里素质,在面对大量重复、枯燥的用例执行任务时,能够沉下心来,认真完成。

  要具有乐观精神,测试过程中难免遇到很多复杂的问题,作为测试人员应该积极乐观地想办法去解决,而不是逃避问题。

  主动地去查阅资料,主动地与人沟通,主动地进行实践。这里的主动,不单单是单方面的吸收,还有主动的进行分享。在相互分享中使自己得到进步。

  最后,分析能力、条理性、责任心这个就不展开说明了,不仅是测试人员,也是每一个职业人都应具备的素质。

开发型测试人才:
  最后我要讲的方面是“开发型测试人才”,什么叫开发型测试人才呢?顾名思义,具有开发能力的测试人员。这个概念是我在初入光庭时,我们测试事业部的周总在第一节培训课程上提到的,我一直记忆犹新。起初我也不以为然,但是经过这么长时间的测试工作以后,才知道开发能力对于测试人员的重要性。

  就拿我们K项目为例,在项目初期,公司投入的测试人员差不多近百人。目前我们测试投入的人力十人不到。这种人力上的节省与效率上的提高都归功于“自动化测试”的实现。“自动化测试”不仅可以提高我们的测试效率,同时保证了测试的覆盖率与正确性。一个优秀的测试人员不仅干得了测试,也能做得了开发。

  最后,引用公司的一句话“超越客户需求,追求完美品质”,以此与所有测试人共勉!
相似回答