🎃🎃🎃个人主页🎃🎃🎃
🎃🎃🎃【软件测试专栏】🎃🎃🎃
🎃🎃🎃上一篇文章:认识测试🎃🎃🎃
文章目录
- 1.需求的概念
- 1.1用户需求
- 1.2软件需求
- 2.开发模型
- 2.1概念
- 2.2软件的生命周期
- 2.2.1生命周期各阶段的主要内容
- 2.3常见的开发模型
- 2.3.1瀑布模型
- 2.3.2螺旋模型
- 2.3.3增量模型
- 2.3.4迭代模型
1.需求的概念
1.1用户需求
用户需求一般都是没有经过合理评估的一句话。
1.2软件需求
能将用户需求一步一步的分析并且可执行的就叫软件需求,并且软件需求也是开发人员和测试人员工作的依据。
2.开发模型
2.1概念
规范的流程是在时代的演变下逐渐成型这种就是开发模型。
2.2软件的生命周期
需求分析——计划——设计——编码——测试——运行维护
2.2.1生命周期各阶段的主要内容
- 需求分析——分析用户是否合理(市场分析,技术上分析…)——软件需求文档
- 计划——制定需求执行计划
- 设计——将需求细化成一个个任务,进行技术设计(设计哪些接口,采用什么技术)——产出设计文档
- 编码——开发人员参考需求文档,设计文档,交互图等等文件进行代码的编写
- 测试——测试人员参考测试用例对软件进行测试
- 运行维护——项目上线之后对产品进行线上的维护
线上的维护分三个方面,分别为修复性维护,完善性维护,预防性维护。 - 修复性维护:对项目中未发现的问题进行维护
- 完善性维护:对功能进行完善
- 预防性维护:为了避免产品在线上出现一些极端的问题,进行一些防护的手段
2.3常见的开发模型
2.3.1瀑布模型
开始——需求分析——计划——设计——编码——测试——运行维护——结束
特点:每一个流程只执行一次,线性的开发流程。
缺陷:
- 可以运行的产品很迟才能被看到——产品生成的周期长
- 会出现当在测试的时候出现大量的问题导致项目大面积返工,失去了及早的修复机会
- 必须要留够时间给测试人员,否则会导致测试不够充分,会将问题暴露给用户,给用户造成不好的体验感。
适用的场景:项目固定的小项目
2.3.2螺旋模型
特点:螺旋模型中各个阶段都引入的风险分析+原型
引入的目的:为了减少各个简短会遗留的风险问题,避免把问题留给测试阶段。
优点:
- 强调严格的全过程风险管理
- 强调各开发阶段的质量
- 增加风险分析和原型
缺点: - 项目中可能存在的风险性与风险管理人员的技能水平直接关系
- 需求人员、资金、时间的增加和投入,可能导致项目的成本太高
适用场景:规模庞大、复杂度高、风险大的项目
2.3.3增量模型
特点:将大需求拆分为一个个小需求,独立开发并且上线
2.3.4迭代模型
特点:先将项目的基本大致结构上线,然后再慢慢的将这些功能完善。
这两个模型可以比作画一个人物画:
关于增量模型和迭代模型的一个小结:
- 适用用大项目并且需求不明确的
- 迭代模型和增量模型一般都是配合适用