• 0
  • 0
分享

  在谈到软件测试工程师时,许多人还是会想到那些重复使用软件并试图在频繁的操作中发现 BUG的人,也就是人们常说的按照测试规范和测试案例来测试软件,检查软件是否有错误,判断软件是否稳定。但这是一个很老派和错误的观点。

  由于以上观念,导致软测试工程师在最初的十年中基本上处于较低的地位,认为测试工程师从事的是技术含量不高、随时可以取代的重复工作。

  据调查,国内的软件测试,在互联网刚刚兴起的十多年间被冷眼对待,特别是那些没有配备软件测试人员的中小型软件企业,测试工作往往由开发岗位兼任,通常只进行简单的白盒测试,这种做法在一定程度上等于让用户也充当了测试的角色,造成的后果往往是用户发现一堆问题后进行反馈,然后修改,反复修改造成的后果就是软件难以稳定,用户的耐心也被消磨殆尽,最终导致项目失败。

  近几年来,各大互联网企业兴起,对软件的需求不断增加,对软件的稳定性和性能的要求也越来越高,对软件测试工程师的技能要求也是一个挑战,每一个测试工程师都要根据工作的需要,对自己的水平做相应的调整。

  以下我们就来盘点测试工程师各个阶段所需的技能。

  初试工程师(1-2年测试经验)

  初试工程师为入行1-2年的工程师,进入初级测试工程师的门槛不会太高,一般对专业没有什么限制,有专科学历,熟悉软件测试技术、方法、流程、测试文档等。最好还有 ISTQB的证书,这种证书这些年比较流行,也不难考,业内差不多都认为他是初级测试工程师的上岗证,当然如果入职的公司没有特别要求,不考也无所谓。

  此时测试的是软件的功能方面,如果想要进一步提升,还需要熟悉自动化测试流程、管理、测试框架等,比如功能测试工具 WinRunner、 QuickTestPro,熟悉一些主流的软件工程方法和理念,例如 RUP、 CMM、 CMMI、 XP、 PSP、 TSP等;了解软件工程、软件生命周期模型基础、了解软件配置管理等。

  此外,作为一个测试工程师,沟通能力非常重要,要学会及时地和开发人员沟通,开发人员和测试人员并非站在两极,而是两个角色,一个是软件实现的,一个是软件实现的。

  中等测试工程师(3-4年测试经验)

  要想达到中等水平,也必须3年以下的工作经验,做的工作内容也会有所改变。

  中层测试工程师负责编写软件测试方案、测试文档,共同编制软件测试阶段的工作计划,能够合理地使用测试工具在项目运行中完成测试任务;不再局限于简单的功能测试,还会自动测试、性能测试等。

  自动测试比较简单,学习难度相对较大。性能测试是下一个十年的趋势,所以这一阶段的重点是性能测试,要在这一阶段积累经验,沉淀一定的知识积累、知识深度。因此,在这一阶段,必须深入理解通用的性能测试工具,并在这一阶段培养自己的核心竞争力。

  市场上使用最多的性能测试工具是 JMeter和 LoadRunnner,两者各有长处,但不能否认它们所占的市场份额。

  JMeter: Apache公司开发的基于 Java的压力测试工具。用来做软件压力测试,它最初是为 Web应用程序测试而设计的,后来扩展到其他的测试领域。

  该工具可用于静态和动态资源的测试,如静态文件、 Java小服务程序、 CGI脚本、 Java对象、数据库、 FTP服务器等。JMeter可以用来模拟服务器、网络或对象的巨大负载,在不同压力类别下测试它们的强度并分析总体性能。

  此外, JMeter可以对应用程序进行功能/回归测试,并通过创建脚部断言来验证您的程序返回预期的结果。其优点是易于安装,而且是开源软件,是免费的,所以很多小公司在进行性能测试时都会用到这个工具,但它的缺点也比较明显,它在进行系统性能测试时无法模拟真实情况测试,并且不能做较大的性能项目测试。

  这款软件学习一般可以自己购买书籍自学,难度不会太高,是入门最早进入性能测试领域的工具首选。

  LoadRunner:最早是 Mercury公司的产品。2006年, Mercury被惠普收购成为惠普的产品。2017年,惠普的整个软件部门被全球第七大纯软件公司 Micro Focus收购,成为 Micro Focus产品。

  这种识别和寻找问题的方法是模拟上千万用户实时并发负载和实时性能监控, LoadRunner可以测试整个企业架构。利用 LoadRunner,企业可以最小化测试时间优化性能并加快应用系统的发布。

  使用 LoadRunner的 VirtualUser Generator引擎,该软件的优点是在进行测试时能进行实时监控,以帮助更快地确定和发现问题所在,从而方便地模拟应用系统的负载量。它可以产生代理和虚拟用户来模拟业务流程和真实用户的操作行为。

  然而在他强大的功能下,购买成本高昂,而且这个工具的使用也有一定的门槛。因此,通常购买这种软件的是那些愿意花这笔钱从 LoadRunner厂商那里购买软件的中小型软件开发企业;那些不愿花这笔钱的小型软件开发企业也会去寻找一些破解版工具,因此市场上对会使用 LoadRunner的工程师需求比较大。

  但令人难为情的是,市场上能熟练使用 LoadRunner的测试工程师并不多,因此 LoadRunner厂商 Micro Focus在近两年内也推出了 LoadRunner相关的认证培训,可以在其网站上查询。不懂的地方可以私聊一起交流软件测试。

  资深测试工程师(5年以上)

  这一阶段属于这一行业的最高级阶段,当然也不排除有高薪的存在,下面是一个大概的数据。这段时间一般不会只是简单的进行测试技术的较量,只想自己专心做技术也是不可能的,管理到这个阶段是不可缺少的。

  由于这一阶段你已经达到了一定的水平,你必然会得到提升,你要开始扮演一个管理人员和技术人员的角色。此时除了为自己的团队提供技术方面的指导和支持,还要具备与客户打交道的能力,例如对其进行演示推广等。

  同时您还负责了一些项目的测试,这段时间一方面要不断提供自己的测试技术,还要提高自己的管理能力和沟通能力。毫无疑问,到了这个阶段,我们可以重新梳理自己的事业,按照现状来规划下一步。

  事实上,整体而言,就是五个字——核心竞争力。十年来,测试工程师缺口比较大,而且技术员一般都是需要时间成长的,很多企业已经有缺口,不能自己动手培养,而且成本太高,所以他们肯定喜欢快速上手。

  而测试工程师需要有非常广泛的知识体系,这是基础,在此基础上,我们要想想我们和普通测试工程师不一样的地方,一旦我们发现自己和别人一样,我们就会被别人选择;如果我们有特殊的技能,我们也可以选择别人。当我们规划自己的职业生涯时,我们要时刻提醒自己,我们什么地方比别人高,怎样保持自己的独特性。



