测试右移,让产品稳定性更高

简介: 大家好,我是阿萨。昨天我们讲了测试左移,那么有没有测试右移呢?答案是Yes。昨天通过测试左移的介绍,我们了解了通过管道里的不同测试类型左移以减少整体验证时间。今天我们学习下测试右移。测试右移简单理解就是利用好生产环境或者是线上环境去做测试。

一. 线上环境的特殊性


虽然部署到QA或Staging环境可以模拟线上环境,但实际这些环境和线上环境还是有差别的。

线上环境的复杂程度和多样性是很难在测试环境中复制的。客户流量和实际客户操作也很难模拟。而且,即使我们在测试环境上验证了新需求,随着每次新需求上线,维护线上环境的客户偏好设置以及环境的稳定性也是很重要的。

此外,生产环境一直在变化。它永远不会不变,即使你的应用程序没有变化,它下面的一切都在不断变化。它所依赖的基础设施一直在变化。所以经过一段时间后,团队发现某些类型的测试只能在产品中进行。


二. 测试右移要验证什么?


测试右移是一种利用真实部署的线上环境来测试应用程序的功能和性能的过程。

-   它可以验证线上部署是否一切顺利。
-   它可以验证不断变化的生产环境的功能以及服务是否正常。

1. 验证部署


线上环境部署和测试环境部署不同。除了部署好新功能。同时也要关注用户数据以及用户的偏好设置甚至登录状态不能丢。所以需要在线上环境验证新部署功能以及用户相关数据。


2. 故障注入


通过故障注入,验证系统的容错性以及新部署是否已经修复。通过故障注入,开发同学在维护线上环境时也可以更好地应对实际事故。


3. 使用断路器进行故障测试


断路器是一种从较大系统中断开给定组件的机制。它通常用于避免组件中的故障分散到其边界之外。但是,可以有意触发断路器,以测试系统响应方式。比如,发货系统从最近仓库发货机制测试。如果某一个仓库有异常,尽快切换到最近的其他仓库发货。某个有异常的仓库就可以理解为断路器。


可以有意触发断路器来评估两个重要方案:


●断路器打开后,回退是否正常工作?它适用于单元测试,但无法确保它在生产环境中的行为符合预期,而无需注入错误来触发它。

●断路器在需要时是否打开?是否配置了正确的敏感度阈值?故障注入可能会强制延迟和/或断开连接依赖项,以观察断路器的响应能力。除了评估是否发生了正确的行为外,确定其发生速度是否足够快也很重要。


4. 业务连续性和灾难恢复 (BCDR)


另一种形式的错误测试是故障转移测试。团队应具有所有服务和子系统的故障转移计划。计划包括应涵盖多个主题:

●服务关闭对业务的影响的清晰说明。

●映射在平台、技术以及制定 BCDR 计划的人方面的所有依赖项。

●灾难恢复过程的正式文档。

●定期执行 DR 演练的节奏。


三.总结


无论准备了多少预生产测试层,在生产环境中测试兼容性都是必要的。发布到产品环境只是工作的一半。另一半是通过实际的工作量来确保质量。


没有任何测试环境像生产环境一样。生产环境随时随地在变化,所以团队永远不会完成生产中的测试。这包括监视、故障注入、故障转移测试和所有其他形式。



相关文章
|
4天前
|
安全 Linux 虚拟化
|
27天前
|
机器学习/深度学习 人工智能 监控
提升软件质量的关键路径:高效测试策略与实践在软件开发的宇宙中,每一行代码都如同星辰般璀璨,而将这些星辰编织成星系的过程,则依赖于严谨而高效的测试策略。本文将引领读者探索软件测试的奥秘,揭示如何通过精心设计的测试方案,不仅提升软件的性能与稳定性,还能加速产品上市的步伐,最终实现质量与效率的双重飞跃。
在软件工程的浩瀚星海中,测试不仅是发现缺陷的放大镜,更是保障软件质量的坚固防线。本文旨在探讨一种高效且创新的软件测试策略框架,它融合了传统方法的精髓与现代技术的突破,旨在为软件开发团队提供一套系统化、可执行性强的测试指引。我们将从测试规划的起点出发,沿着测试设计、执行、反馈再到持续优化的轨迹,逐步展开论述。每一步都强调实用性与前瞻性相结合,确保测试活动能够紧跟软件开发的步伐,及时适应变化,有效应对各种挑战。
|
3月前
|
弹性计算 测试技术 持续交付
阿里云云效产品使用合集之如何进行自动化测试
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
22天前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
94 32
|
23天前
|
测试技术
产品测试
【10月更文挑战第10天】产品测试
12 2
|
23天前
|
监控 测试技术 数据安全/隐私保护
新产品测试流程如何?
新产品测试流程如何?【10月更文挑战第10天】
73 0
|
2月前
|
测试技术 持续交付 UED
软件测试的艺术与科学:平衡创新与质量的探索在软件开发的波澜壮阔中,软件测试如同灯塔,指引着产品质量的方向。本文旨在深入探讨软件测试的核心价值,通过分析其在现代软件工程中的应用,揭示其背后的艺术性与科学性,并探讨如何在追求技术创新的同时确保产品的高质量标准。
软件测试不仅仅是技术活动,它融合了创造力和方法论,是软件开发过程中不可或缺的一环。本文首先概述了软件测试的重要性及其在项目生命周期中的角色,随后详细讨论了测试用例设计的创新方法、自动化测试的策略与挑战,以及如何通过持续集成/持续部署(CI/CD)流程优化产品质量。最后,文章强调了团队间沟通在确保测试有效性中的关键作用,并通过案例分析展示了这些原则在实践中的应用。
70 1
|
2月前
|
测试技术 UED 开发者
软件测试的艺术:从代码审查到用户反馈的全景探索在软件开发的宇宙中,测试是那颗确保星系正常运转的暗物质。它或许不总是站在聚光灯下,但无疑是支撑整个系统稳定性与可靠性的基石。《软件测试的艺术:从代码审查到用户反馈的全景探索》一文,旨在揭开软件测试这一神秘面纱,通过深入浅出的方式,引领读者穿梭于测试的各个环节,从细微处着眼,至宏观视角俯瞰,全方位解析如何打造无懈可击的软件产品。
本文以“软件测试的艺术”为核心,创新性地将技术深度与通俗易懂的语言风格相结合,绘制了一幅从代码审查到用户反馈全过程的测试蓝图。不同于常规摘要的枯燥概述,这里更像是一段旅程的预告片,承诺带领读者经历一场从微观世界到宏观视野的探索之旅,揭示每一个测试环节背后的哲学与实践智慧,让即便是非专业人士也能领略到软件测试的魅力所在,并从中获取实用的启示。
|
3月前
|
前端开发 JavaScript 测试技术
[译] React 测试驱动开发:从用户故事到产品
[译] React 测试驱动开发:从用户故事到产品
|
3月前
|
DataWorks 安全 测试技术
DataWorks产品使用合集之调用starrock的测试环境和生产环境是否需要两个资源组
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。