敏捷测试 - 方法论

敏捷是一种迭代开发方法,整个项目团队参与所有活动.随着迭代的进展,需求随着客户和自组织团队之间的协作而发展.由于编码和测试是以交互方式和增量方式完成的,因此在开发过程中,最终产品将具有高质量并确保客户需求.

每次迭代都会产生集成的工作产品增量和交付用户验收测试.这样获得的客户反馈将是下一个/后续迭代的输入.

Project Team

持续集成,持续质量

持续集成是敏捷开发成功的关键.经常集成,至少每天进行一次集成,以便在需要时准备好发布.敏捷测试成为开发所有阶段的重要组成部分,确保产品的持续质量.来自参与项目的每个人的持续反馈增加了产品的质量.

在敏捷中,沟通至关重要,并在必要时收到客户要求.这使客户满意的是,在整个开发过程中考虑了所有输入并且工作质量产品可用.

敏捷方法

有几个支持敏捷开发的敏捷方法.敏捷方法包括 :

Scrum

Scrum是一种敏捷开发方法,强调以团队为中心的方法.它倡导整个团队参与所有项目开发活动.

XP

极限编程以客户为中心,专注于不断变化的需求.通过频繁的发布和客户反馈,最终产品将满足客户的要求,并在此过程中更加清晰.

水晶

水晶基于包租,循环交付和总结.

  • 租船涉及组建开发团队,进行初步可行性分析,达到初步计划和开发方法.

  • 具有两个或更多交付周期的循环交付侧重于开发阶段和最终集成产品交付.

  • 在总结过程中,将部署到用户环境中,进行部署后审核和反思.

FDD

特征驱动开发(FDD)涉及设计和构建功能. FDD与其他敏捷开发方法之间的区别在于,这些功能是分别在特定和短期阶段开发的.

DSDM

动态软件开发方法( DSDM)基于快速应用程序开发(RAD)并与Agile框架保持一致. DSDM专注于频繁交付产品,积极参与用户并使团队能够快速做出决策.

精益软件开发

精益软件开发,重点是消除浪费,为客户创造价值.这导致快速发展和价值产品.

浪费包括部分完成的工作,无关的工作,客户未使用的功能,缺陷等,这些都会延迟交付.

精益原则是&减;

  • 消除浪费

  • 扩大学习

  • 延迟承诺

  • 赋予团队权力

  • 快速交付

  • 构建完整性

  • 查看整体

看板

看板专注于管理工作,重点是即时(JIT)交付,同时不会使团队成员超负荷.显示所有参与者的任务以及团队成员从队列中提取工作.

看板基于 :

  • 看板(整个开发过程中的视觉和持久性)

  • 在制品(WIP)限额

  • 提前期

敏捷测试方法

每个项目都有明确的测试实践,无论是否敏捷或不,提供优质的产品.传统测试原则经常用于敏捷测试.其中一个是早期测试,重点是 :

  • 编写测试用例来表达系统的行为.

  • 早期缺陷预防,检测和删除.

  • 确保运行正确的测试类型在正确的时间和正确的测试级别的一部分.

在我们讨论的所有敏捷方法中,敏捷测试本身就是一个方法.在所有方法中,测试用例都是在编码之前编写的.

在本教程中,我们将把重点放在Scrum上作为敏捷测试方法.

其他常用的敏捷测试方法是 :

  • 测试驱动开发(TDD)&minus ;测试驱动开发(TDD)基于测试指导的编码.

  • 验收测试驱动开发(ATDD) : 验收测试驱动开发(ATDD)基于客户,开发人员和测试人员之间的通信,并由预定义的验收标准和验收测试用例驱动.

  • 行为驱动开发(BDD) : 行为驱动开发(BDD)测试基于正在开发的软件的预期行为.

敏捷测试生命周期

在Scrum中,测试活动包括 :

  • 基于以下内容贡献给用户故事系统的预期行为描述为测试用例

  • 基于测试工作量和缺陷的发布计划

  • 基于用户故事和缺陷的Sprint计划

  • 持续测试的Sprint执行

  • Sprint完成后的回归测试

  • 报告测试结果

  • 自动化测试

测试是迭代的,并且基于下面给出的图表中描述的冲刺 :

生命周期