想要成为20k的软件测试工程师,你需要具备什么能力?

现在软件测试工作越来越得到企业的重视,许多人也投入到软件测试的行列中。软件测试工程师的队伍也越来越壮大。但是,如何成为一名优秀的软件测试工程师呢?这是许多人比较关注的一个问题,尤其是初入这个行业的菜鸟更想知道这个问题的答案。

作为一名优秀的软件测试工程师应该具备这些技能。

  1. 熟练的计算机操作能力,简单的编程基础。
  2. 熟练地搭建测试环境的能力。
  3. 高效设计测试用例和发现有效缺陷的能力。
  4. 掌握网络技术、数据库知识、操作系统知识以及其他计算机专业知识和技能。
  5. 熟练使用自动化测试工具。
  6. 具有一定的自动化测试开发能力。
  7. 良好的职业素质。
  8. 起码有 3 年以上的软件开发经验

现在,许多软件企业招收一些刚刚毕业的大学生或者非计算机专业的人员作为自己公司的软件测试工程师,这是非常错误的,也是对软件测试不负责任的表现。虽然他们可以发现软件中的一些错误,但是对于软件中一些关键的、致命的及危险的错误是很难发现的。大家都知道,软件工程中有一个模型叫瀑布模型,这是一个最基本的软件模型,这个模型早期又叫做碗状模型,如图 1 所示。开发位于碗的最底部,左上方依次为业务建模、需求分析和设计;右上方依次为测试、部署和维护。这就说明软件开发是一切软件活动的基础,当然也是软件测试的基础。一个人只有经历过一定年限的软件开发工作,才可以积累丰富的经验,知道在软件中哪些地方容易出错,哪些地方不容易出错。这样,才可以为以后的软件测试工作带来非常宝贵的经验。

图1 瀑布模型(碗状模型)

具有逆向思维的能力

我曾经接触过一位软件测试工程师,干了一段测试工作后又返回去做开发工作了。问他为什么,他的回答是软件测试工作太难了。开发是顺向思维,而软件测试是逆向思维,总要找一些稀奇古怪的方法去操作软件。软件的使用者千差万别,软件在使用过程中遇到的各种现象也各不相同,所以要求软件测试工程师需要具有一些逆向思维的能力。想别人所不想,测别人所不测,这样才可以找到更多软件中深层次的Bug。这是作为一名优秀的软件测试工程师最基本的素质(其实,开发工程师也应该具有逆向思维的能力,在代码中放一些必要的防御型语句对各种错误情况进行处理,才能使软件具有更好的容错性)。

具有敏锐的洞察力和锲而不舍的精神

软件测试工程师应当擅于发现问题,并且要肯于钻研,有打破砂锅问到底的精神。对于偶然出现过一次的Bug,一定要找出原因,要有不找到问题根源誓不罢休的决心,这种情况下发现的可能是非常严重或者非常容易被人忽视的问题。细心、耐心、信心是软件测试工程师的基本的素质。

具有发散性思维的能力

软件测试工程师需要从多个角度思考问题,想尽各种方法及可能性,并从各个角度模拟不同用户的使用。

擅于同软件开发工程师沟通

沟通是当今软件项目中需要掌握的关键技能之一。软件测试工程师要擅于同软件开发工程师沟通。软件测试工程师与软件开发工程师搞好关系,使软件测试工程师不成为软件开发工程师的眼中钉——这对提高整个软件项目质量十分重要。沟通的内容主要包括以下4方面。

1讨论软件的需求与设计

通过沟通,可以更好地了解测试的软件产品,以至于尽可能减少在测试过程中测试出不是缺陷的“缺陷”,从而减少给软件开发工程师带来的压力以及给项目带来的延时。

2报告好的软件测试结果

作为软件测试工程师,发现错误往往是软件测试工程师最愿意而且引以为豪的事情,但是一味给开发工程师报告软件错误,会令他们厌恶,降低整个软件的质量和开发进度。所以,作为一名优秀的软件测试工程师,当你测试完毕一个模块后,没有严重的错误或者错误很少时,不妨跑到开发工程师那里告诉他们这个好消息,这样可以加深软件测试工程师与软件开发工程师之间的友谊。

