我想过成功,我想过失败,但是,我从来没有想过放弃。。。

你问我来答:如何成为一个专业的软件测试工程师

上一篇 / 下一篇  2012-05-28 14:50:59

会员kaixinle:我怎样把我学到的东西运用到实际测试中,像QTP我都不知道怎么和实际的测试活动相关联,JMeter等还可以,现在需要进行压力测试所以现在对它理解稍微深点,可以用上但还不能分析,哎,我应该怎么办呢???”

  专家:自动化测试和手工测试一样,它也是有一个流程的,从前期的自动化测试需求分析,自动化测试用例设计、编写脚本、执行脚本、维护脚本。至于如何把您学到的用到实际的测试中,首先您现有的项目环境是否给您提供了这个机会,如果没有,您应该自己去寻找这样的机会。其实有这样的迷茫,说明您已经开始思考了,说明现有环境已经不能给您提供这样的平台,所以才开始迷茫的。关于JMeter,我没有怎么接触过,性能测试这块,我接触的比较少,我觉得您学的东西比较多,我个人建议您应该好好思考一下自己的职业规划,看自己以后想往哪方面发展,不要什么都做,但什么都不精(当然通一晓十,能做到当然好)。

  会员yun_yun435:您好,我想请教您,做一个优秀的软件测试工程师要具有哪方面的能力呢,还是 只是靠经验?是多而广的测试工具,还是少而专的工具呢?

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

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

  会员海上钢琴师:现在我在一家传媒公司负责web测试工作,就是it168文库测试,整个文库就我一个人负责,没有办法保证线上没有一点儿问题,前几日出现了一个大bug,领导批我一顿,尽管我使用了虚拟机/测试机/远程/等等手段,可是还是觉得有心无力,每次上线都会很担心,怎么才能尽可能多的覆盖呢...我很苦恼...

  专家:首先谢谢您的表扬,看到您的表扬,感觉自己之前的回答有了些许肯定,呵呵,我就怕自己的回答不但没帮到别人,相反还起到了相反的结果,至少也会误人子弟的。从您的描述中,我想说的事,测试不是一个人的事,它需要一个团队。从测试需求分析、用例分析与设计、执行测试用例、总结测试结果、每一个阶段都需要人。一个人,就是很粗心、很大意的去把整个系统过一遍都难,何况是测试时需要很严谨、很仔细的工作。再者,任何事物都是有缺陷的,软件测试的七条原则的第一条原则就是bug本身就是无穷尽的,我们软件测试工程师就是尽可能的保证软件的质量。关于最后系统上线,出现问题,这个责任该归咎与谁,这个在测试和开发中一直都在争论中,从开发的角度讲,出现问题,应该是测试人员没做好,不然要测试部门干什么,而测试部门则认为开发部门开发能力的问题,没做好,再者任何事物都是有缺陷的,bug本身就是无穷尽的。

  关于如何尽可能多的覆盖,这个问题挺大的,首先,在测试需求分析与提取阶段,您要做的非常细,您要把开发的需求分析的每个功能点提取出来,把能测试的在做尽一本的提取,只要把这些功能点覆盖到了,我个人觉得测试人员的职责已经尽到了。

  关于系统上线,总担心会出问题,不同的环境,系统会出问题,这个是正常的,即使前期做很仔细的测试。我个人建议,您可以向公司管理层建议加大测试部门的投入,一个人是做不好的,其次是测试流程规范的建立,把自己所做的测试做个总结报告,每个星期,或者每个月,以报告的形式发给您的领导,让它知道您做的事的成果。

  会员徐昊:我从事web测试的。目前公司涉及测试内容只是功能性测试。我想自学QTP这方面自动化测试内容,并想了解下,这方面测试需要了解学习的计算机语言或脚本语言有哪些?还有就是我目前做了一年多测试工作,想请教下,测试的发展方向,和我需要往哪方面提升的。谢谢你。

  专家:关于QTP,它的脚本语言是VBScript,这里给您推荐一本个人认为比较好的vbscript的书《vbscript程序员参考手册》,另外如果有时间的话,我还是建议您学一门编程语言java或者C#.关于发展方向,1.可以走技术路线,专注于功能测试,或者自动化测试或者性能测试 2.技术到管理路线3.测试顾问等。具体走哪条路线,这个要根据您的兴趣,您的职业规划。“我需要往哪方面提升的”,您好好思考一下自己的职业规划,这个问题就好解决了,虽然计划赶不上变化,但我认为一定的计划会让自己有方向感,给个参考的建议,您可以加深对测试理论的学习,可以学习QTP或者性能测试方面的技术,稍微了解就可以,如果以后有项目机会,并且您有想这方面的路线的,到时候再加强也不迟,其次就是掌握一门编程语言,还有数据库(这个可以不需要很深入,但一般的sql要会),如果这些都很熟练了,可以学一下linux,所有的学习都是为您选的路线或者目标服务的。


TAG:

 

评分:0

我来说两句

Open Toolbar