敏捷开发与大规模测试驱动:向左转移测试重心
立即解锁
发布时间: 2025-08-20 00:45:03 订阅数: 4 


敏捷软件开发:从理论到实践的全面解析
### 敏捷开发与大规模测试驱动:向左转移测试重心
#### 1. 敏捷理念与软件组织的契合
敏捷理念与众多软件组织所推崇的价值观高度契合。它以员工和客户为中心,倡导与流程和产品相关的重要价值,这也就解释了为何敏捷方法能在软件工程领域广泛应用并成为主流。不过,相关研究存在局限性。由于样本仅涵盖普华永道全球 100 强软件企业,研究结果无法推广至整个软件行业或所有成功的软件组织。此外,从所用分类法中提取并转化组织价值观时,部分价值观定义模糊,可能导致误解。同时,敏捷理念中的价值观与分类法中的映射依赖作者对敏捷宣言的解读,可能存在研究偏差。
#### 2. 大规模项目背景
敏捷开发方法最初被认为适用于约 50 人及以下、能轻松接触用户和业务专家且非关键项目的团队。如今,它在大规模开发项目中的应用日益广泛,但也带来了新挑战,尤其是测试活动的组织。
以挪威一个大型 IT 开发项目为例,该项目由公共部门客户发起,交付日期由政治决策确定,系统对挪威社会至关重要,是现有成熟支付处理系统的扩展,时间和质量都是关键因素。
项目涉及多个供应商,通过面向服务的架构连接系统。核心部分在此次发布中涉及超过 10 万小时的开发和测试,供应商工作历经 12 个为期三周的冲刺阶段,最后还有六周的系统测试。原有的三个 Scrum 团队维护项目在四个月内扩展到 11 个团队。
Scrum 团队包含 Scrum 主管、开发人员、测试/质量保证资源、功能和技术架构师等角色,团队中无客户资源。供应商负责详细设计、开发及单元、集成和冲刺系统测试,客户负责冲刺验收测试、系统集成测试和用户验收测试。
#### 3. 高层测试驱动开发:向左转移
测试优先或测试驱动开发是备受关注的敏捷实践之一,测试重点已从单元测试转向验收测试。研究表明,超半数缺陷源于需求和设计决策,且开发过程早期引入的缺陷后期修复成本更高,因此尽早开展测试很有必要,即“向左转移”测试,包括向早期冲刺阶段和每个冲刺开始阶段转移。
##### 3.1 冲刺工作中的向左转移
- **动机**:Scrum 团队收到的设计文档可能因团队过往经验不同而产生不同解读,且团队无法直接接触客户资源,这要求团队对不明确或模糊的需求和设计进行澄清。此外,系统的高度互联性和多团队并行工作给测试带来挑战。
- **执行**:
- 为每个 Scrum 团队分配专门的 QA 资源/测试人员,负责设计文档质量保证、判断实现的可测试性、准备测试模型和数据,并与开发人员和 Scrum 主管密切合作确保代码质量,尽早开展测试活动。
- 邀请客户参与冲刺期间的走查会议、审查测试计划和方法,冲刺结束时邀请客户参加演示,展示系统新功能、测试执行情况和遇到的问题。
- 测试策略明确了冲刺系统测试前的“完成”定义
0
0
复制全文
相关推荐