3不仅要报告缺陷,而且要学会如何帮助软件开发工程师定位缺陷

作为一名优秀的软件测试工程师,尽可能多地发现缺陷是最基本的要求。除了这个技能,如果软件测试工程师能够通过分析产品日志等方法,帮助软件开发工程师精确定位,快速解决问题。这样,软件开发工程师与软件测试工程师之间的关系会变得融洽,软件开发工程师也会认为软件测试工程师是他们的助手,而不是给他们找麻烦的人。这样,软件测试工程师的技能也得到了提高。

4讨论一些与工作无关的事情

软件测试工程师经常和软件开发工程师讨论一些与工作无关的事情,如新闻、趣事和家庭等。这样可以加强相互间的默契程度。许多统计表明,这样可以更好地提高软件的质量。

擅于同领导沟通

软件测试工程师往往是领导的眼和耳。领导根据软件测试工程师的软件测试结果可以了解公司的产品质量,从而做出正确决策。领导工作一般比较忙碌,所以软件测试工程师要学会把软件测试结果进行总结,最好以图表的形式给领导展示,使领导在第一时间了解软件的质量情况。

掌握一些自动化软件测试工具和脚本

软件测试是比较繁琐、枯燥无味的工作,软件测试工程师长期重复的手工工作,会降低软件测试的效率,并且对软件测试质量也有影响。况且软件测试不使用测试工具是不可行的,如性能测试等。目前市场上有许多软件测试工具可供选择,公司或者个人可以根据需要选择一些软件测试工具来辅助软件测试工作。另外,现在有许多自动化工具需要软件测试工程师自己去开发一些代码,所以具有一定自动化测试开发能力也是非常重要的。但是,要记住一点,不是说有了软件测试工具,就不要人工软件测试了,软件测试工具不是万能的。

擅于学习

软件测试技术随着时间的变化也在发生更新。软件测试工程师要善于利用书籍、网站、论坛和沟通等途径不断提高自己各方面的知识水平,包括业务知识、软件测试知识和计算机专业知识等方面的内容。

提高自己的表达能力

软件测试工程师发现软件中存在缺陷时,要书写缺陷报告。缺陷报告要写得详尽清楚,使软件开发工程师能够尽快定位错误、修改错误。所以,软件测试工程师提高自己的写作能力非常必要。

了解业务知识

更好地了解所测试软件的业务知识非常重要。对业务知识了解得越深入,越能够找出更专业、更关键、更隐蔽的错误。所以,软件测试工程师,需要多向该领域的专家、同行学习,提高自身的业务知识水平。学习业务知识的难度比较大,所以软件测试工程师必须在这方面做好心理准备。

培养对软件测试的兴趣

“兴趣是最好的老师”。对待任何工作,只有充满兴趣,才会投入更多的精力和时间,才会达到事半功倍的效果。

追求完美

对于优秀的软件测试工程师来说,尽可能追求完美,把事情做到极致。尽管有些事无法做到十全十美,但也应该去尝试。

综合以上 12 点阐述,请参见图 2 。

图2 优秀的软件测试工程师应该具备的能力

最后给想转行测试行业或者已经从事测试行业想提升的小伙伴安利一个福利:

上面是我整理的一些软件测试学习资料,对于学软件测试的小伙伴来说应该会很有帮助,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这份资料也已经帮助了很多的软件测试的学习者,希望也能帮助到你。

如果文章对你有帮助的,请帮我点赞收藏,这样我才有动力继续更新下去!也欢迎加入我的软件测试交流群(563251944)里面不定时分享测试资源,还有同行大佬一起交流学习

精彩推荐

专业太偏门,毕业既失业,转行软件测试拿到9k的offer

0基础学习软件测试,需要具备哪些技能才能找到工作?

注意避雷——软件测试的这些误区你知道么

猜你喜欢

转载自blog.csdn.net/CSGO55678/article/details/121423563