4.1.1测试的目标 软件测试的目标: ■为了发现程序中的错误而执行程序的过程; ■好的测试方案是极有可能发现迄今尚未发现的 尽可能多的错误的测试方案; ■成功的测试是发现了迄今尚未发现的错误的测 测试是为了发现错误,不能证明程序正 确。一般来说,单元测试可由程序员自己完成, 而综合测试通常由测试小组来完成 die 11
sdie 11 4.1.1 测试的目标 软件测试的目标: ◼ 为了发现程序中的错误而执行程序的过程; ◼ 好的测试方案是极有可能发现迄今尚未发现的 尽可能多的错误的测试方案; ◼ 成功的测试是发现了迄今尚未发现的错误的测 试。 测试是为了发现错误,不能证明程序正 确。一般来说,单元测试可由程序员自己完成, 而综合测试通常由测试小组来完成
1)软件开发成本 软件产品最大的成本是检测软件错误、 修正软件错误的成本。 在整个软件开发中 测试E作量≥50% die
sdie 12 1) 软件开发成本 软件产品最大的成本是检测软件错误、 修正软件错误的成本。 在整个软件开发中: 测试工作量≥50%
2)软件测试的目标 (1)预防错误:几乎不可实现 (2)发现错误:软件测试目的 找错 die 13
sdie 13 2) 软件测试的目标 (1)预防错误: 几乎不可实现 (2)发现错误: 软件测试目的 找错
2)软件测试的目标(续) 把证明程序无错当作测试目的不仅是不正 确的,完全做不到的,而且对做好测试没有 任何益处,甚至是十分有害的。 软件测试要设法使软件发生故障,暴露软件 错误 测试的“成功”与“失败”: 能够发现错误的测试是成功的测试,否则 是失败的测试。 die 14
sdie 14 把证明程序无错当作测试目的不仅是不正 确的, 完全做不到的,而且对做好测试没有 任何益处,甚至是十分有害的。 软件测试要设法使软件发生故障,暴露软件 错误 测试的“成功”与“失败” : 能够发现错误的测试是成功的测试,否则 是失败的测试。 2) 软件测试的目标(续)
2)软件测试的目标(续) 测试的的是说明程序正确地执行它应有 的功能”也是错误的。 例:程序 Triangle,输入三个整数,表示一个 三角形的三个边长,该程序产生一个结果, 指出该三角形是等边三角形、等腰三角形还 是不等边三角形。 为说明其能正确执行它的功能,可使用 测试用例”(3,4,5)(5,56),(6,6,6), 程序都能给出正确结果,是否就可认为程序 是正确的? die
sdie 15 “测试的目的是说明程序正确地执行它应有 的功能”也是错误的。 例:程序Triangle,输入三个整数,表示一个 三角形的三个边长,该程序产生一个结果, 指出该三角形是等边三角形、等腰三角形还 是不等边三角形。 为说明其能正确执行它的功能,可使用“ 测试用例”(3,4,5),(5,5,6),(6,6,6), 程序都能给出正确结果,是否就可认为程序 是正确的? 2) 软件测试的目标(续)