前言
在15年左右,测试圈比较流行测试左移、右移的概念。最近又遇到“小伙伴”问我这个问题,那今天就来写一篇博客吧。
背景
在聊“测试左移、右移”这个概念之前,我们先来了解一下IT行业传统的开发模式,我们都知道,在传统的IT软件研发周期中,有个比较著名的模式叫“瀑布模式”,在这个模式中,项目周期被清晰的分为“制定计划->需求分析->软件设计->程序编码->软件测试->运行维护”等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。如果我们看上面从左到右的顺序,测试阶段就是软件生命周期中的一个特定阶段,并且这个阶段处于比较靠右的一个阶段。
测试左移的概念
随着时代的进步,人们慢慢意识到软件测试的重要性,并且“靠右”的软件测试阶段发现的缺陷修复成本会非常高,很容易导致产品的延迟发布,甚至重新设计;经历了一些教训后,人们逐渐意识到这个道理,“缺陷越早发现,成本越低”,于是,软件行业出现了变革,从研发完成后测试才介入的方式,变成从制定计划,需求分析的阶段测试就开始参与进入,从“链条”上看,测试的工作“左移”了。测试左移也就意味着不是在最后阶段进行测试,而是一直持续测试,那左移的这些阶段,测试人员都做什么工作呢r> 首先,在制定计划阶段,测试人员要根据项目情况,初步制定测试计划;需求分析阶段,测试人员要去理解需求,从测试角度对需求进行评估;软件设计阶段,测试人员同步进行测试设计;程序编码阶段,测试人员编写、评审测试用例;
总之,测试左移的原则支持测试团队在软件开发周期早期和所有干系人合作。因此他们能清晰地理解需求以及设计测试用例去帮助软件“快速失败”,促使团队更早的修改所有的bug。 测试左移并没有什么独特的,只是让测试人员在软件开发生命周期内更早的参与进来,同时让他们去理解需求、软件设计、软件架构以及软件功能,也让他们去向客户、商业分析师和开发人员问问题,寻找答案,提供反馈结果已达到支持团队的工作得可能性。 参与和理解会使测试人员获取产品完整的知识,彻底想清楚各种场景,根据软件行为设计实时的场景,这些都会帮助团队在编码完成之前识别出一些缺陷
测试左移策略中,测试人员的工作转变
在左移策略中,下面几点是测试人员应该做的几个关键因素
1)测试团队需要项目初始阶段尽早参与,以便更好的团队整合以及在软件开发的每个阶段对业务都能提供有用的输入。
2) 测试团队应该和业务&运营团队一起工作,这样对项目会得到更明确需求,提供清晰的观点,培养新人也更有针对性,对培训和测试工具需求也能提前准备。
3) 测试团队必须和业务人员在软件开发早期进行沟通,这样去获取对产品更清晰地认识,也可以制定统一的测试策略和计划去优化测试,分析测试环境的从属关系,需要的第三方应用以及准备健壮的自动化策略和框架,建立有效的测试数据管理计划。
4) 测试团队必须和其他团队成员一起,为团队提供较好的测试领导力和指导工作,使团队聚焦在产品的长远的视角,而不仅仅是测试工作。
5)需求是项目成功的关键和基础,好的需求就决定了项目的成功。在需求计划阶段,测试人员需要评审和分析模糊的、更加清晰地、完整的、可测的以及符合验收标准的等等需求。
同时也需要去识别有没有遗漏的需求,理解需求的关联性,实施相关测试策略。清晰地需求帮助软件“更快失败”,能尽早修复所有失败。
6) 用真实的栗子阐述功能会使需求更加明确和精细。
7) 测试人员需要定期参加设计评审会议,理解产品设计和结构,识别设计缺陷,建议不同的设计选项,相应的分解设计创建测试场景。
8)测试人员需要提前很好的执行静态测试(评审),在关键项目文档上提供反馈,所以可以预防缺陷,达到预防效果。
9)测试团队应该和设计、开发团队合作,测试团队提前提供测试场景,然后开发代码,处理所有可能的实时场景及业务流程。
10)测试团队不得不设计健壮的测试场景,因此只要一部分bug在测试过程中被发现,在测试阶段大部分的bug都被预防了。
11)测试人员必须尽可能早的去测试,无论是在独立的还是本地系统上,以至于缺陷不会在下个阶段出现。
结论
“测试左移”的概念给整个测试角色带来了巨大的转变。直到现在,测试不仅仅是“发现bug”,现在它已致力于“从早期bug的检测到预防”的一段旅程中。
因此,从软件开发方法论中,测试左移在软件行业是很大的进步,尤其是更快的面向市场,提高软件质量方面。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!