最近群里你们一直讨论测试左移和右移的话题,引起出关于测试人员从业的讨论。做为一个混迹IT圈17,8年,曾经作测试8年的IT女民工,发表一点感想。html
对于需求,代码,质量,效率,《代码大全》很早就从软件工程实践角度说明了一个bug产生的不一样阶段,修复一个bug的成本从需求阶段,设计阶段,测试阶段有着天壤差异。不只从成本上,从修复难度,引入新问题的可能性,沟通成本,团队状态也会有很大的影响。因为大部分bug都是在写代码的阶段就引入的,测试左移本质上能够尽早的发现,预防问题,使用必要的测试手段在软件开发周期的早些阶段发现问题。测试越是集中到后期,尤为是集成测试时进行功能测试,产品的复杂度就越高,出现问题后,越难以定位bug,修复时间花费越长。因此,bug越早被发现,越节约成本。这也是测试左移被广泛接受的缘由。程序员
测试左移的手段:运维
1. 在需求评审时不仅是了解需求,更是要去评估需求的质量,分析需求的合理性以及完整性。ide
2. 代码扫描,代码质量检查,进行单元测试,测试驱动开发,这些都是在开发阶段就引入测试的手段。工具
3. 测试人员尽早介入测试,参加需求分析,评审。性能
4. 持续测试:自动化测试。单元测试
从测试左移的实现手段来看,你们会发现,说了半天,都代表了一件事情,测试不只要懂需求,还要懂代码,写代码。学习
说完测试左移,再聊聊测试右移。测试右移指产品上线了以后进行一些测试活动,在生产环境作监控,监控线上性能和可用率,一旦线上发生任何问题,作到快速响应,代码回滚,避免给用户形成很差的体验。测试还须要跟进工单反馈,用户反馈收集处理,及时解决问题,完善产品功能体验等。能够作到测试右移是由于不少公司如今都作灰度发布,小范围内在生产环境中进行功能测试。测试
灰度发布url
测试右移包括:
1.测试上线及时验证,有问题,开发快速回滚代码
2.上线后开发监控服务日志,日志报错,代码回滚
3.监控服务流量,出现流量报警快速定位问题
4.关键指标每日监控
5.生产数据监控
6.用户反馈问题及时跟进,针对缺陷,通知开发尽快解决,针对体验,通知产品打磨细节。
从测试右移来看,测试人员不只须要懂得产品功能,还须要会使用监控工具,看懂监控指标,知道什么指标表明异常。另外还要跟踪缺陷,定位问题。
解释完测试左移和右移,你们也许就明白了。Oh, My God,目前业界对于测试人员的要求是:能写代码,能用监控,能发现bug,还得定位问题。哪里有这样的测试人员,赶忙跳出来,我看看长什么样子?若是贵公司不当心得到了这样的测试人员,那么好好珍惜吧,有开发经验,能够写自动化测试工具,还能甘心作测试的同窗,真的太少了,要知道测试80%以上都是重复性工做。
整体而言,测试岗位是一个技术岗位,可以左移右移的测试人员须要:
1. 代码写的好,最好是Java
2. 会用市面上经常使用的自动化测试工具,不管是Selenium, QTP, Cucumber, JMeter, LoadRunnder, 通通能够上手。
3. 对产品功能了如指掌。
4. 对测试理论,测试管理理念有深刻的理解。
5. 细心,会沟通。
6. 最关键的问题是,热爱测试工做,愿意无穷尽的找bug。
由于能够达到以上要求的测试人员太难找了,因此大部分公司目前都会将测试左移交给开发,测试右移交给运维,线上功能测试交给业务部门。目前在持续交付的影响下,不少公司都创建了自动化部署流水线,这对于自动化测试的要求极高,因此愈来愈多的测试工做都交给开发来作,利用自动化测试工具开发自动化测试与部署流水线融合。可以写代码的测试人员很差招,还不如交给程序员。这种状况压挤了不少只会进行手工测试的测试人员的生存空间。
综上所述,测试人员的职业发展能够有如下几条路:
1. 对写代码感兴趣的,直接转开发,或者去作自动化测试。
2. 对写代码不感兴趣的,或者不擅长的,能够去转运维,可是也须要学习Linux,Python,和其余一些运维工具。
3. 1,2都是技术岗位。以上都不敢兴趣的,那就赶忙转型吧。喜欢研究业务功能的,能够转型作BA,或者直接转到业务部门去研究产品需求。喜欢作项目管理的,能够转型作PM。
IT角色职责不少,不是只有技术路线一条路能够走到黑。测试能够转BA,PM,业务,实在不行多考几个证来作咨询。不管选择哪条路,借助刘润老师的一句话“每一个人都是本身的CEO”,每一个人都须要经营好本身的职业发展。想一想你离开这家公司,还能剩下什么,让本身换个公司继续在职场中前行。