1 / 168
文档名称:

软件工程—软件测试课件.ppt

格式:ppt   页数:168页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件工程—软件测试课件.ppt

上传人:phl19870121 2016/5/4 文件大小:0 KB

下载得到文件列表

软件工程—软件测试课件.ppt

相关文档

文档介绍

文档介绍:软件工程软件工程软件工程第第10 10 讲讲软件测试软件测试安博测试空间技术中心/ 地址:北京市海淀区学院路 40 号大唐电信测试空间楼联系电话: 010-62303223 62303260 62303230 乐山师范学院计算机科学系软件工程课程 2 /168 内容摘要内容摘要?软件测试基础?白盒测试?黑盒测试?测试策略?面向对象测试?测试完成标准?调试本章内容取材自经典教材《软件工程实践者之路(第 6版)》《 Software Engineering:A Practitioner's Approach,5th ed. 》乐山师范学院计算机科学系软件工程课程 3 /168 软件测试软件测试?经过需求分析、设计和编码等阶段的开发后,得到了源程序,开始进入到软件测试阶段。?由于在测试之前的各阶段都可能在软件产品中遗留下许多错误和缺陷,如果不及时找出这些错误和缺陷,并将其改正,这个软件产品就不能正常使用, 甚至会导致巨大的损失?目前,程序的正确性证明尚未得到根本的解决,因此,软件测试仍是发现软件错误和缺陷的主要手段?测试是一项非常艰苦的工作,其工作量约占软件开发总工作量的 40% 以上,特别对一些关系到人的生命安全的软件(如飞行控制软件、核反应堆软件等),其测试工作量可能相当于其他开发阶段工作量总和的 3~5 倍乐山师范学院计算机科学系软件工程课程 4 /168 内容摘要内容摘要??软件测试基础软件测试基础?白盒测试?黑盒测试?测试策略?面向对象测试?测试完成标准?调试乐山师范学院计算机科学系软件工程课程 5 /168 软件测试基础软件测试基础?测试软件前,需要设计若干个测试用例( test case ), 一个测试用例由测试输入数据和预期结果组成?本节从 3个方面介绍软件测试基础–软件测试的目的–软件测试的基本原则–白盒测试和黑盒测试乐山师范学院计算机科学系软件工程课程 6 /168 有关软件测试的错误观点有关软件测试的错误观点 1 1 ?“软件测试是为了证明程序是正确的,即测试能发现程序中所有的错误”。事实上这是不可能的。要通过测试发现程序中的所有错误,就要穷举所有可能的输入数据。–对于一个输入 3个16位字长的整型数据的程序,输入数据的所有组合情况有 2 48? 3*10 14,如果测试 1个数据需 1ms ,则即使一年工作 365 ×24小时不停地测试,要想把所有数据测试完,大约需 1万年。–对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字。例如一个小程序的流程图,它包括了一个执行 20 次的循环,其循环体有 5个分支(如下页图)。这个循环的不同执行路径数达 5 20条,如果测试 1 条路径需要 1毫秒,那么即使一年工作 365 × 24 小时不停地测试,要想把所有路径测试完,大约需 3170 年。乐山师范学院计算机科学系软件工程课程 7 /168 乐山师范学院计算机科学系软件工程课程 8 /168 ?“程序测试是证明程序正确地执行了预期的功能”。实际上,一个程序不仅要完成它所需完成的功能,而且不应完成它不该做的事。–如不能把边长为 0、0、0的三条边判断为等边三角形。有关软件测试的错误观点有关软件测试的错误观点 2 2 乐山师范学院计算机科学系软件工程课程 9 /168 软件测试的目的软件测试的目的? Glen Myers 给出的软件测试目的: ?测试是一个为了发现错误而执行程序的过程?一个好的测试用例是指很可能找到迄今为至尚未发现的错误的测试用例?一个成功的测试是指揭示了迄今为至尚未发现的错误的测试?即:软件测试的目的是发现软件中的错误和缺陷,并加以纠正?根据这个测试目的,我们应该排除对测试的错误观点,设计合适的测试用例,用尽可能少的测试用例,来发现尽可能多的软件错误。乐山师范学院计算机科学系软件工程课程 10 /168 软件测试的原则软件测试的原则 Davis 提出了一组指导软件测试的基本原则: ?测试的目的是发现错误,而最严重的错误是那些导致程序无法满足需求的错误 ?现代软件工程主张:测试计划可以在需求模型完成时就开始,测试用例可以在设计模型确定后立即开始 3. Pareto 原则:测试中发现的 80% 的错误可能来自于 20% 的程序代码?这表明:如果测试模块 A时发现的错误比测试模块 B时发现的错误多,那么模块 A中潜藏的错误可能仍比模块 B中潜藏的错误多,此时不能放松对模块 A的测试