敏捷开发测试
敏捷软件开发方法
极限编程(XP)
极限编程(XP)最早由 Kent Beck 提出,是一种通过某些价值、原则和开发实践来描述软件开
发的敏捷方法。
极限编程还描述了 13 个基本的实践:坐在一起、全团队方式、信息化的工作空间、充满活力的
工作、结对编程、用户故事、周循环、季度循环、轻松的工作、十分钟构建、持续集成、测试先于编程和增量设计。
Scrum
Scrum 是一个敏捷管理框架。
深入理解敏捷理念
聚焦客户价值(Value)
- 标识和消除软件开发中的浪费
- 交付刚刚好的系统
- 随时构建质量,不容忍缺陷
- 及时消除技术债务,持续保持快速响应
激发团队(Team)
- 认清团队的基本事实
- 敏捷方式下的管理者转变
- 敏捷方式下的团队成员转变
适应变化(Adapt)
- 认清“客户是逐步发现真正的需求”
- 小批量是快速交付的关键
- 通过迭代计划不断调整以适应需求变化
- 持续保持良好的软件架构
- 利用多层次反馈不断调整以逼近目标
对敏捷的常见误解
- 敏捷开发意味着不要文档
- 敏捷只是一些实践的结合
- 敏捷只适用于小项目
- 敏捷只会对研发产生改变
- 管理者不需要亲自了解敏捷,只要管理上支持
- 敏捷是CMM的替代品,是另一种流程
- 敏捷只注重快速交付,架构不重要
敏捷开发的核心–迭代
什么是迭代式开发
- 迭代开发将整个软件生命周期分成多个小的迭代(1-4周),每次迭代都由需求分析、设计、实现和测试在内的多个活动组成,每次迭代都可以交付一个稳定的被验证过的软件版本。
迭代开发的好处
- 通过将高技术高风险的需求在早期迭代里实现,有助于尽早暴露问题和及时消除风险
- 通过不断的交付,持续从客户获得反馈,及时调整,确保最终的产品满足客户要求
- 通过小批量减少排队,提供更灵活、快速的交付能力
- 平滑人力资源的使用,避免出现瓶颈
实践——完整团队
什么是完整团队
- 敏捷开发中,以story为单位的持续交付要求系统组、开发和测试等跨功能团队进行密切协同,相互独立的功能团队难以应对。
- 需求分析师(RA)、设计师(DE)、开发人员(SWE)、测试人员(TE)、业务专家(BA)等人员共同组成一个团队,坐在一起工作。
完整团队的好处
- 有助于形成共同目标和全局意识
- 沟通效率高,协作程度高
完整团队的关键要点
- 多功能领域、地域近、团队成员稳定
敏捷测试与普通测试的区别
- 项目相当于开发与测试并行;项目整体时间较快
- 模块提交较快,测试时比较有压迫感
- 工作任务划分清晰,工作效率较高
- 项目规划要合理,否则测试时会出现复测得现象
- 发现问题需跟紧,项目中人员都比较忙,问题很容易被遗忘
- 耗时或者较难解决对项目影响不大的问题
- 发现Bug能够很快的解决,对相关的模块的测试影响较小
- 版本更换比较勤,影响到测试的速度
- 要多与开发沟通
- 要注意版本的更新情况
- 测试人员几乎要参加整个项目组的所有会议