按测试模式来分类:
1. 瀑布模型
2. 敏捷测试
3. 基于脚本的测试
4. 基于风险的测试
5. 探索式测试等。
一、瀑布模型
1. 步骤
1). 项目计划:输出项目的计划书
2). 需求分析:明确用户的需求定义并对需求有清晰的描述,输出软件的规格说明 --描述用户需求和产品功能的阶段
3). 软件设计:根据需求得出产品的设计方案,包括软硬件的结构、接口、界面、数据等。输出概要设计、详细设计等多份设计说明书
4). 程序开发:根据需求和设计实现产品
5). 软件测试:查看是否满足需求。输出测试结果和测试报告
6). 集成维护:交付给用户,并对产品维护(修改、升级等操作)
2. 优点:
1).强调了需求和设计的作用
2).前阶段完成后只需要关注后续阶段,
3).为项目提供了按阶段划分的检查点,每个阶段的起点终点明确,
4).文档规范,比较好的传递规范信息
3. 缺点:
1).难适应需求的频繁变化
2).项目周期后半段才能看到成果
3).强制的里程碑,完成时间点
4).文档工作量大
二. V模型(最广泛)80年代由Paul rock 提出
1. 步骤
1). 需求分析->概要设计->详细设计->软件编码->单元测试->集成测试->系统测试->验收测试
2). 是瀑布模型的变种,明确表明测试过程的不同级别,阶段 单元测试-集成测试-系统测试-验收测试
3). 并且描述了各个阶段与开发过程各个阶段的对应关系
4). 软件编码-单元测试(测试程序是否满足设计上的要求)
5). 详细设计-集成测试(测试程序是否满足设计上的要求)
6). 概要设计-系统测试(测试软件功能,性能等质量特性上是否满足系统要求的指标)
7). 需求分析-验收测试(测试软件是否满足用户的需求,合同规定)
2. 优点 1). 强调软件开发的协作和速度,反应测试活动和分析设计的关系,软件的实现和验证有机结合3. 缺点: 1).仅把关系明确对应,忽略了对需求分析的验证,对需求和功能的测试到验收测试才能发现;
2 ). 没有很好的体现测试的及时性
三、W模型(双V模型)由evoltif公司提出对V的改进
1. 步骤
1). 用户需求-验收测试设计
2). 需求分析-系统测试设计
3). 概要设计-集成测试设计
4). 详细设计-单元测试设计
5). 编码-单元测试
6). 集成-集成测试
7). 实施-系统测试
8). 交付-验收测试
2. 缺点
1). 不能够很好的支持迭代开发模型
3.优点
1). 开发与测试并行,可以尽早发现问题
四、X模型
1. 优点
1). 针对v模型的改进,主要解决交接和频繁周期的问题,
2). 左边是针对单独的程序片段所进行的相互分离的编码和测试,然后进行频繁的交接,再通过集成,最终合成可执行的程序
3). x模型还可以探索性测试,不进行事先计划,可以发现过多的错误
五、H模型
1. 把测试当成一个完全独立的流程 便于尽早的完成测试,与其他流程并发进行,可以是任何流程,可交叉