• 1
  • 1
分享

  作为一只从事软件测试将近10年的老鸟,如今在腾讯某测试团队任职测试主管一职。回首过往,从事软件测试这十年也有些许体会,写出来供大家思考,欢迎大家留言交流。

  首先,先谈谈软实力,一个优秀的测试技术专家,我认为需要具备以下几个特性:

  持续学习能力:

  计算机技术的发展可谓日新月异,如果不持续学习,那么不出2年,你就会发现你只能当一个廉价的手工测试人员。所以如果能在工作中学习最好,不能的话,下班后保证2个小时的自学时间。几年下来,你就能发现自己的进步有多大。

  沟通能力:

  日常工作的沟通能力,和开发、产品、运维、客服同事的沟通要及时,表达要准确,多微笑、多倾听、保持良好轻松的同事关系。

  正式场合的沟通能力,如项目周会、评审会议、总结会议,一定要提前做准备,讲什么、怎么讲,自己私下里先练习一下,这样在正式场合才能表达清楚、气定神闲、落落大方,给领导和同事留下一个好的印象。

  团队合作能力:

  首先从心态上,要强调整体的概念,放下单打独斗的想法。在实际项目中,体现为团队成员之间的相互协作、资源共享、共同进退。这个时代已经不是一个英雄创造神话的年代了,只有团队的齐心协力才能把项目做好,这样的人往往也是公司最喜欢,最愿意去培养的人。

  与优秀的人为伍:

  所谓近朱者赤,近墨者黑。跟对一个老大、和优秀的人共事,找一个优秀的伴侣、经常去参加一些牛人讲座、技术论坛,通过这些人的耳濡目染,一定会让你少走很多弯路。

  其他还有很多软实力,但我个人认为以上几点比较重要。

  在谈谈软件测试职业发展的思考。软件测试让你的发展可以分为两条路,第一条路是测试管理,第二条路就是测试技术专家,而在测试技术领域里,无外乎就是性能测试专家和自动化测试专家这两个方向。

  明确了软件测试职业规划的三个方向,接下来就是如何选择一条适合自己的方向。

1.jpeg

  下面是我对于各个发展方向的几条建议和思考。

  关于选择测试管理:

  首先、你一定不是一个喜欢技术,对技术敏感的人,这个很容易判断。

  第二,你一定是个善于沟通,组织协调能力强的人。

  第三,你的长期抗压能力较强,上能顶住领导批评,下能顶住下属埋怨。能受得了委屈,吃的了亏。

  第四,你对管理工作充满持续的激情,如果过去你是一个学生干部,那更加没问题。

  总之,相对你的IQ,你的EQ更高。那么从性格上来说你比较适合做测试管理工作。

  想要成为测试管理人才:

  首先你一定要成为一个功能测试专家;通过参与至少2个完整项目的测试工作,你对测试理论、一个完整项目的测试流程、测试活动、测试输出了如指掌。

  第二,尽量选择一个行业如电信、支付、网购、通讯等深入做下去,成为该领域的业务专家。因为测试经理的角色往往也是半个需求人员的角色。

  第三,尽量在头三年的时间里,亲自参与功能测试、性能测试、自动化测试工作,为后面测试管理的招聘工作、测试计划、人员分配、任务安排打下一个良好的技术基础,说白了,测试管理工作也是一个技术管理岗位,没有一定的技术功底,很难开展后续的管理工作。

  关于管理类思考:

  不要不懂装懂。你不懂不会,不足以让组员瞧不起你;你不懂装懂,所有组员都会瞧不起你。管理就是管理,是把项目做好,不是让你练擒拿格斗,一定要制服组员。勇于上问、不耻下问,快速学习,这才是团队学习之道。

  作为Lead,如果没什么重要事情,到点就走人——不然你的组员会碍于面子而陪着你。你有没有想过他还有可能要陪父母、妻子和儿女呢?如果你经常这么干,建议你看一看《二十美元的故事》这则小寓言。

  要做权威,不要做学霸。我想说的是:下属进谏的速度和广度决定于你的心胸与宽容度。正因为大多数初级管理人员心胸狭窄、宽容度低,才导致了团队习惯性的“绝对上下一致”。据我所知,印度程序不是这样的风格,属下和领导、新手和权威可以心平气和地讨论分歧而不必面红耳赤。我的建议是:在团队中,不要等级观念,要平等;不要讽刺刻薄,要尊重;不要放不下架子,要宽容;不要目中无人,要谦虚。总之一句话:大家都是普通人,谁能跟谁差哪儿去呢?

  关于选择测试技术专家:

  选择技术这条路正好和测试管理人员具备的性格相反。

  首先,你不喜欢组织协调这样的工作,你性格有些孤傲,不喜欢管理其他人,第二,你不一定是个技术狂热者,但你不排斥技术,你的动手能力较强,喜欢实践,能静下心来学习,那么你有成为一个技术专家的潜力。如果你掌握一门编程语言,或者有信心学好一门编程语言,那么恭喜你,你有成为自动化测试专家的潜力。通常,性能测试专家和自动化测试专家在技术上是相通的。

  关于技术类思考:

  软件工程的任何一个部分——从需求分析、架构设计到最后的Debug——都能引入Bug,有时候是单个引入,而有时候则是一窝一窝地引入。所以,优秀的测试员理应掌握丰富的软件工程知识。很难想象一个不懂材料力学和结构力学的工程师能够验收刚刚建好的大厦。

  测试员不但需要学习编程,而且需要学习各种编程。初级测试员可以站在用户的角度上去观测和使用软件,以期找出Bug所在,但高级程序员更需要借助程序的原理来剖析更深刻的东西。毫不夸张地说:如果想深度测试Web程序,你应该学学Hacker;如果想研究.NET的程序,你应该学会MSIL;如果想深度Debug原生代码,你应该学习汇编、了解PE文件格式;如果想深度测试软件的安全性,你应该学学破解。总之,理想的测试员应该比程序员更深一个层次。

  如果你确定了自己想要在测试领域发展下去并取得成就,那么无论是技术能力、管理能力还是其他软能力都是要不断学习和练习的。有一个著名的10000小时定律理论,即一个人想要成为某个领域的专家,需要经过1万个小时的锤炼。

  道法自然,没事多学点东西;选择你所爱的,爱你所选择的;使自己和家人过的开心快乐,比什么都强!



