什么是敏捷开发?

概念

简单的说,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。

换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

敏捷最大的特色是迭代式开发。

特点

敏捷开发最大的特点是迭代式开发,各个阶段都具备独立运行和独立交付的特性。主要是以客户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。

在敏捷开发中,软件项目在构建初期被切分成多个子项目,即就是多个sprint,每个sprint中又会有划分成多个build,在一个软件项目完成后会对整个产品从头到尾进行回归验证,以确保软件在每一次迭代过程中没有错误产生。在软件最后的发布阶段,客户会对最终的产品进行验收工作。上线后对软件进行一直的维护。

以软件项目中的一个迭代即一个sprint为例,一个sprint一般会被分割成2-4个build,每个build的周期约为1周,每个sprint的第一步都需要对项目进行需求的分析和澄清过程,确保达到需求对齐(甲方和乙方)的目的。第二步根据分析所得的需求对测试进行计划,确保在有计划的基础上进行每一项工作和任务。第三步根据测试计划进行设计测试用例,需要有清晰的思路,对要测什么,按照什么顺序测,覆盖哪些要求,有明确的方向。第四步根据测试设计去进行软件的开发,开发完成后,自己测试完毕并把测试出来的bug修复后进行版本转测。基于每个build,第一步需要搭建测试环境,完成后对开发给的测试包进行冒烟测试,如果测试通过进行下一步操作,如果没有通过进行版本打回。第二步执行测试用例,根据测试用例执行的结果将bug提交成开发,等bug修复后再次进行测试,完成通过后进行下一个build,等所有的build执行完成后,基于一个sprint,对真个过程进行总结,并编写测试报告。

敏捷相关概念:

Sprint(Sprint本身是一个事件,包括了如下4个事件)

Sprint计划会议(SprintPlanning Meeting)

每日站会(DailyScrum Meeting)

Sprint评审会议(SprintReview Meeting)

Sprint回顾会议(SprintRetrospective Meeting)

TDD:测试驱动开发(Test-DrivenDevelopment)

测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD的基本思路就是通过测试来推动整个开发的进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设计,质量控制量化的过程。TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。

BDD:行为驱动开发(BehaviorDriven Development)

行为驱动开发是一种敏捷软件开发的技术,它鼓励软件项目中的开发者、QA和非技术人员或商业参与者之间的协作。主要是从用户的需求出发,强调系统行为。BDD包括验收测试和客户测试驱动等的极限编程的实践,作为对测试驱动开发的回应。

持续集成CI(Continuous Integration)

持续集成强调开发人员提交了新代码之后,立刻自动的进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。

持续集成过程中很重视自动化测试验证结果,对可能出现的一些问题进行预警,以保障最终合并的代码没有问题。

持续部署CD(continuous deployment)

是通过自动化的构建、测试和部署循环来快速交付高质量的产品。某种程度上代表了一个开发团队工程化的程度,毕竟快速运转的互联网公司人力成本会高于机器,投资机器优化开发流程化相对也提高了人的效率,让 engineering productivity 最大化。

  • 8
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张驰Terry

知识源于创作热情,感谢你的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值