• 0
  • 0
分享
  • 分享一个8年软件测试工程师的经验分享——软件测试圈
  • 饭团🍙 2020-12-28 15:14:40 字数 2699 阅读 837 收藏 0

混迹于测试行业这么长时间了,一直想写一篇关于软件测试的经验分享的文章,但苦于工作原因迟迟未下笔。最近终于有了些闲余时间,遂决定把自己的心路历程及所感所想记录下来,与各位同行共勉。

软件测试究竟是做什么的呢?

软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。

简而言之就是证明程序的正确性,检察系统是否满足用户需求,发现bug,证明程序有错。(划重点:找bug不是改bug哦~)

软件测试前景又如何?

  • 软件测试工程师行业前景好、职业寿命长:根据相关招聘网站发布的最新一期的IT职场人气排行榜,其中软件测试工程师、高级程序员、产品项目经理等高薪职位进入”三甲”,成为IT就业市场最新风向标。随着项目经验的增加,项目从业经验越久经历的项目越丰富,就更具有核心竞争力。

  • 软件测试工程师职业空间大、发展方向多元化:顶测科技所培养的软件测试人员不仅仅局限于通信及互联网、应用软件二大行业,在金融及其他行业都占有一定的比量,行业范围非常广。同时由于工作的特殊性,测试人员不但需要对软件的质量进行检测,而且对于软件项目的立项、管理、售前、售后等领域都要涉及。向上可以发展成为测试经理、质量经理,横向可以发展成为项目经理等。

好了说完了软件测试的概念和前景该说说自身了。

自我定位

在踏入软件测试行业的前几年,不少测试人员会陷入迷茫期,主要是对职业发展方向不清晰。网上很多谈软件测试人员职业发展方向及核心竞争力的文章,也确实能为各位测试同行提供不错的建议。作为一名软件测试从业者,也曾迷茫过,准确的说直至2016年才真正找准自我定位,在此就“自我定位”这个话题谈谈自己的一些看法。

笔者小何曾接触不少测试同行,偶尔会听到测试人员抱怨没有得到应有的认可,主要体现在以下几个方面:

1、被人觉得测试工作没有技术含量,相比开发,测试更像是一门体力活。

2、测试人员缺乏相关的技术背景,慢慢形成了有事找开发的工作模式。

3、大部分测试人员只专注于工作的完成度,缺乏更深度的思考和总结,比如如何提高测试效率、如何对业务进行连贯性总结等。

以上三点,提到了两个关键词,“技术”和“业务”。结合《google软件测试之道》及看法,把测试人员的定位区分如下。

功能测试:理论上说,该定位的测试人员应该是对业务需求理解最透彻的群体,专注于用户角度的测试,组织整体质量实践,分析测试运行结果,驱动测试执行。当然除了业务技能过硬,常用的测试工具也是必须掌握的。

功能测试人员下一阶段的的发展轨迹一般是测试经理岗位,因为很多公司的测试经理并不要求具备很强的技术能力,测试经理更看重的是协调沟通、统筹全局、目标管理、执行管理等能力。

性能测试:相比功能测试人员,性能测试人员对业务的理解相对没那么深入,其更偏向于技术的运用及数据分析,目的是找出系统瓶颈。性能测试是一个缺口比较大的岗位,最大的原因是由于对测试人员要求较高,市面上的优秀人才相对较少。我们不妨看看拉勾、猎聘、boss直聘等招聘网站对性能测试人员的常见要求。

1、对经验尤为看重,一般要求3年以上的性能测试经验。

2、熟练掌握主流的性能测试工具,Jmeter、LR等。

3、掌握操作系统、数据库、网络知识等。

4、能够独立规划和组织性能测试,搭建性能测试环境;能够设计性能测试场景,分析性能问题,定位系统瓶颈。

安全测试:提到这个岗位,估计很多小伙伴也只是游离于“安全”两字的字面理解。但笔者想说的是,安全测试是异常复杂的,一个专业的安全测试专家在某种程度上来说就是一个全栈工程师,需具备以下专业素养(部分内容引用《为什么不推荐去做安全测试工程师》《致测试同仁们:让我们一起做安全测试吧》)。

1、要使用别具一格的视角来审视需要测试的软件。

2、要改变测试中模拟的对象。

3、使用专用的测试工具。

4、了解安全漏洞的原理。

5、了解安全漏洞的测试方法及防范知识。

6、掌握“性能测试主要技能”的相关知识。

测试开发:工作重心在可测试性和通用测试基础框架上,编写单元测试框架和自动化测试框架,关注质量的提升和测试覆盖率,持续集成实施等。除了具备业务技能,不同岗位对技术要求也不一样。

测试架构师:可以说该岗位属于测试人员职业发展金字塔的顶端了,这也是笔者努力的方向。关于测试架构师所需具备的专业素养,有兴趣的童鞋可以拜读一下《一个测试架构师工作心得》这篇文章。总而言之,万丈高楼平地起,作为一名软件测试人员,只有不断的学习、积累,才能迈向金字塔顶端。

1、基本技能,编写案例,发现bug等。每一个软件测试人员必须具备的,毋庸置疑。

2、识别盲点,发现深层次的问题。这一层次更看重的是个人经验及思维方式,工作1年和工作5年的测试员对同一需求理解的深度和广度肯定有差距。

