目录
软件测试流程
- 需求分析
- 评审、沟通
- 编写测试计划
- 评审完善
- 提取测试点
- 设计测试用例
- 评审、完善
- 搭建测试环境
- 冒烟测试
- 执行测试用例
- BUG跟踪处理
- 测试报告输出
软件质量模型
- 功能性(适合、准确、互操作、安全)
- 可靠性(成熟、容错、可恢复)
- 易用性(易理解、易学、易操作、吸引)
- 效率(时间、空间)
- 可维护性(可分析、可修改、稳定、可测试)
- 可移植性(适应、可安装、共存、易替换)
软件开发模型
瀑布模型:
是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
优点:
- 为项目提供了按阶段划分的检查点。
- 当前一阶段完成后,您只需要去关注后续阶段。
- 可在迭代模型中应用瀑布模型。
- 增量迭代应用于瀑布模型。迭代1解决最大的问题。每次迭代产生一个可运行的版本,同时增加更多的功能。每次迭代必须经过质量和集成测试。
- 它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
缺点:
- 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
- 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
- 通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
- 瀑布模型的突出缺点是不适应用户需求的变化。
V模型:
V模型大体可以划分为以下几个不同的阶段步骤:客户需求分析、软件需求分析、概要设计、详细设计、软件编码、单元测试、集成测试、系统测试、验收测试。
缺陷及解决:
V模型仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段,忽视了测试对需求分析,系统设计的验证,需求的满足情况一直到后期的验收测试才被验证。
解决的思路是,当一个软件开发的时候,研发人员和测试人员需要同时工作,测试在软件做需求分析的同时就会有测试用例的跟踪,这样,可以尽快找出程序错误和需求偏离,从而更高效的提高程序质量,最大可能的减少成本,同时满足用户的实际软件需求。
适用范围:
V模式是一种传统软件开发模型,一般适用于一些传统信息系统应用的开发,而一些高性能高风险的系统、互联网软件,或一个系统难以被具体模块化的时候,就比较难做成V模式所需的各种构件,需要更强调迭代的开发模型或者敏捷开发模型。
W模型:
由两个V字型模型组成,分别代表测试与开发过程,明确表示出了测试与开发的并行关系。
测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等开发输出的文档同样要测试(这里针对设计文档,一般可以划分为需求设计文档、概要设计文档、详细设计文档和代码文档), 也就是说,测试与开发是同步进行的。
优点:
- 测试的活动与软件开发同步进行
- 测试的对象不仅仅是程序,还包括需求和设计
- 尽早发现
软件缺陷降低开发成本