复旦大学计算机科学与工程系 软件工程课程 软件工程 第11章 软件测试 内容摘要 软件测试基础 白盒测试 黑盒测试 测试策略 面向对象测试 测试完成标准 调试 内容摘要 软件测试基础 白盒测试 黑盒测试 测试策略 面向对象测试 测试完成标准 调试 软件测试基础 软件测试的目的 软件测试的基本原则 白盒测试和黑盒测试 有关软件测试的错误观点 “软件测试是为了证明程序是正确的,即测试能发现程序中所有的错误”。事实上这是不可能的。要通过测试发现程序中的所有错误,就要穷举所有可能的输入数据。 对于一个输入三个16位字长的整型数据的程序,输入数据的所有组合情况有248 ? 3*1014,如果测试一个数据需1ms,则即使一年365天一天24小时不停地测试,也需要约1万年。 对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字。例如一个小程序的流程图,它包括了一个执行20次的循环,其循环体有五个分支。这个循环的不同执行路径数达520条,如果对每一条路径进行测试需要1毫秒,那么即使一年工作365 × 24小时,要想把所有路径测试完,大约需3170年。 “程序测试是证明程序正确地执行了预期的功能”。实际上,一个程序不仅要完成它所需完成的功能,而且不应完成它不该做的事。如不能把边长为0、0、0的三条边判断为等边三角形。 软件测试的目的 Glen Myers给出的软件测试目的:
原创力文档

文档评论(0)