一文搞懂测试左移和测试右移的 Why-How-What

简介: ![](https://ceshiren.com/uploads/default/original/3X/f/d/fdb234546dd6939eb69cef72255fc9d4b580bfe6.jpeg)软件测试技术应当贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其核心目标是尽快尽早地发现软件产品中所存在的各种问题 bug—— 与用户需求、预先定义的不一致


软件测试技术应当贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其核心目标是尽快尽早地发现软件产品中所存在的各种问题 bug—— 与用户需求、预先定义的不一致性。
然而,传统的软件测试流程是:
接到项目后参与需求评审,然后根据需求文档写写用例和准备脚本,等开发提测之后正式开始测试、提 Bug、回归测试,测试通过后就结束了。然后,项目交给运维上线,之后测试人员再投入下一个项目,继续重复这样的流程。
这样的流程看似没什么问题,但缺点是:测试过程是在一定时间间隔之内发生的,测试人员必须等待产品完全构建才能找到错误和故障。不可否认,花费的时间超过了可以商定的时间,测试人员就非常被动,因为等待代码成为测试人员的瓶颈。
而在移动互联网和 DT 时代,互联网产品迭代周期短、速度快、频次高,促进了敏捷开发和持续交付等研发模式的全面流行,这也给传统软件测试方式带来了更大的时间压力。
而测试左移以及测试右移的意义就在于能够让测试拥有更多的主动权,有更充足的时间进行测试,同时不会像之前因为质量差风险高每次都延期上线,并且产品的线上质量也能有保证。
不管是测试左移还是测试右移,都是为产品质量服务。测试人应该秉持这样的理念:不要把提测认为是测试活动的开始,上线是测试活动的结束,更不要认为质量只是测试同学需要关注的。
测试左移是向测试之前的开发阶段移动。
测试左移的原则支持测试团队在软件开发周期早期和所有干系人合作。因此他们能清晰地理解需求以及设计测试用例去帮助软件“快速失败”,促使团队更早的修改所有的 Bug。更深入的参与和理解会促进测试人员获取产品完整的知识,彻底想清楚各种场景,并根据软件行为设计实时的场景,这些都会帮助团队在编码完成之前识别出一些缺陷。
测试左移聚焦在使测试人员在全部和最重要的项目阶段参与进来。这就是测试人员把焦点从发现 Bug 转移到 Bug 的预防上,同时也驱动项目的商业目标。
随着测试团队的责任的提高,团队不在仅仅聚焦在“测试软件去发现 Bug”,而是积极团队合作,参与项目初始阶段的计划和建立强壮有效的测试策略,而测试策略又为团队提供好的测试领导力和指导,使团队聚焦在产品的长远的视角,而不仅仅是测试工作。
测试左移首先为测试人员提供了设计测试的机会,无论这些测试是被聚焦在客户的体验还是期望,也促使开发人员根据这些测试去开发软件以满足客户需求。
测试右移是测试活动向产品发布之后的步骤移动。
测试右移是产品上线了之后也可以进行一些测试活动。主要关注的是产品性能及可用性监控,以及新功能的测试。通过测试右移可以在生产环境做监控,监控线上性能和可用率,一旦线上发生任何问题,尽快反应,提前反应,给用户良好的体验。
在霍格沃兹测试学院的测试开发课程教学体系,已经整理了当下最流行最实用的测试左右移技术栈,这里供参考:

  • 代码审计系统 SonarQube 实战
  • 测试用例与 JaCoCo 代码覆盖率数据分析实战
  • ASM 插桩技术与 JVM-SandBox 项目实战
  • 精准化测试平台构建实战(可参考之前文章)
  • ELK 深度解读与最佳应用实践
  • 测试数据采集、同步、存储与分析实战
  • 线上质量监控与数据分析实战
  • 测试平台开发实战(SpringBoot+Vuejs+Bootstrap)

以上,测试左移和测试右移是现代互联网研发和测试技术体系的必然趋势,也是大厂对中高级测试开发工程师的必备技能要求。
测试开发工程师会通过测试左移,更深入介入开发工作,提前与开发人员一起制定测试计划,推动代码评审、代码审计、单元测试、自动化冒烟测试、测试精准化分析以及研发自测等来保证研发阶段的质量。
另外,也会通过测试右移,参与配置部署,将自动化测试用例配置到持续交付链中,并全流程监控发布后的应用质量。

相关文章
|
7月前
|
Devops 测试技术 持续交付
测试左移,使质量反馈更快速,更可靠
测试左移,使质量反馈更快速,更可靠
测试左移,使质量反馈更快速,更可靠
|
7月前
|
测试技术
测试左移等于工作不饱和?
测试左移等于工作不饱和?
58 0
|
2月前
|
人工智能 安全 测试技术
CrowdStrike 的失败如何凸显了左移测试的重要性
CrowdStrike 软件更新失败是一个重要的教训,它让我们认识到早期、自动化和全面的软件测试的重要性。
|
7月前
|
自然语言处理 IDE 测试技术
测试左移的方法
测试左移的方法
|
7月前
|
架构师 测试技术 Windows
论测试左移有多难?
论测试左移有多难?
|
Devops 测试技术 持续交付
测试左移,让质量反馈来得更高效,更可靠
大家好,我是阿萨。最近几年大家都在说测试左移。今天我们就聊聊测试左移的话题。
247 0
测试左移,让质量反馈来得更高效,更可靠
|
供应链 安全 Cloud Native
左移测试,如何确保安全合规还能实现高度自动化?
「云原生安全既是一种全新安全理念,也是实现云战略的前提。 基于蚂蚁集团内部多年实践,云原生PaaS平台SOFAStack发布完整的软件供应链安全产品及解决方案,包括静态代码扫描Pinpoint,软件成分分析SCA,交互式安全测试IAST,运行时防护RASP,安全洞察Appinsight等,帮助企业客户应用软件实现『发布前检测,运行时免疫』。 本周,我们将持续分享解读四大产品。」
94 0
|
存储 Kubernetes NoSQL
块存储质量的铸就之路 — 测试左移在大型分布式系统中的工程实践
修复一个Bug的成本在不同阶段有着天壤之别,发现问题越早,修复代价便越低。本文将讲述阿里云块存储在真实业务场景中的测试左移实践。
392 1
|
监控 网络协议 前端开发
测试右移-后台服务监控告警实践
作为项目的测试人员,除了要完成项目测试的基本工作,还应当能够及时跟进问题反馈、了解问题背后的真实原因、参与讨论解决方案,驱动问题解决,从而“变被动为主动”。
测试右移-后台服务监控告警实践
|
测试技术
测试右移,让产品稳定性更高
大家好,我是阿萨。昨天我们讲了测试左移,那么有没有测试右移呢?答案是Yes。昨天通过测试左移的介绍,我们了解了通过管道里的不同测试类型左移以减少整体验证时间。今天我们学习下测试右移。测试右移简单理解就是利用好生产环境或者是线上环境去做测试。
144 0