软件测试流程
软件测试流程
软件测试模型分类
- V模型(重点)
- W模型(重点)
- X模型
- H模型
V模型
- 概念:以”编码“为黄金分割线,将整个过程分为开发和测试,并且开发和测试之间的关系为串行关系
- 用户需求—>需求分析—>概要设计—>详细设计—>编码—>单元测试—>集成测试—>系统测试—>验收测试【以编码为中心线进行分割,这其中编码前面的与后面的为一一对应关系,如单元测试主要是看软件满不满足详细设计的内容】
缺点:测试工作介入太晚了,返工量大
W模型
- 由两个V模型组成,也称为双V模型,一个V代表开发阶段,另一个V代表测试阶段
- 开发阶段:用户需求—>需求分析—>概要设计—>详细设计—>编码—>模块集成—>实施—>交付
- 测试阶段:验收测试准备—>系统测试准备—>集成测试准备—>单元测试准备—>单元测试—>集成测试—>系统测试—>验收测试
- 在需求分析阶段就已经开始乐验收测试的准备,然后顺着同时进行
特点:开发与测试为并行关系,测试工作可以提早介入,返工量大,不支持迭代
软件测试分类
1.按阶段分类
单元测试:对软件中的最小可测单元(一般理解为代码中的函数)进行检查和验证
集成测试:在单元测试的基础上,将所有模块按照设计要求组装成子系统或系统,进行测试
系统测试:将软件,操作系统,硬件看作一个整体,在实际环境下进行测试
验收测试:对完成的系统是否满足最开始的需求进行验证
-
验收测试分类:
-
按用户对象分类:项目验收:由甲方发起并验证是否符合甲方需求
产品验收:由产品经理发起并验证是否符合用户需求
-
按阶段分类:内测;公测
-
主要项目环境
- 开发环境
- 测试环境
- 预生产环境
- 线上环境(生产环境)
2.按是否考虑代码逻辑分类
黑盒测试
- 把测试对象看作一个黑盒子,不用考虑盒子里的逻辑问题,只需检查程序的功能是否符合需求文档
- 重点:验证程序功能是否符合需求文档
- 测试依据:需求文档(PRD)
白盒测试
- 与黑盒相反,将盒子看作透明盒,测试时需要对程序的所有逻辑路径进行测试,验证是否所有的路径都能走通
- 重点:验证源代码的逻辑结构是否符合设计
- 测试依据:代码规范,详细设计文档
灰盒测试
- 介于黑和白之间,需要了解代码逻辑,重点验证程序的功能
- 了解业务逻辑再进行测试
单元测试-->白盒测试
集成测试-->白盒测试
系统测试-->黑盒测试或灰盒测试
验证测试-->黑盒测试
面试题:
问:白盒测试与黑盒测试的区别?
回答:
- 首先,策略不同,白盒需要考虑代码逻辑,黑盒不需要
- 其次,阶段不同,白盒测试进行的早,单元测试和集成测试都属于白盒,黑盒测试进行的较晚,UI/功能/易用性都属于黑盒
- 然后,上手难度不同,白盒需要具备代码能力,黑盒需要测试/用户思维
- 最后,白盒测试和黑盒测试都是测试环节中不可或缺,不可互相替代的一部分
3.按照是否运行来分类
静态测试
- 不运行被测程序本身,检查文档或者源程序的语法,结构,过程等
- 测试对象:需求文档,各类设计文档,源程序,数据
动态测试
- 运行程序进行测试
- 测试对象:源程序,目标程序,数据
4.按照是否自动化测试分类
手工测试:用手点点点
自动化测试:借助工具或代码来进行测试
5.其他测试
冒烟测试:针对最基本的功能或流程进行测试
回归测试:修改代码后,重新进行测试
- 应用场景:
- bug回归:当前迭代的bug修复后,需回归,以前版本中概率出现的bug,可能需要连续跟踪几个版本
- 旧功能回归
面试题
问:回归测试的重点?
回答:做回归测试的方向主要有两个,bug回归和旧功能回归
- 如果是bug回归,重点是修改过的功能或者模块,还有与之关联的功能或模块
- 如果是旧功能回归,重点是需要分清重要的核心功能,以及使用频率高的功能
随机测试
随机测其他人没有测试到的功能
探索性测试
测试的设计和执行同时进行

浙公网安备 33010602011771号