下载此文档

第七章 软件测试.doc


文档分类:IT计算机 | 页数:约23页 举报非法文档有奖
1/23
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/23 下载此文档
文档列表 文档介绍
第七章第七章第七章软件测试软件测试软件测试编码完成之后,就是对源程序进行测试。软件测试是一项“劳民伤财”的工作, 统计表明, 开发大规模的软件,有 40% 以上的精力是耗费在软件测试上( 40-20-40 规则, Myers 认为软件测试占大约 50% 的项目时间和超过 50% 总成本)。为了保证软件的正确可靠、为了防患于未然, 无论怎样强调软件测试的重要性,都不过分。关于软件测试, 曾有种种似是而非的说法, 众多的术语和测试技术, 也常使我们眼花缭乱。在这里我试尝给大家勾画出一个清晰的逻辑轮廓。 基本概念 软件测试的目的(与地位) 说测试不能不提到 的经典著作《软件测试技巧》, 他在书中说道: “测试是为了发现错误而执行程序的过程。” 则说: “程序测试能证明错误的存在,但不能证明错误不存在。”在这里, 他们明确指出: 测试的目的是发现程序中的错误, 是为了证明程序有错,而不是证明程序无错。(其实你也证明不了) 在软件开发过程中, 分析、设计、编码等工作都是建设性的, 唯独测试带有“破坏性”, 因为它抱着“吹毛求疵”的目的, 明确宣布要在程序中“找岔子”。他们认为这种吹毛求疵的态度是至关重要的( 态度决定一切! ) 。如果你是为了证明程序无错而去进行测试,错误就可能在你的眼皮底下漏过,反之,只要你抱着证明程序有错的目的去测试, 就会尽心尽力去找程序中的错误。根据 Myers 的说法, 测试又是一个“( 在计算机上) 执行程序的过程”。分析和设计阶段都要对文档进行技术审查和管理复审, 源程序完成后,也要进行代码复审( code review ) 。这些审查对减少软件错误有重要作用,但都不能代替在计算机上进行的测试, 认为,测试可视为分析、设计、编码 3 个阶段的“最终复审( ultimate review )”,可见测试在软件质量保证中的重要地位。现在我们干脆把 Myers 的:“程序测试是为了发现错误而执行程序的过程。”作为软件测试的定义。另一个与测试密切相关的活动叫纠错( debugging ) ,我们也常常说起“纠错和调试”。[ 纠错和调试] 测试的目的是发现错误, 纠错则是为了确定错误的性质,并且加以纠正。因此,软件测试其实是这样一个过程: 测试——纠错——测试——纠错——…………, 这种边测试边纠错的活动,常常借助于一种称为调试程序( debugging routine )的专用工具,所以也有人把纠错称为调试。 软件测试的方法和技术广义地说, 软件测试不仅指在计算机上进行的测试( 机器测试), 也应包括用人工方式进行的代码复审(人工测试) ,下面我们列出这两类测试所采用的方法和技术。[注](1 )机器测试和人工测试程序通过编译后, 先要经代码复审, 然后再进行机器测试。机器测试是用设定的测试数据(test data) 执行被测程序的过程,故又称为动态测试( dynamic testing )。代码复审采用人工的方式进行, 目的在于检查程序的静态结构, 找出编译不能发现的错误。经验表明, 组织良好的代码复审, 可以发现程序中 30% 到 70% 的编码和逻辑错误, 从而加快动态测试的进程,提高整个测试的效率。根据 Myers 的研究:人工测试和机器测试是互补的。而且,机器测试只能发现错误的症状, 人工测试一旦发现了错误, 也就同时确定了错误的位置与性质。人工测试并不是可有可无的, 或是为了节约计算机机时而采取的权宜之计, 它是机器测试的准备, 也是测试中不可缺少的环节。(2 )白盒测试和黑盒测试动态测试是一个包括:①设计“测试用例”→②执行被测程序→③分析测试结果并发现错误的过程。[ 测试用例] 以发现程序的错误为目的,而精心设计的一组测试输入数据,以及用这组数据执行被测程序时所期望的输出结果。测试用例= { 输入数据+ 期望结果} 【注】其中{} 表示重复能够想象出来的合法的 C++ 程序让它编译, 另一方面又要编写出一切不合法的 C++ 程序, 看它能否指出程序的错误。显而易见, 合法与不合法的 C++ 程序的数量都是无穷的, 因此, 用黑盒测试方法进行穷举测试是不可能的。[ 试对下图所示的程序进行白盒穷举测试] [注]5 1 +5 2 +5 3+ ……+5 20≈ 10 14 =10 6亿=10 2 万亿=100 万亿这意味着若能每秒完成一次测试,也得用漫长的 320 万年才能完成这次测试任务。由此可见,穷举测试是不实现的,这就是我们所说的测试不能保证程序无错的原因。在实际测试中, 我们只能选择一些有代表性的、典型的测试用例, 对程序进行有限的测试, 通常称这种测试为选择测试。 软件测试的步骤按照软

第七章 软件测试 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数23
  • 收藏数0 收藏
  • 顶次数0
  • 上传人1017848967
  • 文件大小121 KB
  • 时间2017-01-06