最近有粉丝私信我,问了我一些测试开发岗位的一些情况,以及目前测试相关比较前沿的一些概念。

我本身对此也是比较感兴趣,故心血来潮,作下此文,希望能和大家互相交流讨论。

针对粉丝提出的三个问题,我一一展开作答。

一、测试开发所需要的技术栈
二、什么是测试左移,什么是测试右移
三、目前DevOps相对来说比较火,那相应对测试人员的要求是不是更高了?

一、测试开发所需要的技术栈

谈到测试开发所需要的技术栈,我觉得应该没有比这更经典的图了。

测试开发是以质量为中心,以业务为导向,以快速健康地保障产品交付为目标,不仅需要能cover日常测试工作,还需要肩负测试与效能齐头并进的使命的一个岗位。

测试开发岗位的难度比普通的测试要大很多,测试和开发都要懂。

上能通过丰富的测试手段去发现bug,下能开发出效能工具辅助测试,甚至是辅助开发。

那么,传统的测试工程师会被淘汰么?这个谁都不敢做保证。要想在这个行业生存下去,唯一的丛林法则就是:优胜略汰,要跑赢技术更迭

二、什么是测试左移,什么是测试右移

先说背景,大公司的软件发布流程是怎么样的?

我们做的,仅仅是在测试这一步,假如开发没有开发出来,我们就只能干等着;假如上线之后有bug,我们就只能背黑锅。

**测试处在一个及其被动的局面,全是在等!**我工作的第一年,也是在这种状态下渡过的:每次都觉得测试排期被挤压,每次都觉得测试不充分,每次都感觉上线有点虚。

直到我知道了测试左移测试右移

先来聊聊,测试左移

测试左移主要说的是“事前”,理念是:越早测试,越易发现,修复成本越小。

我们在正式测试之前的步骤,其实可以不必等。我们甚至可以在产品需求文档输出时,就可以开始进行测试。

虽然现在普遍的测试工作流程中,已经有了需求评审、编写测试用例、评审测试用例、开始冒烟测试这几个环节来保证初级的测试左移,但是测试左移绝不仅限于此。

看下图:

接下来再来聊聊测试右移

测试右移主要说的是“事后”,通过一些生产环境中的测试与监控,来提升软件的性能。

这里也用一张图来给大家看看测试右移可以做哪些事:

假如把测试左移和测试右移加上之后,我们的软件发布流程又会变成怎样呢?

这里再强调一点:

质量不是QA“测”出来的, 全流程,全角色的努力,才有质量

所以说,测试左移和测试右移,并不仅仅是测试在做,而是全员努力才能做好。

三、目前DevOps相对来说比较火,那相应对测试人员的要求是不是更高了?

1)DevOps是什么?

根据中国信息通信研究院颁布的《DevOps 行业标准***》上的描述,DevOps是研发运营一体化

研发运营一体化是指在IT软件及相关服务的研发及交付过程中,将应用的需求、开发、测试、部署和运营统一起来,基于整个组织的协作和应用架构的优化,实现敏捷开发、持续

交付和应用运营的无缝集成。帮助企业提升IT效能,在保证稳定的同时,快速交付高质量的软件及服务,灵活应对快速变化的业务需求和市场环境

研发运营一体化的总体架构如图所示:

主要包含三大块:敏捷开发管理、持续交付、技术运营

简单来说,DevOps的目标就是实现快速稳健的把产品交付给用户,并给企业更快的带来商业价值

最终软件工程将像汽车制造业一样,具备稳健的生产流水线和流程管理方式

目前行业内的头部互联网公司,都在这块做了不少的专研,也有不少实践案例。可以说DevOps是未来的必经之路。

2)这个概念对测试行业意味着什么?

对测试行业的要求会更高,这就意味着,测试不单单是测试,也是DevOps里面的重要一环。

这一环就是让测试流程更加规范化,结合测试左移、测试右移,将完整的测试体系搭建起来,需要提供应对复杂业务场景的测试解决方案。

并且往更高层次的自动化去发展,更大程度地去提升人效。

而为了完成这一宏图伟业,就需要在座的各位测试开发同仁共同的努力了。

对于小白来说,万不可安于现状,臻叔眼前的测试行业,仍旧是一片蓝海,还有很多值得探索的地方,比方说:AI测试、大数据测试、搭建一个功能齐全、服务全线的测试中台,这些都是值得玩味探索的地方。