现在软件测试工作越来越得到企业的重视,许多人也投入到软件测试的行列中。软件测试工程师的队伍也越来越壮大。但前段时间看到一个测试行业的调查报告,该报告指出“目前测试从业人员不会超过5万,合格的测试人员不会超过3万,而工作超过5年的更不会超过1万”。那如何成为一名合格的软件测试工程师呢?这是许多人比较关注的一个问题,尤其是初入这个行业的菜鸟更想知道这个问题的答案。
那如何成为一名合格的软件测试工程师?
1、软件测试工程师技能表如下
从2000家知名企业的软件测试招聘信息中统计出来的。
2、具有逆向思维的能力
我曾经接触过一位软件测试工程师,干了一段测试工作后又返回去做开发工作了。问他为什么,他的回答是软件测试工作太难了。开发是顺向思维,而软件测试是逆向思维,总要找一些稀奇古怪的方法去操作软件。软件的使用者千差万别,软件在使用过程中遇到的各种现象也各不相同,所以要求软件测试工程师需要具有一些逆向思维的能力。想别人所不想,测别人所不测,这样才可以找到更多软件中深层次的bug。这是作为一名优秀的软件测试工程师最基本的素质(其实,开发工程师也应该具有逆向思维的能力,在代码中放一些必要的防御型语句对各种错误情况进行处理,才能使软件具有更好的容错性)。
3、具有敏锐的洞察力和锲而不舍的精神
软件测试工程师应当擅于发现问题,并且要肯于钻研,有打破砂锅问到底的精神。对于偶然出现过一次的bug,一定要找出原因,要有不找到问题根源誓不罢休的决心,这种情况下发现的可能是非常严重或者非常容易被人忽视的问题。细心、耐心、信心是软件测试工程师的基本的素质。
4、具有发散性思维的能力
软件测试工程师需要从多个角度思考问题,想尽各种方法及可能性,并从各个角度模拟不同用户的使用。
5、擅于同软件开发工程师沟通
沟通是当今软件项目中需要掌握的关键技能之一。软件测试工程师要擅于同软件开发工程师沟通。软件测试工程师与软件开发工程师搞好关系,使软件测试工程师不成为软件开发工程师的眼中钉——这对提高整个软件项目质量十分重要。
沟通的内容主要包括以下 4 方面:
①讨论软件的需求与设计
通过沟通,可以更好地了解测试的软件产品,以至于尽可能减少在测试过程中测试出不是缺陷的“缺陷”,从而减少给软件开发工程师带来的压力以及给项目带来的延时。
②报告好的软件测试结果
作为软件测试工程师,发现错误往往是软件测试工程师最愿意而且引以为豪的事情,但是一味给开发工程师报告软件错误,会令他们厌恶,降低整个软件的质量和开发进度。所以,作为一名优秀的软件测试工程师,当你测试完毕一个模块后,没有严重的错误或者错误很少时,不妨跑到开发工程师那里告诉他们这个好消息,这样可以加深软件测试工程师与软件开发工程师之间的友谊。
③不仅要报告缺陷,而且要学会如何帮助软件开发工程师定位缺陷
作为一名优秀的软件测试工程师,尽可能多地发现缺陷是最基本的要求。除了这个技能,如果软件测试工程师能够通过分析产品日志等方法,帮助软件开发工程师精确定位,快速解决问题。这样,软件开发工程师与软件测试工程师之间的关系会变得融洽,软件开发工程师也会认为软件测试工程师是他们的助手,而不是给他们找麻烦的人。这样,软件测试工程师的技能也得到了提高。
④讨论一些与工作无关的事情
软件测试工程师经常和软件开发工程师讨论一些与工作无关的事情,如新闻、趣事和家庭等。这样可以加强相互间的默契程度。许多统计表明,这样可以更好地提高软件的质量。
6、擅于同领导沟通
软件测试工程师往往是领导的眼和耳。领导根据软件测试工程师的软件测试结果可以了解公司的产品质量,从而做出正确决策。领导工作一般比较忙碌,所以软件测试工程师要学会把软件测试结果进行总结,最好以图表的形式给领导展示,使领导在第一时间了解软件的质量情况。
7、掌握一些自动化软件测试工具和脚本
软件测试是比较繁琐、枯燥无味的工作,软件测试工程师长期重复的手工工作,会降低软件测试的效率,并且对软件测试质量也有影响。况且软件测试不使用测试工具是不可行的,如性能测试等。目前市场上有许多软件测试工具可供选择,公司或者个人可以根据需要选择一些软件测试工具来辅助软件测试工作。另外,现在有许多自动化工具需要软件测试工程师自己去开发一些代码,所以具有一定自动化测试开发能力也是非常重要的。但是,要记住一点,不是说有了软件测试工具,就不要人工软件测试了,软件测试工具不是万能的。
8、擅于学习
软件测试技术随着时间的变化也在发生更新。软件测试工程师要善于利用书籍、网站、论坛和沟通等途径不断提高自己各方面的知识水平,包括业务知识、软件测试知识和计算机专业知识等方面的内容。
9、提高自己的表达能力
软件测试工程师发现软件中存在缺陷时,要书写缺陷报告。缺陷报告要写得详尽清楚,使软件开发工程师能够尽快定位错误、修改错误。所以,软件测试工程师提高自己的写作能力非常必要。
10、了解业务知识
更好地了解所测试软件的业务知识非常重要。对业务知识了解得越深入,越能够找出更专业、更关键、更隐蔽的错误。所以,软件测试工程师,需要多向该领域的专家、同行学习,提高自身的业务知识水平。学习业务知识的难度比较大,所以软件测试工程师必须在这方面做好心理准备。
11、培养对软件测试的兴趣
“兴趣是最好的老师”。对待任何工作,只有充满兴趣,才会投入更多的精力和时间,才会达到事半功倍的效果。
12、追求完美
对于优秀的软件测试工程师来说,尽可能追求完美,把事情做到极致。尽管有些事无法做到十全十美,但也应该去尝试。
综合以上 12 点阐述,如图 。
关注51testing软件测试网,提升it技能,从不会到熟练只差一步。