看到我们论坛一个测试开发知识体系,对于测试左移和右移
, 有点不太懂,看了2篇文章,强行提笔总结了下,还有部分内容是直接翻译的。关于测试左移和右移。测试左移中提到了尽早
的发现问题、以及持续集成
、尽可能的实现自动化
、更深的理解客户
的需求,从而提高其体验。而对于测试右移,则是相对于上产环境中的测试,则提供真实的环境、实际的性能
,以及目标用户的反馈和评价
。
左移和右移在软件测试中的意义是什么?
测试左移
测试方法使用 test early and often
在产品生命周期里面更早执行测试任务(也就是在项目时间线上向左
移动)。 同时,DevOps 测试中的 测试右移
方法是能够在生产环境中进行测试,为未定义的、未知的和意外的情况做好准备,比如生产环境。
在过去的几年里,敏捷和 DevOps 实践的广泛采用已经导致了软件开发和测试方式的显著转变。 协作是关键
,在测试周期的早期阶段,开发人员和测试人员
都参与其中。
这两个已经流行起来的概念是左移和右移。 顾名思义,测试左移
实际上将流程转移到了开发阶段的左侧。 这意味着测试从开发周期的开始就开始了,并贯穿整个开发周期。
测试左移
目标是防止缺陷和减少风险
,而不是在开发后处理大量的 bug 和关键问题。 因此,测试人员可以在 SDLC(Software Development Life Cycle) 的早期引入,以主动地发现和处理缺陷。 这也有利于开发人员在第一时间把事情做对,并能够按时交付和质量保证。
另外,考虑到缺陷在早期发现时对项目的成本较低这一事实。 测试左移还意味着不断测试,以获得更高质量的产品。在这个范例中,测试人员的角色和职责是非常重要的
。
这种方法还要求测试人员首先设计测试,并将客户体验目标牢记在心
。 这反过来又允许开发人员基于这些测试构建软件,并满足客户的需求。
测试左移实践通常鼓励使用行为驱动开发(BDD)和测试驱动开发(TDD) ,以帮助防止缺陷。
作为敏捷实践不可分割的一部分,测试左移 包括敏捷测试团队
,测试人员在其中扮演着重要角色。 测试人员被当作利益相关者,他们参与站会,回顾会议和各种其他的互动。
测试左移依赖于持续的测试和反馈,以在整个冲刺过程中执行动态变化。
为什么测试左移?
更好的设计:测试左移 使用了一种设计思维方法,测试人员和开发人员专注于客户 / 终端用户的期望和体验。
通过持续的测试和头脑风暴-有时导致识别关键的设计或概念缺陷。 这些发现往往会带来更好的产品和客户体验。
发布质量: Bug 被发现并及早修复。 该模型从一开始就加速了对质量的关注,这种方法所捕捉到的缺陷可以很容易地以较低的成本修复
,比周期结束时的成本更低。
更好的时间线和投资 RIO: 随着测试质量成为每个人的工作。 有较少的返工,项目保持真实的时间表。 这确保了更快的上市时间和更好的投资回报率。
简而言之,测试左移过程包括:
-
尽早
测试和经常测试,以降低项目的总体成本和保持质量 -
连续测试
,反馈回路更短,以避免最终解决缺陷 - 使一切
自动化
,提高上市时间 - 根据客户需求进行设计,提高客户的整体体验
测试右移
在测试左移确保满足质量和业务需求的地方,通过测试右移方法确保在现实世界环境中的运行和性能
。 这种实践允许测试通过控制实验转移到生产环境中,涉及到功能、性能、容错性和用户体验。 生产中的测试允许使用真实的用户体验和分析难以复制或预期的用例。
也就是说,测试左移 帮助团队为性能问题、崩溃、失败
和类似的事情等意外事件做好准备。
尽管测试左移对于敏捷测试来说是绝对必要的,但就用户体验和期望而言,它可能不足以确保软件的质量。
测试右移测试从软件的后期生产阶段开始测试任务。 您现在正在测试软件应用程序的右端,这是一个构建和可用性。 这些测试是为了确保稳定性、性能和可用性标准。 这样,就可以从目标用户那里收集反馈和评论,以了解软件在现实世界中的功能。 这有助于进一步提高软件的质量。
为什么测试右移?
虽然测试左移测试带来了早期和连续的软件测试,以防止缺陷,测试右移测试实践有自己的一套优势,如:
改进的客户体验: 通过改变测试的权利,客户反馈是仔细整理,然后问题被转化为技术和业务术语。 这样就可以将每个问题隔离开来,并有改进的余地来增强客户体验。
自动化的范围: 与部分的或不稳定的应用程序相比,自动化一个功能性的和稳定的应用程序更容易。 一旦应用程序稳定,用户界面(UI)自动化对于快速测试是必要的。 向测试右移动测试使您能够做到这一点。 一旦应用程序稳定在核心功能级别,对于快速测试至关重要。 向测试右移动测试使您能够做到这一点!
更广泛的覆盖范围: 与测试左移相比,测试右移方法有更广泛的测试覆盖范围,因为测试人员可以在没有紧迫的最后期限的情况下访问整个系统。 它允许测试人员进行更多的测试,及时测试,但是也允许测试延迟,从而获得更好的质量和客户体验。
很多场景都很理想: 由于风险和风险因素很高,像暗启动、业务切换和金丝雀部署这样的实践非常适合针对目标用户进行正确的转移测试。
简而言之,测试右移过程包括
- 在生产环境中进行测试,以确保产品在
真实场景中
的稳定性和性能 - 您可以从
目标用户那里获得反馈和评论
,以确保客户满意 - 能够测试在测试环境中
不可能创建的使用场景和实际负载级别
我们可以在这里看到,测试左移 是所有关于第一次获得正确的代码,并减少上市时间,而 测试右移 是从客户的角度来支持完美的实际的可用性。 测试左移可以让您节省时间、测试工作、风险和资源,而测试右移更多的是为了获得正确的用户体验和生产场景。
原文链接: https://www.qmetry.com/blog/shift-left-and-shift-right-in-software-testing/
关于测试左移和右移,也可以移步到这里看这篇文章。
http://www.testclass.net/post/shift-left-and-shift-right
如果你感兴趣可以关注公众号「chasays」- 程序员汇聚地