软件测试工程师应该具备哪些技能

如题所述

要成为软件测试工程师,我们应该掌握哪些技能。
1.描述问题的能力
程序是人写的难免会出Bug,但是也是因为是某个程序员写的,他对于内在的逻辑、可能发生问题的地方会有一个大致的判断。测试工程师的工作就是,告诉他发生问题数据的ID、发生问题的场景、当时的测试数据是怎样的等等。而不是,把一个截图甩给程序员,说:“这地方出错了啊。”
2.基础代码能力
如何增强对逻辑思维的锻炼?写代码啊,又学一门手艺又得到了大脑的锻炼,岂不是美滋滋?
貌似很多测试工程师都喜欢去学Python这门语言,确实这是一门对于代码入门者非常友好的语言,但是测试小哥都有一个困惑:学了Python能干嘛?我的建议是从写爬虫开始,学习爬虫的编写可以接触到网络请求的基本知识、可以学习到正则表达式,需要爬取大量数据时,还可以顺便学习一下数据库的使用。当然了,对于爬虫来说,学习一下非关系型数据库就可以了。这一方面是为自己学习自动化测试铺路,一方面也可以为以后转岗提供换一个后路:不做测试了我干脆去写代码好了。
3.乐观的心态
测试工程师每天面对的是程序中的“错误”,而程序员每天都在创造代码。起码我作为一个垃圾代码的创造者,是很讨厌去排错的。因此就我而言,测试时你很难保证心态的平和,因为你不知道什么时候会出一个莫名奇妙的错误。
假设这么一个场景,你测试出了一个bug,但是程序员自测之后发现无法复现,你的第一反应不应该是脱口而出:“不可能!”而应该是比对两个人的测试用例,发现可能存在的问题。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-31
现在软件测试已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础。因此,测试工程师应该努力学习测试专业知识,告别简单的点击之类的测试工作,让测试工作以自己的专业知识为依托。测试专业知识很多,测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。
测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。只有能编写程序,才可以胜任诸如单元测试,白盒测试相关的测试工作,并得到较好的职业发展。

网络、操作系统、数据库、中间件等知识,与开发人员相比,测试人员掌握的知识具有博而不精的特点,艺多不压身是个非常形象的比喻。由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调用,因此测试人员需要掌握更多网络、操作系统、数据库等知识。本回答被提问者采纳
第2个回答  2020-03-19
如果想成为一个比较好的软件测试工程师的话,以下这些条件是需要具备的:
1.你要有较好的编写代码的水平,最好是自己亲自独立完成过某软件的开发工作
2.需要对数据库有较为清楚的认识,以及会编写数据库脚本
3.了解至少2种以上的操作系统,并且对问题有较强的分析判断能力
接下来,如果你想成为更优秀的测试工程师,就需要具备如下素质:
(这部分是我转的,因为我也同意这个说法)
1、有相当的白盒测试经验,这就需要能针对核心模块,核心算法进行代码走查和代码跟踪,从代码内部发现问题。要想做到这一点,不仅要了解所使用的编码语言本身,还要会使用它提供的IDE工具进行代码的跟踪和调试,这些功夫可不是看看书就能掌握的呦;
2、熟练使用流行的测试工具,虽然无论是wr还是lr本身在测试工作中并不会每天都涉及到,但是对工具的熟练掌握确实我们职位和薪水得以晋升的一个重要的砝码,所以介于这一点,建议考一些工具方面的认证可能会比较实用一些。
总之,我觉得软件测试工程师的要求比较高,如果你从未有过编程经验,可能几乎没有公司会录用你,实话,莫怪
大三啊,那是可以自学成功的啦,我是电气专业的,都不懂编程的,毕业工作以后自学的,半年已经可以基本满足要求了。
只要你能坚持下来,别半途而废,就好。我是觉得做测试要比做程序员好很多的,呵呵,那你加油咯~
第3个回答  2020-01-03

测试专业技能
测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。

软件编程技能
软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能够编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。
此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据资深测试工程师的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。

网络、操作系统、数据库、中间件等知识
与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。
在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。
操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。
数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql、MSSqlserver、Oracle等常见数据库的使用。
相似回答