3. 软件测试——开发模型(瀑布模型,螺旋模型,递增迭代,敏捷开发)

编程/开发
451
0
0
2022-11-25
标签   敏捷开发

软件工作的范围不仅仅局限在程序编写,而是扩展到了整个软件生命周期; 【软件开发的周期:、需求分析、设计、实现、测试、安装部署、运行维护】

1.瀑布模型

img

根据上面的图可以看到,瀑布模型的测试就是在整个过程中只出现一次,就是在整个开发完成之后

优点: –强调开发的阶段性 –强调早期计划及需求调查 –强调产品测试

缺点: –依赖于早期进行的唯一一次需求调查,不能适应需求的变化 –由于是单一流程,开发中的经验教训不能反馈应用于本产品的过程 –风险往往迟至后期的测试阶段才显露,因而失去及早纠正的机会

2.螺旋模型

img

一般在软件开发初期阶段需求不是很明确时,采用渐进式的开发模式。螺旋模型是渐进式开发模型的代表之一。

这对于那些规模庞大、复杂度高、风险大的项目尤其适合

优点: –强调严格的全过程风险管理 –强调各开发阶段的质量 –提供机会检讨项目是否有价值继续下去

缺点: –引入非常严格的风险识别、风险分析和风险控制,这对风险管理的技能水平提出了很高的要求。这需要人 员、资金和时间的投入

3.递增、迭代

例如:系统需要完成ABCD四个业务模块,只有两周时间

**递增:**第一周完成AB模块,第二周完成CD模块

**迭代:**第一周完成ABCD四个模块的基本模块和框架,第二周再进行细节完善

4.敏捷

敏捷开发有很多种方式,其中scrum是比较流行的一种

scrum:

轻文档,轻流程,重目标,重产出 轻量级:迭代周期短,参与人员少

组成结构:

product owner(产品经理):负责整理user story(用户故事),定义其商业价值,对其进行排序,制定发布计划,对产品负责 scrum master(项目经理):负责召开各种会议,协调项目,为研发团队服务 scrum team(研发团队):研发团队则由不同技能的成员组成,通过紧密协同,完成每一次迭代的目标,交付产品

与瀑布不同,scrum将产品的开发分解为若干个小sprint(迭代),其周期从1周到4周不等,但不会超过4周。参与的 团队成员一般是5到9人。

scrum的基本流程: 1.发布计划会议:product owner负责讲解user story,对其进行估算和排序,发布计划会议的产出就是制定出 这一期迭代要完成的story列表。

2.迭代计划会议:项目团队对每一个story进行任务分解,分解的标准是完成该story的所有任务,每个任务都有 明确的负责人,并完成工时的初估计。

3 每日例会:每天scrum master召集站立会议,团队成员回答昨天做了什么今天计划做什么,有什么问题。

4 演示会议:迭代结束之后,召开演示会议,相关人员都受邀参加,团队负责向大家展示本次迭代取得的成果。

5 回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进,已达到持续改 进的效果。

敏捷中的测试: 挑战1:轻文档 挑战2:快速迭代 1、测试工作的核心内客是没有变的,就是不断地找Bug,只是要调整好自己的心态,一切以敏捷的原则为主。 2、测试人员不能依赖文档,测试用例作用减弱,更多的采用思维导图、探索性测试(强调自由度,设计和执行同时执行,根据测试结果不断调整测试计划)、自动化测试 3、敏捷讲求合作,在敏捷项目组中,测试人员应该更主动点,多向开发人员了解需求、讨论设计、一起研究Bug出现的原因