作者:佚名   

来源:http://www.51testing.com/html/20/n-4477920.html


2022 测试行业报告.jpg

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   对于存储性能测试,一般有两种方法:  1. 使用业内比较认可的性能测试工具,比如IOMeter、fio、iozone等。这类工具一般是开源的,应用范围很广泛,使用它们的一个好处是可以快速和其他存储产品做横向对比。哪怕大家是在不同时间、不同地点、不同环境测试的,但只要参数设置差不多,就可以拿来简单对比(如果要做完整对比,必须放在同样的环境中测试)。不足之处是它们只能按照预定义的模式机械测试,大多数情况下无法真实反应实际应用环境的IO模式。  2. 直接在真实的应用环境中进行性能测试。这种方法测出来的结果,针对特定的场景,具有权威的参考性。不足之处就是搭建环境可能比较麻烦,每个应用的依赖环境都...
            0 0 1132
            分享
          •   众所周知,Appium是移动端界面自动化中最常用的开源框架之一,它能够支持 iOS 平台和 Android 平台上app及Web应用测试,支持Mac,Windows操作系统,并且支持多种语言,Java、Python、PHP、C#、js等,让你不受编程语言的束缚 。下面我将展示Appium框架应用测试的一个具体实例。  一、框架环境安装  环境搭建需要具备以下软件,如下表:  环境配置略微复杂些,涉及到多个软件的安装及参数配置等,可参考网上Appium搭建文文档,环境搭建不属于本篇文章的重点,不再赘述。  二、测试流程操作  1、安装APK  打开模拟器,安装好自己要测试的app包 。  2...
            1 1 1713
            分享
          •   软件测试行业是和软件开发相辅相成得一个行业,但目前大家对于软件测试行业的了解并不多,甚至很多学了软件测试的朋友也不是很了解。今天,就来给大家说一说,软件测试行业的前景、就业方向和薪资待遇。  岗位前景  很多小伙伴都曾听说这样一句顺口溜:“有的人喜欢创造世界,所以他们做了开发;有的人喜欢开发,所以他们做了测试。”这句话虽然只是一种调侃,但是,也能反映出早些年,国内普遍存在着重开发、轻测试的问题。  随着时间的流逝,软件测试行业在经历了10多年的发展后,早已有了质的飞跃。在北上广深等一线城市的带动下,互联网和软件行业的日渐成熟,软件测试也得到了各个公司的重视。据拉勾网显示,目前软件测试人才的...
            0 0 543
            分享
          • 传统测试流程与敏捷测试在探讨测试左移和测试右移之前,我们先来聊一下传统的软件测试流程(瀑布模型)和目前很多公司在用的测试流程(敏捷模型)的区别。软件测试作为软件研发的一部分,有什么样的开发模式,就有与之对应测试模式。因此就有了适合传统瀑布开发模式的传统测试和适合敏捷开发模式的敏捷测试。传统测试是在程序开发完成之后,更强调测试的独立性,将开发和测试两个角色分的比较清楚,而敏捷测试更强调整个团队对测试负责。传统测试具有明显的阶段性,而敏捷测试更强调持续测试和持续质量反馈。传统测试强调测试的计划性,而敏捷测试强调测试的速度和适应性,需要不断调整测试计划以适应需求的变更。传统测试更关注测试文档,如测试...
            1 2 2308
            分享
          • 引言对于产品的手机项目(应用软件),主要是进行系统测试。而针对手机应用软件APP的系统测试,我们通常从如下几个角度开展:功能模块测试、兼容性测试、安装和卸载测试、软件更新测试、性能测试、用户体验性测试、交叉事件测试、用户界面测试等。功能测试要点及常见缺陷常见的功能类缺陷APP崩溃这是测试中的常见问题,这类问题也是非常严重的,会直接影响用户对产品的第一印象,例如我们正在使用某个APP,正在使用突然应用就停止响应,界面上弹出“强制关闭错误”的窗口,需要强制关闭应用,或者正在使用时出现闪退的现象。这些情况都很影响用户的体验,导致用户卸载该APP。通用的触发移动APP崩溃的测试场景,如下:验证在有不同...
            13 14 2256
            分享
      • 51testing软件测试圈微信