敏捷测试 – 方法论
敏捷测试 – 方法论
敏捷是一种迭代开发方法,整个项目团队都参与其中的所有活动。通过客户和自组织团队之间的协作,需求随着迭代的进行而发展。由于编码和测试是以交互方式和增量方式完成的,因此在开发过程中,最终产品将具有质量并确保客户需求。
每次迭代都会产生一个集成的工作产品增量,并交付给用户验收测试。如此获得的客户反馈将作为下一个/后续迭代的输入。
持续集成,持续质量
持续集成是敏捷开发成功的关键。经常集成,至少每天一次,这样您就可以在需要时为发布做好准备。敏捷测试成为开发所有阶段的重要组成部分,确保产品的持续质量。参与项目的每个人的持续反馈增加了产品的质量。
在敏捷中,沟通是最重要的,并且在必要时接收客户请求。这让客户感到满意,因为所有输入都被考虑在内,并且在整个开发过程中都可以获得工作质量的产品。
敏捷方法论
有几种支持敏捷开发的敏捷方法论。敏捷方法包括 –
Scrum
Scrum 是一种敏捷开发方法,强调以团队为中心的方法。它提倡整个团队参与所有的项目开发活动。
经验值
eXtreme Programming 以客户为中心,专注于不断变化的需求。通过频繁的发布和客户反馈,最终产品的质量将满足客户在流程中更加明确的要求。
水晶
Crystal 是基于租船、循环交付和收尾。
-
章程包括组建一个开发团队,进行初步可行性分析,得出初步计划和开发方法。
-
具有两个或更多交付周期的循环交付侧重于开发阶段和最终集成产品交付。
-
在总结期间,部署到用户环境中,执行部署后审查和反思。
软驱
功能驱动开发 (FDD) 涉及设计和构建功能。FDD 与其他敏捷开发方法的区别在于,特性是在特定阶段和短期阶段分开开发的。
DSDM
动态软件开发方法 (DSDM) 基于快速应用程序开发 (RAD) 并与敏捷框架保持一致。DSDM 专注于产品的频繁交付,让用户积极参与并授权团队做出快速决策。
精益软件开发
在精益软件开发中,重点是消除浪费并为客户创造价值。这导致了快速的开发和有价值的产品。
浪费包括部分完成的工作、不相关的工作、客户未使用的功能、缺陷等,这些都会增加交付延迟。
在精益原则是-
- 消除浪费
- 扩大学习
- 延迟承诺
- 赋能团队
- 快速交付
- 建立诚信
- 看到整体
看板
看板专注于管理工作,强调准时 (JIT) 交付,同时不会让团队成员超负荷。任务会显示给所有参与者查看,并让团队成员从队列中提取工作。
看板基于 –
- 看板(在整个开发过程中可视化和持久化)
- 在制品 (WIP) 限制
- 交货时间
敏捷测试方法
为每个项目(无论是否敏捷)都定义了测试实践,以交付高质量的产品。传统的测试原则在敏捷测试中经常使用。其中之一是早期测试,专注于 –
-
编写测试用例来表达系统的行为。
-
早期缺陷预防、检测和消除。
-
确保在正确的时间运行正确的测试类型,并作为正确测试级别的一部分。
在我们讨论的所有敏捷方法论中,敏捷测试本身就是一种方法论。在所有方法中,测试用例都是在编码之前编写的。
在本教程中,我们将关注 Scrum 作为敏捷测试方法。
其他常用的敏捷测试方法是 –
-
测试驱动开发 (TDD) – 测试驱动开发 (TDD) 基于测试指导的编码。
-
验收测试驱动开发 (ATDD) – 验收测试驱动开发 (ATDD) 基于客户、开发人员和测试人员之间的沟通,并由预定义的验收标准和验收测试用例驱动。
-
行为驱动开发 (BDD) – 在行为驱动开发 (BDD) 中,测试基于正在开发的软件的预期行为。
敏捷测试生命周期
在 Scrum 中,测试活动包括 –
-
根据描述为测试用例的系统的预期行为为用户故事做出贡献
-
基于测试工作量和缺陷的发布计划
-
基于用户故事和缺陷的 Sprint 计划
-
持续测试的 Sprint 执行
-
Sprint 完成后的回归测试
-
报告测试结果
-
自动化测试
测试是基于迭代和冲刺的,如下图所示 –