敏捷开发与传统开发

来源:互联网 发布:网络在线测速度 编辑:程序博客网 时间:2024/06/07 03:48

敏捷开发与传统开发

本文章谨代表个人观点:

  • 传统开发流程的局限性
  • 传统手工测试的局限性
  • 开发模式的转型

传统开发流程的局限性

1 自由度低 缺乏灵活性
2 缺陷发现晚,无法及时反馈
3 协同合作缺失,容易引起团队冲突
4 产品质量无法保证

传统手工测试的局限性

1 重复性工作,测试质量低
2 测试效率低
3 无法保证覆盖代码全路劲
4 无法兼顾多平台,多浏览器

开发模式的转型

敏捷软件开发

为应对需求快速变化而发展的软件开发方法,有多种敏捷开发方法:
极限编程(Extreme Programming)
精益开发(Lean Software Development)
特征驱动开发(Feature-Driven Development)等
敏捷开发更倾向于迭代式开发,增量交付,及时反馈,关注软件质量。

特点:
更强的灵活性
更短的开发周期
持续反馈
测试和开发技能的融合

全流程的测试

单元测试(Unit Test)
集成测试(Integration Test)
端到端测试(End-to-End Test)

让测试自动化

此时自动化并不是要彻底摆脱测试人员,而是一种由人设计及其的行为。让机器驱动测试的新模式。

持续集成(Continuous Integration 简称CI)

持续集成是一个频繁持续的在团队内进行业务集成,自我反馈完善的软件开发实践。持续集成通过自动化构建,把包括编译,部署,测试,审计和反馈的一组流程用一体化方案驱动起来,整个流程不需要任何用户的人工干预。其好处在于:
1 及早发现缺陷
2 通过构建自动化过程,减少开发测试人员的重复劳动
3 团队成员在任何时间点上提交的代码都可以进行集成,这使得开发团队能随时发布可部署的软件
4 持续良好的架构可以有效实现分布式团队的协作沟通,让团队成员任何时候都能了解产品的状态,实时的知道当前已经完成了什么功能,还有什么缺陷需要修复。