- 敏捷测试教程
- 敏捷测试 - 首页
- 敏捷测试 - 概述
- 敏捷测试 - 方法论
- 敏捷测试 - 团队中的测试人员
- 敏捷测试 - 活动跟踪
- 敏捷测试 - 重要属性
- 敏捷测试 - 四象限
- 敏捷测试 - Scrum
- 敏捷测试 - 方法
- 敏捷测试 - 技术
- 敏捷测试 - 工作产品
- 敏捷测试 - Kanban
- 敏捷测试 - 工具
- 敏捷测试有用资源
- 敏捷测试 - 快速指南
- 敏捷测试 - 有用资源
- 敏捷测试 - 讨论
敏捷测试 - 概述
敏捷是一种迭代式开发方法,其中开发和测试活动是并发进行的。测试不是一个单独的阶段;编码和测试是交互式和增量式进行的,从而产生满足客户需求的优质最终产品。此外,持续集成可以尽早发现缺陷,从而节省时间、精力和成本。
敏捷宣言
敏捷宣言由一个软件开发团队于2001年发布,强调了开发团队的重要性、适应变化的需求以及客户参与。
敏捷宣言是:
我们正在通过实践和帮助他人实践来发现更好的软件开发方法。通过这项工作,我们已了解到:
- 个体和交互胜过流程和工具。
- 可工作的软件胜过面面俱到的文档。
- 客户合作胜过合同谈判。
- 响应变化胜过遵循计划。
也就是说,尽管右项也具有价值,但我们更重视左项。
什么是敏捷测试?
敏捷测试是一种遵循敏捷软件开发原则的软件测试实践。
敏捷测试涉及项目团队的所有成员,测试人员贡献特殊的专业知识。测试不是一个单独的阶段,而是与所有开发阶段(如需求、设计和编码以及测试用例生成)交织在一起。测试贯穿整个软件开发生命周期。
此外,测试人员与跨职能团队成员一起参与整个软件开发生命周期,这使得测试人员能够根据客户需求,以更好的设计和代码来构建软件成为可能。
敏捷测试涵盖所有测试级别和所有类型的测试。
敏捷测试与瀑布测试
在瀑布式开发方法中,软件开发生命周期活动按顺序分阶段进行。因此,测试是一个单独的阶段,只有在开发阶段完成后才会开始。
以下是敏捷测试和瀑布测试差异的重点:
敏捷测试 | 瀑布测试 |
---|---|
测试不是一个单独的阶段,与开发同时进行。 | 测试是一个单独的阶段。所有级别和类型的测试只有在开发完成后才能开始。 |
测试人员和开发人员一起工作。 | 测试人员与开发人员分开工作。 |
测试人员参与提出需求。这有助于将需求映射到现实世界场景中的行为,并制定验收标准。此外,逻辑验收测试用例将与需求一起准备。 | 测试人员可能不参与需求阶段。 |
每次迭代后进行验收测试,并征求客户反馈。 | 验收测试仅在项目结束时进行。 |
每次迭代都完成自己的测试,从而允许每次发布新功能或逻辑时都实施回归测试。 | 回归测试只能在开发完成后实施。 |
编码和测试之间没有时间延迟。 | 编码和测试之间通常有时间延迟。 |
持续测试,测试级别重叠。 | 测试是一个定时活动,测试级别不能重叠。 |
测试是一种最佳实践。 | 测试经常被忽视。 |
敏捷测试原则
敏捷测试的原则包括:
测试推动项目前进 - 持续测试是确保持续进展的唯一途径。敏捷测试提供持续的反馈,最终产品满足业务需求。
测试不是一个阶段 - 敏捷团队与开发团队一起进行测试,以确保在给定迭代期间实现的功能实际上已完成。测试不会留到以后阶段。
每个人都进行测试 - 在敏捷测试中,整个团队,包括分析师、开发人员和测试人员,都会测试应用程序。每次迭代后,甚至客户也会进行用户验收测试。
缩短反馈循环 - 在敏捷测试中,业务团队可以了解每次迭代的产品开发情况。他们参与每次迭代。持续反馈缩短了反馈响应时间,从而降低了修复成本。
保持代码清洁 - 缺陷在同一迭代中提出后立即修复。这确保在任何开发里程碑中代码都是干净的。
轻量级文档 - 敏捷测试人员使用轻量级文档,而不是全面的测试文档:
使用可重用的清单来建议测试。
关注测试的本质,而不是偶然的细节。
使用轻量级文档样式/工具。
在探索性测试的章程中捕捉测试想法。
利用文档实现多重用途。
利用一个测试工件进行手动和自动化测试 - 相同的测试脚本工件可用于手动测试,并作为自动化测试的输入。这消除了手动测试文档以及等效的自动化测试脚本的需求。
“真正完成”,而不仅仅是“完成” - 在敏捷中,一个功能在开发和测试完成后才算完成,而不仅仅是开发完成。
测试最后 vs. 测试驱动 - 测试用例与需求一起编写。因此,开发可以由测试驱动。这种方法称为测试驱动开发 (TDD) 和验收测试驱动开发 (ATDD)。这与瀑布测试中测试作为最后阶段形成对比。
敏捷测试活动
项目级别的敏捷测试活动包括:
发布计划(测试计划)
对于每次迭代:
迭代期间的敏捷测试活动
回归测试
发布活动(与测试相关)
迭代期间的敏捷测试活动包括:
- 参与迭代计划
- 从测试的角度估计任务
- 使用功能描述编写测试用例
- 单元测试
- 集成测试
- 功能测试
- 缺陷修复
- 集成测试
- 验收测试
- 测试进度状态报告
- 缺陷跟踪