软件开发与测试模型
1、开发模型
(1)瀑布模型
优点:
①为项目提供了按阶段划分的检查点
②当前一阶段完成后只需去关注后续阶段
③可在迭代模型中应用瀑布模型
缺点:
①不适合需求模糊或需求经常变动的系统
②灵活性差
(2)增量模型
优点:
①第一个可交付版本的软件所需的成本与时间较小
②能适应客户的需求变更,当需求变化时,只需要修改某一个组件即可
缺点:
①若对用户需求的变更没有整体的规划,可能会变化为"边做边开发"的模式
②最终集成各个组件时,可能会出现集成失败的风险
(3)快速原型模型
优点:
①克服瀑布模型的缺点,减少因软件需求不明确带来的开发风险
②适合预先不能确切定义需求的软件系统的开发
缺点:
①所选用的开发技术和工具不一定符合主流的发展
②快速建立起来的系统结构加上连续的修改可能导致产品质量低下
③使用前提是要有一个展示性的产品原型,一定程度上可能会限制开发人员的创新
(4)螺旋模型
优点:
①支持用户需求的动态变化有助于提高产品的适应能力。
②适合用于庞大、复杂并且具有高风险的系统
缺点:
①过多的迭代次数会增加开发成本,延迟提交时间
2、测试模型
(1)V模型
优点:
①每一个阶段都清晰明了,便于控制开发的每一个过程
②既包含单元测试又包含系统测试
缺点:
①测试介入较晚,对于前期的一些缺陷无从发现和修改
②测试和开发串行,总用时较长
(3)W模型
优点:
①测试伴随软件的整个生命周期
②测试和开发是并行独立进行
缺点:
①对需求和测试技术要求高
②适用于大中型企业
3、测试的工作流程
(1)需求分析
阅读需求文档(产品文档/产品详细设计说明书)->分析需求点->参与需求评审
快速熟悉项目
(2)测试计划和测试方案
测试计划:测试整个项目的总体规划(测试的范围、进度安排、整体的测试策略、风险的评估、风险的规避 5w 1h why when where who what)
测试方案 how
被测试的目标、选取什么样的测试工具、测试的方法、测试的重点
(3)测试用例设计
边界值、等价类…
(4)测试用例执行
(5)评估阶段 测试报告