软件测试的分类(二)

我们还可以按照软件测试的手段来对软件测试进行分类

我们大致可以分为六个方面:

  • 黑盒测试
  • 白盒测试
  • 静态测试
  • 动态测试
  • 手工测试
  • 自动化测试

一、黑盒测试:

黑盒测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明说的规格正常使用,程序是否能适应地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很显然,如果外部特性本身设计有问题或规格说明书上的规定有误,用黑盒测试方法是发现不了的。

优点:

  1. 容易实施,不需要关注内部的实现
  2. 更贴近用户的使用角度

缺点:

  1. 测试覆盖率较低,一般只能覆盖到代码量的不到40%
  2. 针对黑盒的自动化测试,复用率较低,维护成本较高

黑盒测试主要测试什么?

  1. 是否由不正确或遗漏的功能?
  2. 在接口上,输入是否能正确的接受?能否输出正确的结果?
  3. 是否有数据结构错误或外部信息(例如数据文件)访问错误?
  4. 性能上是否能够满足要求?

黑盒测试的主要设计方法

  • 等价类划分法
  • 边界值分析法
  • 错误推测法
  • 因果图法
  • 正交试验分析法
  • 状态迁移图法
  • 流程分析法

二、白盒测试

白盒测试又被称为结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。

优点:

  1. 迫使测试人员去仔细思考软件的实现,理解原理
  2. 可以检测代码中的每条分支和路径
  3. 揭示隐藏在代码中的错误
  4. 对代码的测试比较彻底

缺点:

  1. 昂贵。
  2. 无法检测代码中遗漏的路径和数据敏感性错误
  3. 不能直接验证需求的正确性

白盒测试的主要方法:

  1. 代码检测法
  2. 静态结构分析法
  3. 静态质量度量法
  4. 逻辑覆盖法
  5. 基本路径测试法

三、灰盒测试

介于黑、白测试之间的,关注输出对于输入的正确性,同时也关注内部表现

四、静态测试

静态测试是指无须执行被测程序,而是通过评审软件文档或代码,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处,减少错误出现的概率

五、动态测试

动态测试是指通过运行被测程序,检查运行结果盒与预期结果的差异,并分析运行效率、正确性和健壮性等。 

六、手工测试

由专门的测试人员从用户角度来验证软件是否满足设计要求的行为。更适用针对深度的测试和强调主观判断的测试。

众包测试、探索式测试。

七、自动化测试

使用单独的测试工具软件控制测试的自动化执行以及对预期和结果进行自动检查

单元测试、接口测试、性能测试等。

八、手工测试和自动化测试的不同

手工测试容易发现缺陷、容易实施、创造性、灵活性,但覆盖量化难、重复测试效率低、不一致性、可靠性低、人力资源依赖

自动化测试的效率高、速度快、高复用性、覆盖率容易度量、准确、可靠、不知疲劳。机械、发现缺陷率低、一次性投入较大。

你可能感兴趣的:(测试,软件测试)