软件测试复习(1)
1、软件的生命周期
软件的生命周期,又称为软件的生存周期。它是按开发软件的规模和复杂程度,从时间上把软件开发的整个过程进行分解,形成相对独立的几个阶段。
软件的一生
- step1:确定好解决的问题是什么
- step2:确定解决问题是否有存在一个解决方案
- step3:深入了解需求
- step4:设计出实现目标的系统的几种可能方案
- step5:详细设计每个模块
- step6:编码和单元测试
- step7:综合测试
- step8:软件维护
2、软件开发模型
一、瀑布模型(由上及下最终完成整个生命过程 不是循环利用的)
- step1:计划
- step2:需求分析
- step3:设计
- step4:编码
- step5:测试
- step6:运行维护
特点:
- 软件的各个开发流程要按部就班的执行,不会跳步。
- 每一件事必须全部完成才能走到下一步
- 每一步必需验证好了才能进行下一步
缺点:
- 由于开发模型是线性的,增加了开发风险,不能回溯。
- 早起错误可能要等到开发后期的阶段才能发现。
二、原型模型(类似于可以边做边改)
客户与开发公司紧密联系,开发周期长。开发会受到需求变更的影响。
特点:
- 实现客户与系统的交互。
- 进一步细化待开发软件需求
- 最大优点:开发可以确定客户的真正需求是什么
三、螺旋模型
步骤:制定计划 风险分析 实施工程 客户评估
特点:
- 螺旋模型是将瀑布模型与快速原型模型结合起来。
- 强调了其他模型所忽视的风险分析
- 每一次螺旋都包含这四个步骤
四、敏捷模型 敏捷开发是一种以人为核心迭代、循序渐进的开发方法。
特点:
- 短周期开发
- 增量开发
- 由于程序员和测试人员编写的自动化测试来监控开发进度。
- 通过口头沟通
缺点:
- 团队的组建较难,对人员素质要求较高。
- 对测试员要求完全掌握各种脚本语言编程,能执行单元测试、自动化测试。
3、软件开发文档
软件开发文档
包括
- 需求分析文档
- 概要设计文档
- 详细设计文档(包括架构、接口名称)
- 测试设计文档(测试方案、测哪些内容)
- 测试用例
- 测试报告