共计 1255 个字符,预计需要花费 4 分钟才能阅读完成。
随着这几年敏捷概念和方法的流行,越来越多的组织和项目选择了敏捷开发模式。那么对于测试人员来说,究竟敏捷测试与传统测试有什么区别?测试人员在一个敏捷项目中需要如何转变才能适应当前这种流行的测试模式呢?
敏捷测试的定义
埃森哲对敏捷测试的定义(与维基百科的定义基本一致)大概如此:敏捷测试是遵从敏捷软件开发原则的一种测试实践。敏捷开发模式把测试集成到了整个开发流程中而不再把它当成一个独立的阶段。因此测试变成了整个软件开发过程中非常重要的环节。敏捷测试包含了具备专业技能测试人员在内的跨职能团队,这使得这种组合式的团队能更好的交付价值,满足项目的业务、质量和进度目标。
从定义中可以看出敏捷测试主要的核心内涵有三个:
- 是遵从敏捷开发的原则(强调遵守)
- 测试被包含在整体开发流程中(强调融合)
- 跨职能团队(强调协作)
除此之外,敏捷测试用到的基本测试方法和技术与传统测试是一样的。
敏捷测试的特点
既然敏捷测试属于一种新的测试实践,那么到底它有什么的特点呢?我用“四个更”来归纳:
更强的协作:敏捷开发人员和测试人员工作得更加紧密,喜欢更直接的沟通方式而不是通过邮件文档这种一来一回反反复复的沟通模式;
更短的周期:需求验证或测试的时间不再是按月来计算,而是按天甚至按小时计算。用户验收测试在每个 sprint 的结尾都会进行;
更灵活的计划:敏捷测试也需要拥抱变化,测试计划不再是一成不变的文档,而会根据业务价值交付的顺序进行灵活的调整;
更高效的自动化:相比传统测试,自动化在敏捷测试中扮演了极其重要的角色。它是实现快速交付确保质量的一种非常有效的手段
为什么要敏捷测试
一个很直接的原因是如果整个项目都在采用敏捷开发模式,比如两周一个迭代,你还在跟项目谈传统的各个测试阶段,就好像两个不同转速的齿轮,根本无法结合。试问,两周时间能完成得了所有的测试阶段吗?所以必须要有新的测试实践来取代原有的模式,才能更好的适应敏捷小步快跑的特点。当然,除了适应开发的节奏外,敏捷测试还是有其特有的价值:
缩短价值交付周期
通过采用敏捷测试这种模式,可以契合整个敏捷开发周期,使得整个敏捷开发按照相同而快速的迭代速率和周期交付,让最终用户尽快获取到业务价值;
更早发现测试风险
敏捷测试使得测试人员尽早开始进行测试,尽早的发现系统缺陷或存在的问题,避免所有的问题都堆积在最后的测试阶段形成“Big-bang”的结果,降低整体系统风险。
强调质量属于大家
质量是构建出来的,而不是测出来的。敏捷测试一直强调质量属于每一个人的责任,除了测试之外,开发、产品经理等都有义务对自己的交付件质量负责,这样才能确保项目的整体质量;
化繁为简节省成本
敏捷测试没有要求需要详细的测试计划和测试文档,也没有定义繁复的测试流程及缺陷流程,这种轻量级的管理模式为测试人员减少不必要的负担,节省了工作量及成本。
敏捷测试与传统测试
那么敏捷测试和我们熟悉的传统测试比,他们到底有什么样的区别呢?我整理了如下对比表:
敏捷测试将会变得越来越重要,所以我们测试人员要提前学习,不能等到大势变化的时候才被动学习
正文完