做一个优秀的软件测试工程师要具有哪方面的能力呢

 “您好,我想请教您,做一个优秀的软件测试工程师要具有哪方面的能力呢,还是 只是靠经验?是多而广的测试工具,还是少而专的工具呢?”
   关于优秀的软件测试需要哪些能力,软件测试是一项很枯燥、很乏味、很无聊,好像没什么成就感,没什么技术含量的工作,这是我第一次接触软件测试的时候的感觉,我想每个刚进入软件测试这个行业大概都和我有同感吧,当然现在的感觉变了,可能是自己渐渐接触时间的变长。其实我们在平凡的岗位上,做着不平凡的工作。
   在软件测试的历史上,曾有三件因为软件测试而出现的重大事件,事件一:爱国者导弹防御系统把“枪口”对准了自己人。事件二:美国迪斯尼公司的狮子王游戏软件的兼容性问题,事件三:售票系统性能问题。所以成为一个优秀的软件测试工程师,首先你必须是专业的,打个比方,你发现bug了,在你将bug反馈给开发之前,你必须多次、反复的确认你所提问题的存在,不要在反馈的时候,别人几句就给反驳了,你要让别人没有任何反驳的余地,你所说的每一点都要有理有据.
   1.首先必须具备的就是认真、负责、严谨、耐心的态度,因为我们软件测试工程师吃的就是这口饭,所以比必须对你所测产品负责,宁可错杀一千,也不可放过一个bug.虽然在软件测试的7条原则里,第一条就是bug本身就是无穷尽的,但我们作为测试人员,应尽快能的确保质量
   2.其次就是过硬的技术本领,技术是为测试服务的,无论是测试理论、测试工具、开发知识、数据库操作系统、网络知识、我们都必须精通一门,知晓其它(当然这个做到比较难,什么都会很难,再者多了之后,就不会精了,什么都会也等于什么都不会,这个自己把握),因为测试与开发或者其它行业不同,它可能更多的在乎你广度而不是深度(这个可能更多的是指手工测试)
   3.其实也就是业务知识,光有技术,没有业务,再好的技术也很难使上劲,熟练的业务知识会帮助你发现更多的缺陷,进而更好的保证好产品的质量.
   4.其次就是沟通能力了,测试人员经常要与开发等不同的人员打交道,如何更准确、更简洁、更严谨的描述bug,同时如何让开发人员接受你发现的bug等,所以良好的沟通能力显的尤为重要.
   5. 缜密的逻辑思维能力。其实我个人感觉测试人员和刑侦有点向,我们测试人员不单单只是发现问题,我们应该更多的关注bug产生的真正原因,准确的定位,更好更快的协助开发人员解决bug,所以这个需要你有很好的逆向反推能力。

   关于只是靠经验?是多而广的测试工具,还是少而专的工具呢?当然经验丰富当然好,它能更好的帮助你分析问题,解决问题。关于测试工具,其实测试工具只是为测试服务的,我们不能把重点放在工具上,更多的是人。就好比手工测试与自动化测试,哪个发现的问题更多,我个人觉得肯定是手工测试发现的问题要比自动化测试发现的问题要多的多。