作者:北国的秋    

来源:http://www.51testing.com/html/16/n-4480316.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   一、认识web自动化测试  1.什么是自动化测试?  自动化测试的概念:软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作,正确合理的实施自动化测试,能够快速,全面的对软件进行测试,从而提高软件质量,节省经费,缩短软件的发布周期。  2.为什么进行自动化测试?  自动化测试的好处:  1)缩短测试周期  计算机行业更新迭代快速,大量频繁的回归测试消耗时间,自动化测试能够将重复的实行交给计算机去做,加快测试速度。  2)避免人为出错测试人员不可能持续高度集中,并且人类易...
            0 0 997
            分享
          • 自动化测试是什么?自动化测试学什么?自动化测试面试题及答案?–看完后吊打面试官!一、前言最近有童鞋和我抱怨,说网上很难搜到那些全面又合适的自动化测试面试题,这里根据我个人的经验以及收集整理的:你没看错,不慌,慢慢来。先从什么是自动化测试开始说起哈!二、什么是自动化测试?什么是自动化测试?当我第一次知道自动化测试的时候,除了知道“自动化”这三个有些高大上的称呼之外,我对自动化测试一无所知,正如谈恋爱一样,找女朋友之前要知道她是谁。自动测试就是把以人为驱动的测试转化为机器执行的一种过程,它是一种以程序测试程序的过程。嗦嘎!那么…三、自动化测试需要学什么技能?这是我以前在知乎写的,可以详细的了解20...
            13 16 4175
            分享
          •   一般在面试开始时,面试官会让我们先自我介绍一下,自我介绍主要讲一下自己的教育经历,项目经历,主要工作内容,优缺点等等。  自我介绍完了之后,面试官会根据我们的自我介绍及简历上的信息进行提问,那么面试过程中都会问那些问题呢?  面试常见问题1:  介绍一下你最近做的一个项目  这可能是最常见的一个问题了,那么我们该如何回答呢?  首先将项目的主要流程及功能介绍一下,然后拿出最主要的一个模块,来详细的讲解一下。比如说我一个商城的项目,介绍完了商城的主要流程及功能之后,我们要挑选最主要的一个流程,比如购买商品流程来详细的讲解一下。  这个模块是干什么的(购买商品);都有哪些方式去购买(直接购买,...
            0 0 1324
            分享
          • 接着上篇《深聊性能测试,从入门到放弃之:如何对IO进行性能调优(上)》,我们继续来分享IO调优4、IO调整4.1 磁盘速度改进改进方式,主要分两种:①磁盘快取监控(disk cache controller)②磁盘列阵技术4.1.1 磁盘快取监控(disk cache controller)定义将从磁盘读取的数据存在快取内存(cache memory)中,以减少磁盘存储的次数。数据的读取都在快取内存中进行,大幅增加存取的速度。如果要读取的数据不在快取内存中,或要写数据到磁盘时,才做磁盘的存取动作。注意点这种方式在单工环境(single-tasking environment),如DOS之下,对...
            1 0 2818
            分享
          • 测试过APP的人都应该发现,app崩溃是一类非常常见的问题,很多时候还是致命性的,这就要求我们测试人员要尽最大可能去找出软件当中的缺陷,减少app崩溃出现的概率,这里我将收集到的关于针对APP崩溃测试的资料以及自己的工作经验整理如下:一、APP中BUG的直接影响App的Bug会直接影响用户的体验、App 商店的评级、用户的忠诚度,声誉等等...二、App崩溃是非常常见的一类bug例如很多时候我们正在使用某个APP,正在使用着突然应用就停止响应,界面上弹出“强制关闭错误”的窗口需要强制关闭应用,而iOS的APP呢则很多使用就会出现闪退的现象,这些问题,我想都是很多人所遇到的,这些都是app常见的...
            11 11 2723
            分享
      • 51testing软件测试圈微信