计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件,尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。

计算机专业技能主要包含三个方面:

1.测试专业技能

测试专业知识很多,主要以测试人员应该掌握的基础专业技能为主。

测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术

也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试

流程管理、缺陷管理、自动化测试技术等知识。

2.软件编程技能

软件编程技能实际上应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。

因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能够编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。

此外,对软件测试人员的编程技能要求也有别于开发人员。

测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上,因此测试人员要具备一定的算法设计能力。

依据资深测试工程师的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。

3.网络等知识

与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。

由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。

在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。

操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。

而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。

数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。

测试人员至少应该掌握Mysql、MS SQL Server、Oracle等常见数据库的使用。

行业知识

行业主要指测试人员所在企业涉及的行业领域,例如很多IT企业从事石油、电信、银行、电子政务、电子商务等行业领域的产品开发。

行业知识即业务知识,是测试人员做好测试工作的又一个前提条件,只有深入地了解了产品的业务流程,才可以判断出开发人员实现的产品功能是否正确。

很多时候,软件运行起来没有异常,但是功能不一定正确。只有掌握了相关的行业知识,才可以判断出用户的业务需求是否得到了实现。

行业知识与工作经验有一定关系,通过时间即可以完成积累。

个人素养

作为一名优秀的测试工程师,首先要对测试工作有兴趣。

测试工作很多时候都是显得有些枯燥的,因此热爱测试工作,才更容易做好测试工作。因此,除了具有前面的专业技能和行业知识外,测试人员应该具有一些基本的个人素养,即下面的 “五心”。

1.专心

主要指测试人员在执行测试任务的时候要专心,不可一心二用。

经验表明,高度集中精神不但能够提高效率,还能发现更多的软件缺陷,业绩最棒的往往是团队中做事精力最集中的那些成员。

2.细心

主要指执行测试工作时候要细心,认真执行测试,不可以忽略一些细节。

某些缺陷如果不细心很难发现,例如一些界面的样式、文字等。

3.耐心

很多测试工作有时候显得非常枯燥,需要很大的耐心才可以做好。如果比较浮躁,就不会做到“专心”和“细心”,这将让很多软件缺陷从你眼前逃过。

4.责任心

责任心是做好工作必备的素质之一,测试工程师更应该将其发扬光大。

如果测试中没有尽到责任,甚至敷衍了事,这将会把测试工作交给用户来完成,很可能引起非常严重的后果。

5.自信心

自信心是现在多数测试工程师都缺少的一项素质,尤其在面对需要编写测试代码等工作的时候,往往认为自己做不到。

要想得更好的职业发展,测试工程师们应该努力学习,建立能“解决一切测试问题”的信心。

“五心”只是做好测试工作的基本要求,测试人员应该具有的素质还很多。例如测试人员不但要具有团队合作精神,而且应该学会宽容待人,学会去理解“开发人员”,同时要尊重开发人员的劳动成果——开发出来的产品。

对测试工程师的要求

1.质量意识

在整个软件测试的各个环节中,质量意识一定要贯穿其中。

理解功能力要求,书写测试案例,执行测试计划,发现问题,提交问题,描述问题,协助解决问题,以及问题的跟踪等,在所有的环节中,一定要注重质量,并且从质量的角度来思考问题。

2.细心且系统

软件测试可能每天要重复同样的操作,其工作可能会枯燥无味,并且发现的问题可能很微小或者很杂乱无章、现象不一。

在这样的情况下,软件测试人员一定要细心不放过任何微小的错误,并且从很多杂乱的现象中找出一定的规律和复现性。

并且在测试中有很好的规划性,先测什么而后测什么,不放过任何软件的死角。

在测试中,一定要系统的看待问题,功能模块A的改动会否影响到其他模块的功能,不能想当然,一定要系统性的看待。

有时候一个内存地址的改变,都有可能引起软件的崩溃。

所以一定要系统性的去处理和看待软件中修改的任意一处代码。

3.对知识的掌握

要掌握黑盒测试,白盒测试,功能/系统/压力/性能等等。但

不管测试任何东西,基本理论是不变的:需求文档、设计文档、根据文档制作测试用例(划分等价、边界测试、路径测试、用户体验等等),执行测试、提交并跟踪问题。

最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…