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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   Selenium是一个用于自动化Web浏览器的Python库。它提供了一组强大的工具和API,使开发者能够以编程方式控制浏览器的行为,模拟用户与网页的交互。  Selenium可以用于各种Web自动化任务,包括网页测试、数据采集、UI自动化等。它支持主流的Web浏览器,如Chrome、Firefox、Safari等,并提供了丰富的功能,例如:  页面导航:Selenium可以模拟用户在浏览器中输入URL或点击链接来导航到不同的网页。  元素定位和操作:开发者可以使用Selenium定位页面上的元素,例如文本框、按钮、下拉菜单等,并进行点击、输入文本、提交表单等操作。  页面截图:Selen...
            0 0 1231
            分享
          • 2.功能测试        根据软件说明或用户需求验证 App 的各个功能实现,提炼App 的用户使用场景,构建测试点,并明确测试标准,若用户需求中无明确标准遵循,则需要参考行业或相关国际标准或准则。根据被测功能点的特性列出相应类型的测试用例对其进行覆盖。在测试实现的各个阶段跟踪测试情况,及时修正业务或需求理解错误的情况。 2.1 运行1)App 安装完成后的试运行,可正常打开软件。2)App 打开测试,是否有加载状态进度提示。 3)App 打开速度测试,速度是否可接受。 4)App ...
            0 0 1280
            分享
          •   本文描述单元测试的概念,以及Test Harness建立的方法和简单的单元测试过程。  1 单元测试  单元测试,简单来说就是在Simulink模型中只测试一小部分单元的功能。关于单元测试的概念网上有很多资料了,这里不再赘述。博主从实际工作经验的角度来谈谈单元测试的价值。  1.1 场景举例  举个简单的例子,某个工程师需要设计一个逻辑,当毫米波雷达跟踪的目标的置信度大于等于90时,认为该目标是有效目标。于是该工程师设计模型如下:  工程师不小心把判断条件写成大于号,而不是大于等于号。这就导致了置信度为90的目标全部被视为Invalid,从而影响了后面一大片的算法丢失了重要的输入信息。如果...
            0 0 900
            分享
          •   行业现在比较卷,只会功能测试我感觉迟早会被淘汰。  我看今年很多面试的不会自动化连面试机会都没有,我还招聘网上刷了刷,基本岗位都需要自动化测试技能呢。  为什么说只会功能测试会被淘汰呢?毕竟功能测试可能一个月就能学会,很多人自学,随便做做项目功能测试就会了,这样门槛就太低了,这类人群就会很庞大,所以竞争就会很激烈,然后企业肯定会拉高门槛的,所以才有了今年的行业内卷,大家都在竞争一个岗位,那么你不就得各种技术掌握的扎实才行吗?  作为软件测试来说,功能测试是作为测试人员的基本功,也是必不可少的,随着时间的推移,科技的发展,作为测试,不仅仅要有扎实的基础,还是要不断的提升自己,如果一直停留在原...
            0 0 463
            分享
          •   软件测试有35岁危机呢?先看下测试和开发在工作中有哪些不一样。  区别1、项目开发时,需要100个开发人员,项目研发结束后,只需要5个开发人员维护 ,开发的需求在开发前后有着剧烈的变化。但中国当前测试和开发之比,常常在1:8到1:10之间,不可能像开发一样,对人员的需求存在着如此剧烈变化。因此相对来说,测试工作的稳定性要远高于开发。  区别2、开发人员在工作中,会被多变的需求折磨疯了,所以我们在网上会经常看到产品经理和开相互撕逼的段子和故事。但软件测试是对已经开发好的产品进行测试,不会受到多变的需求方折磨。  区别3、开发经常白天被抓去开各种乱七八糟的会,然后只能晚上写代码。测试也可能会白...
            0 0 1731
            分享
      • 51testing软件测试圈微信