软件测试基础知识2:软件开发模型、软件产出和软件的一生
一、软件开发模型:
由于项目、需求的模式不同,所以在软件生命周期过程中选择的软件开发模型,也会有所不同,在历史上,软件开发模型经历了”边做边改“、瀑布、原型、螺旋、敏捷等模式的变更
1、瀑布模型
计划-需求分析-设计-编码-测试-运行维护
特点:
(1)、软件开发的各项活动严格按照线性方式进行
(2)、当前活动接受上一项活动的工作结果
(3)、当前活动的工作结果需要进行验证
缺点:
(1)、由于开发模型是线性的,增加了开发的风险
(2)、早期的错误可能要等到开发后期的阶段才能发现
2、原型模型
客户与开发公司紧密联系,开发周期长。开发会受到需求变更的影响
特点:
(1)、实现客户与系统的交互
(2)、进一步细化待开发软件需求
(3)、开发人员可以确定客户真正需求是什么
3、螺旋模型(原型模式和瀑布模式的基础上)
指定计划-风险分析-实施工程(需求确认、软件需求、软件茶农i你设计、设计确认与认证、详细设计、开发、测试)-客户评估
特点:
(1)螺旋模型是将瀑布模型与原型模型结合起来
(2)强调了其他模型所忽视的风险分析
(3)每一次螺旋包含4个步骤:指定计划、风险分析、实施工程、客户评估
缺点:
过于强调风险分析,那要求许多客户接受并相信这种分析,是不容易的
4、敏捷模型
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法
特点:
(1)、短周期开发
(2)、增量开发
(3)、有程序员和测试人员编写的自动测试来监控开发进度
(4)、通过口头沟通、测试和源代码来交流系统的结构和意图
(5)、编写代码之前先写测试代码,也叫做测试先行
缺点:
(1)、团队组建较难,人员素质要求较高
(2)、对测试原要求完全掌握各种脚本语言变成,能执行单元测试和自动化测试
二、软件产出
软件开发文档:
需求分析文档:
概要设计文档:概要设计的过程是把需求分析通过一些方案化的东西来进行大体的设计,对于测试来说,要知道概要设计文档是否覆盖了所有的需求
详细设计文档:方案、策略、架构、体系、接口名称、接口调用方式、数据库结构、数据样式
测试设计文档:需要包含哪些方面、需要进行那些内容测试、功能点、系统软件的交互(考虑是否需要接口测试)
测试用例:进行测试的依据
测试报告:多少条测试用例,通过了多少条用例、失败了多少条用例,有多少个缺陷、哪些缺陷已修复、哪些缺陷未修复、为什么不修复,测试结果是否允许上线等。
三、软件的一生
项目进行:
编程阶段:单元(白盒测试)
变成完成-开发联调(集成测试)-开发为主
提测-冒烟测试(自动化为主-手工为辅)-测试执行
测试阶段-系统测试(黑盒功能测试为主,自动化/接口测试为辅,根据项目进行性能)
验收阶段-验收测试-测试配合用户或需求