最近有粉丝私信我,问了我一些测试开发岗位的一些情况,以及目前测试相关比较前沿的一些概念。
我本身对此也是比较感兴趣,故心血来潮,作下此文,希望能和大家互相交流讨论。
针对粉丝提出的三个问题,我一一展开作答。
一、测试开发所需要的技术栈
二、什么是测试左移,什么是测试右移
三、目前DevOps相对来说比较火,那相应对测试人员的要求是不是更高了?
一、测试开发所需要的技术栈
谈到测试开发所需要的技术栈,我觉得应该没有比这更经典的图了。
测试开发是以质量为中心,以业务为导向,以快速健康地保障产品交付为目标,不仅需要能cover日常测试工作,还需要肩负测试与效能齐头并进的使命的一个岗位。
测试开发岗位的难度比普通的测试要大很多,测试和开发都要懂。
上能通过丰富的测试手段去发现bug,下能开发出效能工具辅助测试,甚至是辅助开发。
那么,传统的测试工程师会被淘汰么?这个谁都不敢做保证。要想在这个行业生存下去,唯一的丛林法则就是:优胜略汰,要跑赢技术更迭。
二、什么是测试左移,什么是测试右移
先说背景,大公司的软件发布流程是怎么样的?
我们做的,仅仅是在测试这一步,假如开发没有开发出来,我们就只能干等着;假如上线之后有bug,我们就只能背黑锅。
**测试处在一个及其被动的局面,全是在等!**我工作的第一年,也是在这种状态下渡过的:每次都觉得测试排期被挤压,每次都觉得测试不充分,每次都感觉上线有点虚。
直到我知道了测试左移和测试右移。
先来聊聊,测试左移
测试左移主要说的是“事前”,理念是:越早测试,越易发现,修复成本越小。
我们在正式测试之前的步骤,其实可以不必等。我们甚至可以在产品需求文档输出时,就可以开始进行测试。
虽然现在普遍的测试工作流程中,已经有了需求评审、编写测试用例、评审测试用例、开始冒烟测试这几个环节来保证初级的测试左移,但是测试左移绝不仅限于此。
看下图:
接下来再来聊聊测试右移
测试右移主要说的是“事后”,通过一些生产环境中的测试与监控,来提升软件的性能。
这里也用一张图来给大家看看测试右移可以做哪些事:
假如把测试左移和测试右移加上之后,我们的软件发布流程又会变成怎样呢?
这里再强调一点:
质量不是QA“测”出来的, 全流程,全角色的努力,才有质量
所以说,测试左移和测试右移,并不仅仅是测试在做,而是全员努力才能做好。
三、目前DevOps相对来说比较火,那相应对测试人员的要求是不是更高了?
1)DevOps是什么?
根据中国信息通信研究院颁布的《DevOps 行业标准***》上的描述,DevOps是研发运营一体化。
研发运营一体化是指在IT软件及相关服务的研发及交付过程中,将应用的需求、开发、测试、部署和运营统一起来,基于整个组织的协作和应用架构的优化,实现敏捷开发、持续
交付和应用运营的无缝集成。帮助企业提升IT效能,在保证稳定的同时,快速交付高质量的软件及服务,灵活应对快速变化的业务需求和市场环境。
研发运营一体化的总体架构如图所示:
主要包含三大块:敏捷开发管理、持续交付、技术运营。
简单来说,DevOps的目标就是实现快速稳健的把产品交付给用户,并给企业更快的带来商业价值。
最终软件工程将像汽车制造业一样,具备稳健的生产流水线和流程管理方式。
目前行业内的头部互联网公司,都在这块做了不少的专研,也有不少实践案例。可以说DevOps是未来的必经之路。
2)这个概念对测试行业意味着什么?
对测试行业的要求会更高,这就意味着,测试不单单是测试,也是DevOps里面的重要一环。
这一环就是让测试流程更加规范化,结合测试左移、测试右移,将完整的测试体系搭建起来,需要提供应对复杂业务场景的测试解决方案。
并且往更高层次的自动化去发展,更大程度地去提升人效。
而为了完成这一宏图伟业,就需要在座的各位测试开发同仁共同的努力了。
对于小白来说,万不可安于现状,臻叔眼前的测试行业,仍旧是一片蓝海,还有很多值得探索的地方,比方说:AI测试、大数据测试、搭建一个功能齐全、服务全线的测试中台,这些都是值得玩味探索的地方。