一 传统程序测试:
(一)是否关心软件内部和实现划分:
1.黑盒测试:又称功能测试,通过测试来检验每个功能是否正常。从用户的角度,从输入数据和输出数据的对应关系出发进行测试。
2.白盒测试:又称结构型测试,按照程序内部的结构来测试程序。六种:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖发现错误的能力呈由弱至强的变化。
3.灰盒测试:是介于白盒测试与黑盒测试之间的,可以这样理解,灰盒测试关注的是输出对于输入的正确性,同时也关注内部表现。
(二)从是否执行程序来划分:
1.静态测试:是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。
2.动态测试:指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能,这种方法由三部分组成:构造测试实例、执行程序、分析程序的输出结果。
(三)从软件开发阶段划分:
1.单元测试
2.集成测试
3.确认测试
4.系统测试