静态测试:静态测试是指不运行被测程序本身,通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
动态测试:通过运行被测程序来检查运行结果与预期结果的差异,并分析运行效率和健壮性等指标。
静态、动态测试注重过程。(技术)
黑盒测试:(也称功能测试)是基于规格说明(需求文档)的测试。测试人员不考虑/不关心软件内部结构,只关心程序的功能是否符合他的功能说明。
黑盒、白盒测试注重结果。
在项目里同一个测试,既有可能属于黑盒测试,也有可能属于动态测试;既有可能属于静态测试,也有可能属于白盒测试。而且它们之间还有
包括交叉的关系,总结以下4句话:
黑盒测试有可能是动态测试(运行程序,只看输入和输出),也有可能是静态测试(不运行程序,只是查看界面)
白盒测试有可能是动态测试(运行程序,并分析代码结构),也有可能是静态测试(不运行程序,只是静态查看代码)
动态测试有可能是黑盒测试(运行程序,只看输入和输出),也有可能是白盒测试(运行程序,并分析代码结构)
静态测试有可能是黑盒测试(不运行程序,只是查看界面),也有可能是白盒测试(不运行程序,只是静态查看代码)
所以黑、白盒测试和动、静态测试是从根本上不同的测试方法,一个关注是否查看代码,一个关注是否执行代码。