软件开发模型(瀑布模型、敏捷)和软件测试(V开云 开云体育官网、W、HX)pdf
软件开发模型(瀑布模型、敏捷模型)和软件测试模型(V模型、W模型、H模型、X模型).pdf
软件开发模型(瀑布模型、敏捷模型)和软件测试模型(V模型、W模型、H模型、X模型).pdf
软件开发模型(瀑布模型、敏捷模型)和软件测试模型(V模型、W模型、H模 型、X模型) 软件开发模型和软件测试模型 V模型、W模型、瀑布模型、 H模型、快速原型模型(敏捷开发)、X模型 软件开发模型 边写边改模型 当⼀个软件产品格说明或主要设计的情况下被开发时,开发者往往不得不重新对产品编码多次直到他们得到正确稳定的产品。这种开发模型 就是边做边改模型。 开发者们⾸先开发出⼀个产品的最初版本给客户验收,然后开发团队开发⼀个新的版本再次给客户验收。这个过程⼀直持续到客户感觉产品 满意为⽌ 瀑布模型 瀑布模型规定了各项软件⼯程活动,包括制定开发计划、需求分析说明、软件设计、程序编码、测试和运⾏维护,并且规定了它们⾃上⽽ 下、相互衔接的固定次序,如同瀑布流⽔,逐级落下。它具有以下特征: 1.从上⼀项活动接受本项活动的丄作对象作为输⼊ 2.利⽤这⼀输⼊实施本项活动应完成的⼯作 3.给出本项活动的⼯作结果,作为输出传递给下⼀项活动 对本项活动实施的⼯作进⾏评审,若⼯作得到确认则继续进⾏下⼀项活动,否则返回前⼀项活动,甚⾄更前项⼯作进⾏返⼯ 瀑布模型的优缺点 优点 1. 开发的各个阶段⽐较清晰 2. 强调早期计划及需求调查 3. 适合需求稳定的产品开发 缺点 1. 依赖于早期的需求调查,不适应需求的变化; 2. 单⼀流程不可逆; 3. 风险往往延⾄后期才显露,失去及早纠正的机会; 4. 问题在项 ⽬后期才开始暴露; 5. 前⾯未发现的错误会传递并扩散到后⾯的阶段,可能导致项 ⽬失败。 快速原型模型 快速原型模型⼜称为敏捷开发模型。其核⼼是以⼈为本,适⽤变化。 在开发真实系统之前,构造⼀个原型,在该原型的基础上,逐渐完成整个系统的开发⼯作。 第⼀步是建造⼀起快速原型,实现⽤户与系统的交互,⽤户对原型进⾏评价,进⼀步细化开发软件的需求。通过逐步调整原型使其满⾜⽤户 的要求,开发⼈员可以确定⽤户的真正需求是什么。 第⼆步是在第⼀步的基础上开发出⽤户满意的软件产品。 1. 克服瀑布模型的缺点,更好地满⾜⽤户的需求并减少由于软件需求不明确带来的项⽬开发风险。 优点 2. 适合预先不能确切定义需求的软件系统的开发。 1. 不适合⼤型系统的开发(适合开发⼩型的、灵活性⾼的系统)。 缺点 2. 前提要有⼀个展⽰性的产品原型,因此在⼀定程度上可能会限制开发⼈员的创新。 螺旋模型 螺旋模型将瀑布模型和原型模型结合起来,不仅体现了两个模型的优点,⽽且还增加了两个模型都忽略了的风险分析,弥补了两者的不⾜。 沿螺旋线向外每旋出⼀圈便开发⼀个更为晚上的新的软件版本,并且进⾏风险评估。 软件 开发 优缺点 适⽤场景 模型 1. 缺少规划和设计环节,软件的结构随着不断的修改越来越糟,导 边写 致⽆法继续修改; 某些场合这种简单的⽅式⾮常有⽤。对需求简单和容易明⽩,软件期望的功 边改 2. 忽略需求环节,给软件开发带來很⼤的风险 ; 能⾏为容易定义,实现的成功或失败容易检验的⼯程可以使⽤这种模型 模型 3. 没有考虑测试和程序的可维护性,也没有任何⽂档,软件的维护 ⼗分困难。 1. 为项⽬提供了按阶段划分的检査点 ; 2. 当前⼀阶段完成后,只需要去关注后续阶段。 a. ⽤户的需求⾮常清楚全⾯,在开发过程中没有或很少变化 : 瀑布 3. 可在迭代模型中应⽤瀑布模型。 b. 开发⼈员对软件的应⽤领域很熟悉 模型 1. 在项⽬的各个阶段极少有反馈; c. ⽤户的使⽤环境⾮常稳定 ; 2. 只有在项⽬⽣命周期的后期才能看到结果;3. 通过过多的强制完 4. 开发⼯作对⽤户参与的要求很低。 成 ⽇期和⾥程碑来跟踪各个项⽬阶段。 1. 可以得到⽐较良好的需求定义,容易适应需求的变化 ; 2. 有利于开发与培训的同步 快速 a. 对所开发的领域⽐较熟悉⽽且有快速的原型开发⼯具; 3. 开发费⽤低、开发周期短且对⽤户更友好。 原型 b. 项⽬招投标时,可以以原型模型作为软件的开发模型; 1. 客户与开发者对原型理解不同; 模型 c. 进⾏产品移植或升级时,或对已有产品原型进⾏客户化⼯作时。 2. 准确的原型设计⽐较困难; 3. 不利于开发⼈员的创新。 1. 设计上的灵活性,可以在项⽬的各个阶段进⾏变更 ; 2. 以⼩的分段来构建⼤型系统,使成本计算变得简单容易; 3. 客户始终参与每个阶段的开发,保证了项⽬不偏离正确⽅向以及 项⽬的可控性 ; 螺旋 4. 随着项⽬推进,客户始终掌握项⽬的最新信息,从⽽能够和管理 螺旋模型只适合于⼤规模的软件项⽬ 模型 层有效地交互 5. 采⽤螺旋模型需要具有相当丰富的风险评估经验和专门知识,在 风险较⼤的项⽬中,如果未能及时识别风险,势必造成重⼤损失 6. 过多的迭代次数会增加开发成本,延迟提交时间 软件测试模型 V模型 V模型 :需求分析-概要设计-详细设计-编码-单元测试-集成测试-系统测试-验收测试 V模型的优缺点 1. 包含了底层测试(单元测试)和⾼层测试(系统测试); 优点 2. 清楚地标识了开发和测试的各个阶段,每个阶段都与开发的各个阶段相对应; 3. 每个阶段分⼯明确,便于整体项⽬的把控。 1. 测试⼯作只在需求分析、系统设计及编码之后,不能及时发现并修改错误; 缺点 2. 测试的对象仅仅是程序,忽略了需求分析,系统设计的测试验证,很可能到最后的验收测试才发现需求和系统设计的错误; 3. 过程是线性的,不能反复迭代和测试 W模型 W模型:⽤户需求-需求分析-概要设计-详细设计-编码-单元测试-集成测试-验收测试-单元测试设计-集成测试设计-系统测试设计-验收测试设 计-集成-实施-交付。 W模型的优点和局限性 1. 测试伴随着整个开发周期,需求和设计同样要测试; 优点 2. 更早的介⼊测试,可以发现初期的缺陷,修复成本低 ; 3. 分阶段⼯作,⽅便项⽬整体管理。 1. 需求、设计、编码等活动被视为串⾏的,开发和测试依然是线性的关系,上⼀阶段⼯作完全结束,才可正式开始下⼀个阶段⼯作; 局限性 2. 每⼀阶段都要有⽂档,没有⽂档根本⽆法执⾏w模型; 3. 对于需求和设计、项⽬组成员的技术的要求很⾼,实践起来困难。 H模型 H模型:测试准备-测试就绪点-测试执⾏-测试流程-其他流程。 H模型是为了解决V模型和W模型存在的问题,尤其是线性问题,导致⽆法重复迭代和测试的问题。 特点: 它将测试活动完全独⽴出来,形成⼀个完全独⽴的流程,将测试准备活动和测试执⾏活动清晰地体现出来。测试贯穿整个⽣命周期,与 其他流程并发地进⾏。 软件测试不仅仅指测试的执⾏,还包括很多其他的活动(如计划、需求分折、⽤例设计、环境搭建、提交缺陷、评估总结等) 当某个测试时间点就绪时,软件测试即从测试准备阶段进⼊测试执⾏阶段。 软件测试要尽早准备,尽早执⾏。 软件测试是根据被测物的不同⽽分层次进⾏的,不同层次的测试话动可以是按照某个次序先后进⾏的,但也可能是反复的。 优点: (1)介⼊早,与开发并⾏,更早的发现问题 (2)测试过程是独⽴于开发过程,更客观和主动的 X模型 X模型:程序⽚段1-测试设计-⼯具配置-执⾏测试-编码完成-执⾏测试-⼯具配置-测试设计-程序⽚段N;封版-执⾏测试-测试设计-⼯具配置- 迭代1…N-探索式测试-执⾏测试 X模型是对V模型的改进。 X模型左边描述的是针对单独程序⽚段所进⾏的相互分离的编码和测试,此后将进⾏频繁的交接,通过集成最终合成为可执⾏的程序。 右上半部分,这些可执⾏程序还需要进⾏测试。已通过集成测试的成品可以进⾏封版并提交给⽤户,也可以作为更⼤规模和范围内集成的⼀ 部分。 多根并⾏的曲线表⽰变更可以在各个部分发⽣。 X模型还定位了探索性测试,这是不进⾏事先计划的特殊类型的测试,这⼀⽅式往往能帮助有经验的测试⼈员在测试计划之外发现更多的软 件错误。但这样可能对测试造成⼈⼒、物⼒和财⼒的浪费,对测试员的熟练程度要求⽐较⾼。 软件笔试题经常会看到V模型上的⼏种测试⽅法。 测试阶段 软件测试按测试阶段可以划分为以下⼏个测试,这个也是 1、单元测试 ⼜称模块测试,针对软件设计中的最⼩单位-- 桩模块,进⾏正确性检查的测试⼯作。单元测试需要从程序的内部结构出发设计测试⽤例。多 个模块可以平⾏地独⽴进⾏单元测试。 单元测试的粒度最⼩,⼀般由开发⼩组采⽤ ⽩盒⽅式来测试,主要测试单元是否符合 “设计”。 2、集成测试 ⼜叫组装测试。集成测试主要⽤来测试模块与模块之间的接⼝,同时还要测试⼀些主要业务功能。重点测试不同模块的接⼝部分。 集成测试界于单元测试和系统测试之间,起到“桥梁作⽤”,⼀般由开发⼩组采⽤ ⽩盒加⿊盒的⽅式来测试,既验证“设计”,⼜验证“需 求”。 3、系统测试(system testing): 系统测试是将整个软件系统看为⼀个整体进⾏测试,包括对功能、性能、以及软件所运⾏的软硬件环境进⾏测试。 系统测试在系统集成完毕后进⾏测试,前期主要测试系统的功能是否满⾜需求,后期主要测试系统运⾏的性能是否满⾜需求,以及系统在不 同的软硬件环境中的兼容性等。 系统测试的粒度最⼤,⼀般由独⽴测试⼩组采⽤⿊盒⽅式来测试,主要测试系统是否符合“需求规格说明书”。 4、验收测试 α测试:Alpha是内测版本,即现在所说的C8。通常只在软件开发者内部交流,α测试主要看有没有功能缺失或系统错误。也有很少⼀部分 发布给专业测试⼈员。 β测试:Beta是公测版本,是对所有⽤户开放的测试版本。主要是看⽤户对软件外观、使⽤⽅便等的反应。给⽤户测的⽬的⼀⽅⾯是使最终 产品尽可能地满⾜⽤户的需要,另⼀⽅⾯也尽量成少了软件中的bug。 λ测试:Camma版本,指的是软件版本正式发⾏的候选版。该版本已经相当成熟了,与即将发⾏的正式版相差⽆⼏,成为正式反布的候选 版本。 简单来说,α测试主要是测试⼈员在开发环境下的测试,β测试是在实际环境中的测试。 从测试设计⽅法可以划分为 ⿊盒测试不考虑程序内部结构和逻辑结构,主要是⽤来测试系统的功能是否满⾜需求规格说明书。⼀般会有⼀个输⼊值,⼀个输⼊值,和期 望值做⽐较。 ⽩盒测试主要应⽤在单元测试阶段,主要是对代码级的测试,针对程序内部逻辑结构,测试⼿段有:语句覆盖、判定覆盖、条件覆盖、路径 覆盖、条件组合覆盖。 灰盒测试介于⿊盒和⽩盒之间
重庆市育才中学教育集团2021-2022学年八年级上学期半期考试物理试题.pdf
第24章一元二次方程同步基础训练2021-202学年九年级数学冀教版上册(word版含答案).pdf
原创力文档创建于2008年,本站为文档C2C交易模式,即用户上传的文档直接分享给其他用户(可下载、阅读),本站只是中间服务平台,本站所有文档下载所得的收益归上传人所有。原创力文档是网络服务平台方,若您的权利被侵害,请发链接和相关诉求至 电线) ,上传者开云体育 开云平台开云体育 开云平台
扫一扫关注微信公众帐号