软件测试流程

软件测试流程

软件测试模型分类

  • V模型(重点)
  • W模型(重点)
  • X模型
  • H模型

V模型

  • 概念:以”编码“为黄金分割线,将整个过程分为开发和测试,并且开发和测试之间的关系为串行关系
  • 用户需求—>需求分析—>概要设计—>详细设计—>编码—>单元测试—>集成测试—>系统测试—>验收测试【以编码为中心线进行分割,这其中编码前面的与后面的为一一对应关系,如单元测试主要是看软件满不满足详细设计的内容】

缺点:测试工作介入太晚了,返工量大

W模型

  • 由两个V模型组成,也称为双V模型,一个V代表开发阶段,另一个V代表测试阶段
  • 开发阶段:用户需求—>需求分析—>概要设计—>详细设计—>编码—>模块集成—>实施—>交付
  • 测试阶段:验收测试准备—>系统测试准备—>集成测试准备—>单元测试准备—>单元测试—>集成测试—>系统测试—>验收测试
  • 在需求分析阶段就已经开始乐验收测试的准备,然后顺着同时进行

特点:开发与测试为并行关系,测试工作可以提早介入,返工量大,不支持迭代

软件测试分类

1.按阶段分类

单元测试:对软件中的最小可测单元(一般理解为代码中的函数)进行检查和验证

集成测试:在单元测试的基础上,将所有模块按照设计要求组装成子系统或系统,进行测试

系统测试:将软件,操作系统,硬件看作一个整体,在实际环境下进行测试

验收测试:对完成的系统是否满足最开始的需求进行验证

  • 验收测试分类:

    1. 按用户对象分类:项目验收:由甲方发起并验证是否符合甲方需求

      ​ 产品验收:由产品经理发起并验证是否符合用户需求

    2. 按阶段分类:内测;公测

主要项目环境

  • 开发环境
  • 测试环境
  • 预生产环境
  • 线上环境(生产环境)

2.按是否考虑代码逻辑分类

黑盒测试

  • 把测试对象看作一个黑盒子,不用考虑盒子里的逻辑问题,只需检查程序的功能是否符合需求文档
  • 重点:验证程序功能是否符合需求文档
  • 测试依据:需求文档(PRD)

白盒测试

  • 与黑盒相反,将盒子看作透明盒,测试时需要对程序的所有逻辑路径进行测试,验证是否所有的路径都能走通
  • 重点:验证源代码的逻辑结构是否符合设计
  • 测试依据:代码规范,详细设计文档

灰盒测试

  • 介于黑和白之间,需要了解代码逻辑,重点验证程序的功能
  • 了解业务逻辑再进行测试
单元测试-->白盒测试
集成测试-->白盒测试
系统测试-->黑盒测试或灰盒测试
验证测试-->黑盒测试

面试题:

问:白盒测试与黑盒测试的区别?

回答:

  • 首先,策略不同,白盒需要考虑代码逻辑,黑盒不需要
  • 其次,阶段不同,白盒测试进行的早,单元测试和集成测试都属于白盒,黑盒测试进行的较晚,UI/功能/易用性都属于黑盒
  • 然后,上手难度不同,白盒需要具备代码能力,黑盒需要测试/用户思维
  • 最后,白盒测试和黑盒测试都是测试环节中不可或缺,不可互相替代的一部分

3.按照是否运行来分类

静态测试

  • 不运行被测程序本身,检查文档或者源程序的语法,结构,过程等
  • 测试对象:需求文档,各类设计文档,源程序,数据

动态测试

  • 运行程序进行测试
  • 测试对象:源程序,目标程序,数据

4.按照是否自动化测试分类

手工测试:用手点点点

自动化测试:借助工具或代码来进行测试

5.其他测试

冒烟测试:针对最基本的功能或流程进行测试

回归测试:修改代码后,重新进行测试

  • 应用场景:
    • bug回归:当前迭代的bug修复后,需回归,以前版本中概率出现的bug,可能需要连续跟踪几个版本
    • 旧功能回归

面试题

问:回归测试的重点?

回答:做回归测试的方向主要有两个,bug回归和旧功能回归

  • 如果是bug回归,重点是修改过的功能或者模块,还有与之关联的功能或模块
  • 如果是旧功能回归,重点是需要分清重要的核心功能,以及使用频率高的功能

随机测试

随机测其他人没有测试到的功能

探索性测试

测试的设计和执行同时进行

posted @ 2026-07-06 21:28  星之奔流  阅读(7)  评论(0)    收藏  举报