一、 测试方法的分类
静态测试方法
动态测试方法
1 静态测试方法
不执行程序的测试方法。
主要用于测试文档和代码(文档)。
2 动态测试方法
通过运行程序来发现缺陷的测试方法。
黑盒测试方法
白盒测试方法
2.1 黑盒测试
也称为功能测试、数据驱动测试、基于规格说明书测试。
从用户观点出发,主要以软件规格说明书为依据,对程序功能和接口进行测试,对
输入输出数据之间的对应关系进行测试。
它不涉及到程序的内部结构,如果外部特性本身有问题或规格说明书有问题,则无
法察觉。
安全性测试、互操作性测试也属于功能测试。
方法如大纲法、场景法、等价类、边界值、决策表、错误猜测等。
黑盒测试方法还用于测试软件的非功能性特性。
非功能测试用于测试系统工作的怎么样,包括但不限于:
可用性/可靠性/稳定性/健壮性/可恢复性测试
可维护性测试
易用性测试
可移植性/兼容性测试
配置测试
文档测试
国际化测试/本地化测试
当不涉及程序内部结构时,上述测试类型也使用黑盒测试方法。
2.2 白盒测试
也称结构测试、逻辑驱动测试、基于程序本身的测试、程序员测试。
结构测试需要完全了解程序结构和处理过程,按照程序内部逻辑测试程序,检验程
序中每条通路是否按照预定要求工作。
2.3 黑盒测试与白盒测试的区别
二、 静态测试方法
静态测试方法包括评审和静态分析方法。
1 评审
1.1 评审的含义、过程和目的
1.2 评审的角色
1.3 评审的分类
文档审查
代码审查
代码走查
1.4 代码审查
1.4.1 代码审查的含义 、过程和目的
1.4.2 代码审查的方法和范围
具体做法方法
互查
通常合格的代码应具备正确性、清晰性、规范性、一致性和高效性,概括起来,
代码审查的工作涵盖下列方面
业务逻辑的审查
算法的效率
代码风格
if (j>MAX_NUM) 与 if (j>2000),哪个好?
编程规则
1.5 代码走查
2 静态分析方法
4.1 数据流分析
使用了未声明/定义的变量
变量声明了没有使用
4.2 控制流分析
4.3 复杂度分析
复杂度分析给出一组能描述程序代码的复杂度特征的度量。
计算复杂度