【学习记录】静态测试与随机测试
最近学习期间,我从测试的朋友那里听说的,
和外面交流会问到这个问题。
在此,我做个小总结。
1、静态测试(static testing)
静态测试是静态地检查程序代码、接口或文档中可能的错误,而不是实际运行被测试软件的过程。
包括代码测试、接口测试和文档测试:
对于代码测试,主要测试代码是否符合相应的标准和规范。
对于接口测试,主要测试软件的实际接口是否符合需求中的说明。
对于文档测试,主要测试用户手册和需求描述是否符合用户的实际需求。
2、动态测试(dynamic testing)
动态测试是指实际运行被测程序,输入相应的测试数据,检查实际输出结果是否与预期结果一致的过程。因此,判断一个测试是动态还是静态的唯一标准是是否运行程序。
黑盒测试可以是动态测试(运行程序,看输入输出),也可以是静态测试(不运行,只看界面)。
白盒测试可以是动态测试(运行程序并分析代码结构),也可以是静态测试(不运行程序,只静态察看代码)。
动态测试可以是黑盒测试(运行,只看输入输出)或白盒测试(运行并分析代码结构)。
静态测试可以是黑盒测试(不运行,只察看界面)或白盒测试(不运行,只察看代码)。
3、静态测试和动态测试之间的区别
静态测试:通过对测试程序的静态检查来发现代码中潜在的错误。
它通常是离线手动完成的,因此也称为手动测试或代码审查(Code Review)。也可以借助静态分析器在机器上自动检查,但不要求程序本身在机器上运行。
动态测试:使用和运行被测软件,一般意义上的测试。
动态测试的对象必须是能够真正由计算机运行的被测程序,包括黑盒测试和白盒测试。