软件测试工程师的所需要的职业素养是什么?

发表于:2019-12-17 11:17

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:草帽飞飞    来源:简书

#
职场
分享:
  一.专业技能
  计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。
  计算机专业技能主要包含三个方面:
  ⒈ 测试专业技能:
  测试专业知识很多,主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试功能测试、集成测试、系统测试性能测试等测试方法,还包括基础的测试流程管理、缺陷管理自动化测试技术等知识。
  ⒉ 软件编程技能:
  软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能够编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。
  此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据资深测试工程师的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。
  ⒊ 网络、操作系统数据库、中间件等知识与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。
  由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。
  在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。
  操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。
  数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql、MSSqlserver、Oracle等常见数据库的使用。
  二.行业知识
  行业主要指测试人员所在企业涉及的行业领域,例如很多IT企业从事石油、电信、银行、电子政务、电子商务等行业领域的产品开发。行业知识即业务知识,是测试人员做好测试工作的又一个前提条件,只有深入地了解了产品的业务流程,才可以判断出开发人员实现的产品功能是否正确。
  很多时候,软件运行起来没有异常,但是功能不一定正确。只有掌握了相关的行业知识,才可以判断出用户的业务需求是否得到了实现。行业知识与工作经验有一定关系,通过时间即可以完成积累。
  三.个人素养
  作为一名优秀的测试工程师,首先要对测试工作有兴趣:测试工作很多时候都是显得有些枯燥的,因此热爱测试工作,才更容易做好测试工作。因此,除了具有前面的专业技能和行业知识外,测试人员应该具有一些基本的个人素养,即下面的“五心”。
  1.专心:主要指测试人员在执行测试任务的时候要专心,不可一心二用。经验表明,高度集中精神不但能够提高效率,还能发现更多的软件缺陷,业绩最棒的往往是团队中做事精力最集中的那些成员。
  2.细心:主要指执行测试工作时候要细心,认真执行测试,不可以忽略一些细节。某些缺陷如果不细心很难发现,例如一些界面的样式、文字等。
  3.耐心:很多测试工作有时候显得非常枯燥,需要很大的耐心才可以做好。如果比较浮躁,就不会做到“专心”和“细心”,这将让很多软件缺陷从你眼前逃过。
  4.责任心:责任心是做好工作必备的素质之一,测试工程师更应该将其发扬光大。如果测试中没有尽到责任,甚至敷衍了事,这将会把测试工作交给用户来完成,很可能引起非常严重的后果。
  5.自信心:自信心是现在多数测试工程师都缺少的一项素质,尤其在面对需要编写测试代码等工作的时候,往往认为自己做不到。要想获得更好的职业发展,测试工程师们应该努力学习,建立能“解决一切测试问题”的信心。
  “五心”只是做好测试工作的基本要求,测试人员应该具有的素质还很多。例如测试人员不但要具有团队合作精神,而且应该学会宽容待人,学会去理解“开发人员”,同时要尊重开发人员的劳动成果——开发出来的产品。
  四.对测试工程师的要求
  1、质量意识:在整个软件测试的各个环节中,质量意识一定要贯穿其中。理解功能需求,书写测试案例,执行测试计划,发现问题,提交问题,描述问题,协助解决问题,以及问题的跟踪等,在所有的环节中,一定要注重质量,并且从质量的角度来思考问题。
  2、细心并且系统:软件测试可能每天要重复同样的操作,其工作可能会枯燥无味,并且发现的问题可能很微小或者很杂乱无章、现象不一。在这样的情况下,软件测试人员一定要细心不放过任何微小的错误,并且从很多杂乱的现象中找出一定的规律和复现性。并且在测试中有很好的规划性,先测什么而后测什么,不放过任何软件的死角。在测试中,一定要系统的看待问题,功能模块A的改动会否影响到其他模块的功能,不能想当然,一定要系统性的看待。有时候一个内存地址的改变,都有可能引起软件的崩溃。所以一定要系统性的去处理和看待软件中修改的任意一处代码。
  3、软件测试理论的掌握以及开发工具和平台的应用:黑盒测试,白盒测试,功能/系统/压力/性能等等。但不管测试任何东西,基本理论是不变的。需求文档,设计文档,根据文档制作测试用例(划分等价、边界测试、路径测试、用户体验、等等),执行测试,提交并跟踪问题。当然,行业的不同,其测试用的工具和方法也不太一样。手机App该如何测试,无线通讯产品该如何测试,C/B-S应用该如何测试,这些产品的差异性很大,其用到的工作也很不一样,但是其基本的测试理论还是一致的。
  4、站的高看的细:不能光有理论,对测试的很多文档可以提出很多有建设性的意见,但当执行测试时却不能发现问题。这其中有几个原因,一是可能提出的意见并没有写进测试案例中,二是有可能执行不仔细总是忽视问题的存在,三可能就是没有去实施。所以一定要站在一定的高度去看待软件测试,但是又要很细致的实施。只有通过实践,才能发现问题改进问题到最后解决问题。
  5、团队合作:这个无需多讲,在这个产品日渐复杂的年代,很难有一己之力就可以在各个方面做的最好。要充分发挥团队每个人员的工作能力和效率。
  6、怀疑:有些书是这样定义软件测试的,软件测试不会去证明软件是正确的,而是去证明是错误的,但是我们不可能发现所有的错误。所以有很多时候要去怀疑要去假设。

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号