3、发现痛点,提升团队效率。该层次更多是能站在团队角度思考,通过分析团队痛点,整合资源来改善团队工作模式,提升测试效率。

4、授人予渔,愚教于乐。该层次的人在某个领域已经具备了比较深度的知识体系,其通过博客、云课堂、线下培训等渠道面向大众传授知识。

5、创新,整合资源,改善行业工作的方式。单凭个人的能力很难达到该层次,所以往往是指某些公司或组织。比如现在盛行的各类云测平台、DevOps等。

广而不精,未能形成知识体系

很多测试人员喜欢在简历上写着精通各类测试工具,比如Jmeter、selenium、robot framework等,结果面试的时候,自己却只能游离于工具框架的基本使用,并没有深入去了解工具的精髓,这就是我们所讲的广而不精。

一切工具的运用说到底是为了提高效率和保证质量,测试行业很推崇自动化测试,下面就以jmeter为例,来阐述如何建立知识体系。

在开展这个话题前,我们先来简单说说有名的GROW模型,笔者的知识体系建立也是以该模型为基础。

G(Goal setting):目标。

R(Reality Check):现状分析。

O(Options):解决方案。

W(Way Forward):行动计划。

软件测试是IT相关行业中最容易入门的学科~不需要开发人员烧脑的逻辑思维、不需要运维人员24小时的随时待命,需要的是细心认真的态度和IT相关知识点广度的了解,每个测试人员从入行到成为专业大牛的成长路线可划分为:软件测试、自动化测试、测试开发工程师 3个阶段。


作者:测试猿David

原文链接:https://blog.csdn.net/weixin_50271247/article/details/109226491

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   苹果公司今天向开发者发布了iOS17.5的首个测试版,正如预期的那样,该更新引入了对从欧盟开发者网站下载应用程序的支持。在iOS17.4中,苹果开始允许开发者通过欧盟的其他应用程序市场提供应用程序,以遵守《数字市场法案》。  苹果最初打算只通过这些市场提供应用程序,但在今年3月,苹果表示事实上将增加对直接从网站下载应用程序的支持。  要在欧盟网站上提供应用程序下载,开发者需要满足特定的标准。开发者需要连续两年或两年以上成为苹果开发者计划的成员,并且必须在上一年在欧盟的iOS平台上首次安装超过一百万次。其他要求还包括提交苹果公司的公证程序和发布透明的数据收集政策。  苹果公司将为授权开发者提...
            0 0 239
            分享
          •   如何使用Greenshot做好测试过程中的截图留痕工作?  在功能测试中,执行每一条测试用例时,都需要对这条用例的执行结果进行记录,以防后续在与开发沟通交流缺陷的过程中出现缺陷不能复现等情况发生。  可是,不好用的截图工具以及截图文件的整理都大大地增加了测试的工作量。因此,这就需要一款方便的截图工具来提升我们测试截图留痕的工作效率,在朋友的推荐下,我选择了Greenshot。  Greenshot是可配置且易于使用的,而且是一款免费的屏幕快照工具。话不多说,接下来我为大家介绍一下如何使用Greenshot做好测试过程中的截图留痕工作。  Greenshot的安装这里就不做过多介绍,大家记得...
            13 13 1499
            分享
          •   数据库大量应用程序开发项目中,大多数情况下,数据库的操作性能成为整个应用的性能瓶颈。数据库的性能是程序员需要去关注的事情,当设计数据库表结构以及操作数据库(尤其是查询数据时),都需要注意数据操作的性能。本文我们以MySQL数据库为例进行讨论。  一、数据库优化目标  1、减少 IO 次数  IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当然,也是收效最明显的优化手段。  2、降低 CPU 计算  除了 IO 瓶颈之外,SQL优化中需要考虑的就是...
            8 8 1593
            分享
          •   软件测试工作和网络工程师有什么区别?下午有个小白和我聊天的时候讲到了,实际上他现在还没有毕业,但是出去面试找工作的时候,网络工程师他找了,一直没有面试上,但是软件测试这个岗位他不知道做什么,却直接就能应聘上。  他说完这个时候,网络工程师成长日记作者小编基本上90%也能猜出他遇到了什么,实际上像这个小白,如果是大专学历,能做软件测试的可能性并不一定很大,更多的可能是遇到了培训机构  一、很多小白太天真,以为企业会对一个人无限制的好  因为这个网友说到了他去面试的时候,他什么都不会,但是对方。告诉他可以无条件的培养他,而且培养他的时候每个月还能发2000,只要他工作了之后,每个月从工资里面掏...
            0 0 866
            分享
          • 一、测试工程师:1、国内定位和发展前景:测试工程师,软件质量的把关者,工作起点高,发展空间大。我国的软件测试职业还处于一个发展的阶段,所以测试工程师具有较大发展前景。 目前传统的软件行业还是以软件测试工程师为主,但是在新兴的互联网行业大多还是以QA来命名这个职位,也就是质量保证。2、工作职责:①编写测试计划、规划详细的测试方案、编写测试用力②根据测试计划搭建和维护测试环境;③执行测试工作,提交测试报告。包括编写用于测试的自动测试脚本,完整地记录测试结果,编写完整的测试报告等相关的技术文档;④对测试中发现的问题进行详细分析和准确定位,与开发人员讨论缺陷解决方案。⑤提出对产品的进一步改进的建议,并...
            0 0 809
            分享
      • 51testing软件测试圈微信