← 返回所有文章

敏捷测试:将质量融入每个迭代

By XNM Technologies · February 23, 2023 · 1 min read
敏捷测试:将质量融入每个迭代

传统质量保证模型与Scrum存在结构性不兼容:如果测试在开发之后按顺序进行,而迭代只有两周,团队必须在同一两周内完成完整的功能开发和完整的测试。解决方案不是为测试找更多时间,而是改变测试发生的时间和方式。

测试金字塔

金字塔底部是单元测试——自动化、快速、具体,覆盖系统大部分逻辑。中间是集成测试——速度较慢,针对风险最高的集成点。顶部是端到端测试——编写成本最高、运行最慢、最脆弱,仅限于最关键的用户旅程。

测试驱动开发(TDD)

在TDD中,开发者在编写生产代码之前先编写自动化测试。循环是:编写描述所需行为的失败测试,编写使测试通过的最少代码,然后在保持测试通过的同时重构代码。TDD将全面的自动化测试套件作为开发的自然副产品产生,倾向于产生更模块化和可测试的设计,并在变更破坏现有行为时提供即时反馈。

将质量纳入完成定义

Scrum的「完成定义」是确保质量内建而非事后追加的主要机制。它通常包括:自动化单元测试已编写且通过;至少有一名其他开发者进行了代码审查;如果变更触及集成点则集成测试已更新;构建流水线通过且无新失败。

质量保证专业人员角色的演变

向敏捷测试的转变改变了质量保证专业人员的工作内容,而非消除其角色。流水线末端的手动测试执行者变得不那么核心;质量教练、自动化工程师和测试策略师变得更有价值。该角色是协作性和分布式的,而非顺序性和把关式的。持续测试中每次代码提交触发自动化测试运行的CI/CD流水线,是高效敏捷团队努力实现的最终状态。

XNM咨询与技术团队合作推进敏捷交付实践,包括测试驱动开发辅导、敏捷质量框架和CI/CD流水线设计。了解更多关于我们的项目与计划交付服务。