现在软件测试工作越来越收到企业的重视,许多人员也投入到软件测试的行列中来,软件测试工程师的队伍越来越壮大。但是如何成为一名优秀的软件测试工程师呢?这是大家比较关注的一个问题,尤其是初入这个行当的莱鸟更想了解这个问题的答案。本文根据自己多年来在IT公司从事软件测试的经验总结了一些东西给大家共享,同时也希望大家提出宝贵的意见和建议。起码有三年以上的软件开发经验现在许多软件企业招收一些刚刚毕业的大学生或者非计算机专业的人员作为自己公司软件测试工程师,这是非常错误的,也是对软件测试不负责任的表现。虽然他们可以发现软件中的一些错误,但是对于软件中的一些关键,致命,危险的错误他们是很难发现的。大家都知道,软件工程中有个模型叫瀑布模型,这是最基本的软件模型,熊猫人之谜这个模型又叫碗状模型,因为开发位于碗的最底部,左上方依次为建模,需求分析,设计;右上方依次为测试,部署,维护。这就是说明软件开发是一切软件活动的基础,同时也是软件测试的基础。一个人只有经历过一定年限的软件开发工作,才可以积累丰富的经验,知道在软件中哪些地方容易出错而那些地方不容易,这给以后的软件测试工作带来非常宝贵的经验。有逆向思维的能力我曾经接触过一些软件测试工程师,他们干了一段时间软件测试工作后返回去又开始去做开发工作了,问他们为啥?答案是软件测试工作太难了,开发是顺向思维,而测试是逆向思维,老要找一些稀奇古怪的思路去操作软件。软件的使用者千差万别,软件在使用过程中遇到的各种现象也是千差万别的,所以要求软件测试工程师需要具有一些逆向思维的能力,想别人所不想,测别人所不测,这样才可以找到更多的软件中的错误。这是作为一名优秀的软件测试工程师最基本的素质。善于同软件开发人员沟通沟通是当今软件项目中需要掌握的最关键技术之一。软件测试人员要善于同软件开发人员沟通,软件测试人员与开发人员搞好关系,使测试人员不成为开发人员的眼中钉,这对于提高整个软件项目质量是十分重要的。沟通主要包括:讨论软件的需求,设计:通过这样的沟通,你可以更好的了解所测试的软件系统,以至于尽可能少的测试出软件中不是错误的“错误”,从而降低给软件开发人员带来的压力。报告好的测试结果:作为一个测试人员,发现错误往往是测试人员最愿意而且引以自豪的结果,但是一味地给开发人员报告软件错误,会给他们造成厌恶感,降低整个软件的质量和开发进度。所以作为一名软件测试工程师,当你测试的模块没有严重的错误或者错误很少的时候,你不妨跑到开发人员那里告诉他们这个好消息,这会给你带来意想不到的结果。讨论一些与工作无关的事情:作为一个测试人员经常和开发人员讨论一些与工作无关的事情,比如大家可以谈谈新闻,趣事,家庭…这样可以加强相互间的默契程度,许多统计表明,这样可以更好的提高软件工作质量。善于同领导沟通测试人员往往是领导的眼和耳,领导根据测试人员的测试结果可以了解公司的产品质量,从而调整其他的工作。领导工作一般比较繁忙,所以作为一名优秀的测试人员要学会把测试结果进行总结,最好以图表的形势给领导看。掌握一些自动化测试工具测试工作往往是比较繁琐,枯燥无味的工作,测试人员长期处于重复的手工工作,会降低测试效率,并且对于测试质量也往往是不利的;况且许多测试不使用测试工具是不可以进行的,比如性能测试,压力测试等等。目前市场上有许多测试工具供你使用,你可以根据自己的需要选择一些测试工具来辅助你的测试。但是要记住一点,不是说有了测试工具就不要人工测试了,测试工具不是万能的。善于学习的能力软件测试技术随着时间的变化也在做一些提高和改进,作为一名优秀的测试人员要善于利用书籍,网站,论坛,交流等各种途径不断提高自己的软件测试水平。提高自己的表达能力软件测试人员当发现软件中存在缺陷的时候,往往要书写缺陷报告,缺陷报告要写得详尽清楚,使开发人员能够尽快定位错误,修改错误,所以作为一名优秀的测试人员提高自己的写作能力是非常必要的。了解业务知识更好的了解你说测试软件的业务知识是非常重要的,对业务知识了解得越深入,越能够找出更深入,更关键,更隐蔽的软件错误。所以作为一名优秀的软件测试工程师,要多向该领域专家,同行学习,提高自己的业务知识水平。以上仅为个人的一些经验所谈,希望大家都能够成为一名优秀的软件测试工程师。

阅读更多
换一批

没有更多推荐了,返回首页