3.测试基础(测试方法3种角度)

测试方法:

测试的方法有很多种划分方法,主要有以下3个角度:

  1. 黑盒测试,白盒测试,灰盒测试
  2. 动态测试,静态测试
  3. 人工测试,自动化测试

1.黑盒、白盒、灰盒测试

简单的来说黑盒测试是指,只知道软件的需求规格,进行测试

白盒测试是指,知道软件内部实现和结构等信息,进行测试

灰盒测试介于两者之间

白盒测试

依据被测试软件的内部构造,进行测试设计,对于软件内部控制流程进行测试,不需要去测试整个软件实现情况

例如:依据详细设计文档,进行单元测试就是属于白盒测试。

3.测试基础(测试方法3种角度)_第1张图片

白盒测试的主要方法:

静态分析技术:控制流分析,数据流分析,信息流分析(以后了解)

动态分析技术:逻辑覆盖率测试(分支测试,路径测试等),程序插装

(1)逻辑覆盖:

语句覆盖

判定覆盖

条件覆盖

路径覆盖等

例子:

c语言代码:

main(){

printf(“hello world”);

int x=10;

if(x>9){

printf(“大于9”);

}

else{

printf(“不大于9”);

}

}

 

语句覆盖:设计测试,能够将所有的语句至少执行1次

在例子中,设计x=10,和x=9.两次执行可以测试到所有的语句

 

判定覆盖:设计测试,能够执行到代码种所有的分支

 

条件覆盖:设计测试,能够执行到所有判定中所有条件的结果

 

路径覆盖:设计测试,能够执行程序中的所有路径(从程序起点到终点)

2)程序插装

在程序中插入操作,实现测试目的

例如:在代码中插入打印语句(查看程序所走路径,特定变量在程序执行中值的变化)

白盒测试的特点:

测试人员需要了解软件的内部实现

对于代码的测试比较彻底

相对来说投入更大,成本较高

 

黑盒测试:

黑盒测试是把测试对象看成一个黑盒子,只考虑他整体的实现特性,不考虑他内部实现,一般称为基于规格的测试,也叫功能测试。

黑盒测试的主要方法:

等价类划分法

边界值分析法

判定表法

因果图法

正交实验法

流程分析法

状态迁移法

使用黑盒测试的主要目的是为了在测试时,减少测试用例数量,用尽量少的测试用例,能够发现更多的问题

常见的黑盒测试的类型

功能测试,性能测试,安全性测试,可靠性测试,容量测试,压力测试,恢复性测试等。

黑盒测试的特点

测试人员不需要了解内部实现的细节

相对来说黑盒测试的效率较高

从用户角度进行测试

 

灰盒测试

既利用软件内部实现信息测试,也使用整体实现信息进行测试,就是灰盒测试

既有白盒的方法,也有黑盒的方法

典型的灰盒测试:

集成测试阶段的测试

 

2.动态测试和静态测试

动态测试就是按照设计好的数据和步骤进行测试

如·执行系统测试阶段的测试

静态测试就是不运行软件进行的测试

如:需求文档的评审

还有就是同行评审是静态测试中的重要方法

作者的同行业者来对于作者的产品进行检查

评审贯穿于整个项目过程

3.测试基础(测试方法3种角度)_第2张图片

常见的动态测试工具:

自动化测试工具:selenium,appium

性能测试:loadrunner,jmeter

 

3.人工测试和自动化测试

人工测试:

测试活动由人来完成,是测试最基本的形式

自动化测试:

由计算机模拟人的行为,替代人的测试活动

 

自动化测试的意义:

具有一致性和可重复性

例如:采用自动化测试,在环境和条件相同的情况,测试结果都是一致的

复用性:

例如:项目中只要编写了一份自动化测试脚本,整个项目测试人员都可以使用该脚本进行测试,甚至其他项目可以使用或借鉴

 

自动化测试需要借助工具目前不能完全取代人工。

你可能感兴趣的:(3.测试基础(测试方法3种角度))