软件开发过程模型
1、是线性模型的一种,在所有模型中占有重要地位,是所有其他模型的一个基础。
2、每一个阶段执行一次,按线性顺序进行软件开发。
测试的切入点:测试阶段处于软件实现后,必须在代码完成后留出足够的时间给测试活动,否则将导致测试不充分,很多问题到项目后期才暴露
-
优点:开发阶段,各个阶段比较清晰;强调早期计划及需求调查;适合稳定需求的产品开发;
-
改良:每个阶段都可以融入小的迭代工作!
-
快速原型模型(了解)
-
实现一个基本原型,让用户对原型进行评价,逐步调整,使其满足用户最终需求;
-
优点:适合不能确定需求的软件;
-
缺点:不适合开发大型系统。
-
螺旋模型(简单了解)
-
螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型相符合,螺旋模型沿着螺旋线旋转,即在坐标的4个象限上分别表示了4个方面的活动
-
优点:螺旋模型很大程度上是一种风险驱动的方法体系,因为在每个阶段之前及经常发生的循环之前,都必须首先进行风险评估。
-
缺点:采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中, 如果未能够及时标识风险,势必造成重大损失。过多的迭代次数会增加开发成本,延迟提交时间
软件测试&软件工程(简单了解)
- 软件测试与软件工程息息相关,软件测试是软件工程组成中不可或缺的一部分。
- 在软件工程、项目管理、质量管理得到规范化应用的企业,软件测试也会进行得比较顺利,软件测试发挥的价值也会更大。
- 要关注软件工程、质量管理以及配置管理与软件测试的关系;在不同的开发模式下,如何进行软件测试。
测试模型
V模型(重点)
需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试、验收测试;
- 单元测试:又称模块测试,针对单一的程序模块进行的测试
- 集成测试:又叫组装测试,在单元测试的基础上,对所有模块进行测试。
- 系统测试:将整个软件看做一个整体来进行测试,包括功能、性能、兼容性
- 验收测试:
(1)、内测版(alpha)内部交流版本,可能存在很多bug,不建议用户安装。
(2)、公测版(beta)面向所有用户,通过用户的反馈再去修改细节。
(3)、候选版(gamma)与正式软件相差无几。
- 1、优点:包含了底层测试(单元测试)和高层测试(系统测试);清楚的标识了开发和测试的各个阶段;自上而下逐步求精,每个阶段分工明确,便于整体项目的把控。
- 2、缺点:自上而下的顺序导致了,测试工作在编码之后,就导致错误不能及时的进行修改;实际工作中,需求经常变化,导致v模型步骤,反复执行,返工量很大,灵活度较低。
- 改良:每个步骤都可以进行小的迭代工作。
- List item