首页 > 技术文章 > 软件测试基础

foreverfj 2020-06-02 14:49 原文

 白盒测试的方法:

  • 语句覆盖:语句覆盖是最起码的结构覆盖要求,语句覆盖要求设计足够多的测试用例,使得程序中每条语句至少被执行一次。所谓足够的指的是越少越好
  • 判定覆盖:判定覆盖又称为分支覆盖,它要求设计足够多的测试用例,使得程序中每个判定至少有一次为真值,有一次为假值,即:程序中的每个分支至少执行一次。每个判断的取真、取假至少执行一次。
  • 条件覆盖:条件覆盖要求设计足够多的测试用例,使得判定中的每个条件获得各种可能的结果,即每个条件至少有一次为真值,有一次为假值。
  • 判定/条件覆盖:设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身所有可能结果也至少出现一次。
  • 组合覆盖:要求设计足够多的测试用例,使得每个判定中条件结果的所有可能组合至少出现一次。
  •  路径覆盖:设计足够的测试用例,覆盖程序中所有可能的路径。

覆盖准则由弱到强依次是语句覆盖、判定覆盖(分支覆盖)、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。

白盒测试用例设计方法:

  • 代码检查法、
  • 静态结构分析法、
  • 静态质量度量法、
  • 逻辑覆盖法、
  • 基本路径覆盖测试法、
  • 域测试、
  • 符号测试

黑盒测试用例设计方法:

  • 等价类划分法、
  • 边界值分析法、
  • 错误推测法、
  • 因果图法、
  • 判定表驱动法、
  • 正交试验设计法、
  • 功能图法、
  • 场景图法

边界值法既可以用于黑盒测试用例,也可以用于白盒测试用例。

 

单元测试的策略:

  • 逻辑覆盖、
  • 循环覆盖、
  • 同行评审、
  • 桌前检查、
  • 代码走查、
  • 代码评审、
  • 景泰数据流分析

 

单元测试主要技术手段:

  • mock:对代码中某些不容易获取的对象创建虚拟对象来测试
  • stub:桩函数是代替某些被调用了但是没有编写代码,一般再增量迭代自底向上的过程中不用编写。再自顶向下的过程中需要编写
  • 驱动函数:调用被测函数,给被测函数传参
 
GUI测试手段是系统测试手段
 
单元测试,详细设计文档
集成测试,概括设计文档
系统测试,系统设计文档

推荐阅读