敏捷开发如何保证软件质量?
作者:网络转载 发布时间:[ 2013/1/8 15:18:09 ] 推荐标签:
本文是基于敏捷之旅2012北京站的开放空间讨论所做出的总结。
1. 敏捷开发提高软件质量
关于敏捷如何提高质量的认识:我们认为敏捷可以提高质量。质量的提高和保证不再放在测试环节,而是放在开发阶段。其宗旨是尽可能地在开发阶段保证产品质量。所以才提出了各种有效手段比如测试先行,结对编程等方法。这样做不仅减少了测试工作量,更重要的是可以尽量阻止在测试后期发现问题,解决问题带来的巨大开发成本。
2. 快速迭代
对于第一点的后描述,即李老师所说的“死亡行军”。项目一旦碰到这个问题,不管是何原因造成问题后发现,开发测试都会痛苦,为了能有效解决这个问题,是否能从流程上加以改进,使问题尽早暴露。这里是否可以借鉴敏捷开发和RUP里明显提到的快速迭代,如下图:
快速迭代
对于每一个sprint 其实是一个小规模试错的过程,这里不仅包括核心功能的开发,同时也是测试过程,比如当SP1结束后,SP2测试组开始测试SP1功能,这里的测试不仅是功能测试,也必须包括系统集成测试。为了保证所做功能与客户需要一致,当SP3结束后,将已做完的核心功能和客户碰头确认或改进,即客户观察点。
3. 大型系统的测试模型
对于大型系统来说,很多公司依然沿用瀑布模型,基本形式依然是调研,需求确定,设计,实施,测试,发布等环节,在测试环节中会有很多组在不同时间段进行测试,比如先功能测试,然后阶段性(一般两周)回归测试,之后集成测试等。关键问题是对于大型系统,设备或系统间依赖性强,而功能测试和回归性测试都是以个体为主进行测试,单个模块,设备,系统没问题,但集成之后由于每个设备的变化,往往导致后阶段问题频出,甚至是方案一级的设计缺陷,此时再改,压力巨大,成本非常高。如果能把集成测试前移或与开发并行执行,进行核心功能的持续集成,即每一到两个sprint结束后立刻进行系统级集成,是否会将系统间不匹配问题,提前发现,减小后期压力。所以柔和敏捷开发的一些方式,能否说:
极限编程(以结对编程为例)是以分钟来保证产品构建质量, 单元测试 是以小时计来保证产品质量, 持续集成测试 是以天计来保证产品质量,三者并行效果更好。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11