软件工程主讲教师:周竹荣.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程主讲教师:周竹荣.ppt

软件工程 主讲教师:周竹荣 等价类划分--基本概念 分类:把所有可能的输入数据(有效的和无效的)划分成若干个等价类, 假定:每类中的一个典型值在测试中的作用与这一类中所有其他值的作用相同。 方法:从每个等价类中只取一组数据作为测试数据。 结论:这样选取的测试数据最有代表性最可能发现程序中的错误。 例如:输入的数据范围是1~999,我们可以划分三类:x<1,1<=x<999,x>=999 等价类划分--经验规则 如果规定了输入值的范围,则可划分出一个有效的等价类(输入值在此范围内),两个无效的等价类(输入值小于最小值或大于最大值); 如果规定了输入数据的个数,则类似地也可以划分出一个有效的等价类和两个无效的等价类; 如果规定了输入数据的一组值,而且程序对不同输入值做不同处理,则每个允许的输入值是一个有效的等价类,此外还有一个无效的等价类(任一个不允许的输入值); 如果规定了输入数据必须遵循的规则,则可以划分出一个有效的等价类(符合规则)和若干个无效的等价类(从各种不同角度违反规则); 如果规定了输入数据为整型,则可以划分出正整数、零和负整数等三个有效类; 如果程序的处理对象是表格,则应该使用空表,以及含一项或多项的表。 例子--等价类划分问题 例子--等价类划分结果 有效输入的等价类有 (1)1~6个数字字符组成的数字串(最高位数字不是零); (2)最高位数字是零的数字串; (3)最高位数字左邻是负号的数字串; 无效输入的等价类有 (4)空字符串(全是空格); (5)左部填充的字符既不是零也不是空格; (6)最高位数字右面由数字和空格混合组成; (7)最高位数字右面由数字和其他字符混合组成; (8)负号与最高位数字之间有空格; 合法输出的等价类有 (9)在计算机能表示的最小负整数和零之间的负整数; (10)零; (11)在零和计算机能表示的最大正整数之间的正整数; 非法输出的等价类有 (12)比计算机能表示的最小负整数还小的负整数; (13)比计算机能表示的最大正整数还大的正整数。 例子--等价类划分方案 (1)1~6个数字组成的数字串,输出是合法的正整数。 输入:‘ 1’ 预期的输出:1 (2)最高位数字是零的数字串,输出是合法的正整数。 输入:‘000001’ 预期的输出:1 (3)负号与最高位数字紧相邻,输出合法的负整数。 输入:‘–00001’ 预期的输出:–1 (4)最高位数字是零,输出也是零。 输入:‘000000’ 预期的输出:0 (5)太小的负整数 输入:‘–47561’ 预期的输出:“错误——无效输入” (6)太大的正整数 输入:‘132767’ 边界值分析 经验:处理边界情况时程序最容易发生错误。 例如:许多程序错误出现在下标、纯量、数据结构和循环等等的边界附近。 例如:输入数据的值的范围是:-1.0至1.0,则可选-1.0,1.0,-1.001,1.001等数据作为测试数据。 结论:设计使程序运行在边界情况附近的测试方案,暴露出程序错误的可能性更大一些。 方法:选取的测试数据应该刚好等于、刚刚小于和刚刚大于边界值。通常设计测试方案时总是联合使用等价划分和边界值分析两种技术。 例子--边界值分析 为了测试前述的把数字串转变成整数的程序,除了上一小节已经用等价划分法设计出的测试方案外,还应该用边界值分析法再补充下述测试方案: (12)使输出刚好等于最小的负整数。 输入:‘–32768’ 预期的输出为:–32768 (13)使输出刚好等于最大的正整数。 输入:‘32767’ 预期的输出:32767 原来用等价划分法设计出来的测试方案(5)最好改为: (5)使输出刚刚小于最小的负整数。 输入:‘–32769’ 预期的输出:“错误——无效输入” 原来的测试方案(6)最好改为: (6)使输出刚刚大于最大的正整数。 输入:‘32768’ 预期的输出:“错误——无效输入” 错误推测法 经验:不同类型不同特点的程序通常又有一些特殊的容易出错的情况 结论:依靠测试人员的经验和直觉,从各种可能的测试方案中选出一些最可能引起程序出错的方案。 方法:错误推测法在很大程度上造自觉和经验进行。它的基本想法是列举出程序中可能有的错误和容易发生错误的特殊情况,并且根据它们选择测试方案。 语句覆盖--概念 为了暴露程序中的错误,至少每个语句应该执行一次。语句覆盖的含义是,选择足够多的测试数据,使被测程序中每个语句至少执行一次。 例子-语句覆盖 判定覆盖--概念 判定覆盖又叫分支覆盖,它的含义是,不仅每个语句必须至少执行一次,而且每个判定的每种可能的结果都应该至少执行一次,也就是每个判定的每个分支都至少执行一次。 例子--判定覆盖 讲解:判定与条件 判定覆盖的标准 条件覆盖--概念 条件覆盖的含义是,不仅每个语句至少执行一次,

文档评论(0)

changjiali2019 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档