- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 测试用例的设计4.1 白盒测试4.2 黑盒测试4.3 错误猜测4.4 测试策略第4章 测试用例的设计软件测试中最重要的因素是设计和生成有效的测试用例任何程序的测试必定是不完全的,所以很难做到完全发现软件中的错误,那么如何发现尽可能多的错误?软件测试最关键的问题在给定的时间和成本约束下,在所有可能的测试用例中,哪个子集最有可能发现最多的错误?采用某种策略设计测试用例随机输入测试:低效有策略的黑盒测试和白盒测试第4章 测试用例的设计——设计方法黑盒测试边界值分析等价类划分因果图判定表错误猜测白盒测试语句覆盖判定覆盖条件覆盖判定/条件覆盖多重条件覆盖4.1 白盒测试——逻辑覆盖准则语句覆盖:设计若干测试用例,运行被测程序,使得每一个可执行语句至少执行一次。判定/分支覆盖:设计若干测试用例,运行被测程序,使得程序每个判断的取真分支和取假分支至少经历一次。条件覆盖:设计若干测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。判定/条件覆盖:设计若干测试用例,运行被测程序,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果至少执行一次。多重条件覆盖:设计若干测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次。Aa1 b == 0CyesnoBx = x / aa==2 ||x 1EyesDnox = x + 14.1 白盒测试例子//被测试的程序段如下if (a1 b==0) { x = x / a;}if (a==2 || x1) { x = x + 1;}4.1 白盒测试——测试用例设计语句覆盖的测试用例(1个)[(2,0,4),(2,0,3)] 覆盖ace判定/分支覆盖的测试用例(2个)方案1:[(2,0,4),(2,0,3)] 覆盖ace [(1,1,1),(1,1,1)] 覆盖abd方案2:[(2,1,1),(2,1,2)] 覆盖abe [(3,0,3),(3,1,1)] 覆盖acd问题:如果将x1错写成x1,以上判定/分支覆盖测试用例时发现不了的(需让判断2中的两条件分别为假、真)。4.1 白盒测试——测试用例设计对于第一个判断:条件a1真时为T1,否则为T1 条件b==0真时为T2,否则为T2对于第二个判断:条件a==2真时为T3,否则为T3 条件x1真时为T4,否则为T4条件覆盖的测试用例(2个)方案1:[(2,0,4),(2,0,3)] 覆盖ace T1,T2,T3,T4 [(1,0,1),(1,0,1)] 覆盖abd T1 ,T2, T3, T4 [(2,1,1),(2,1,2)] 覆盖abe T1, T2 , T3, T4方案2:[(1,0,3),(1,0,4)] 覆盖abe T1 ,T2, T3, T4 [(2,1,1),(2,1,2)] 覆盖abe T1, T2 , T3, T44.1 白盒测试——测试用例设计判定/条件覆盖的测试用例(2个)[(2,0,4),(2,0,3)] 覆盖ace T1,T2,T3,T4 [(1,1,1),(1,1,1)] 覆盖abd T1, T2 , T3, T4多重条件覆盖(4个)[(2,0,4),(2,0,3)] 覆盖ace T1,T2,T3,T4 [(1,1,1),(1,1,1)] 覆盖abd T1, T2 , T3, T4 [(2,1,1),(2,1,2)] 覆盖abe T1,T2,T3,T4 [(1,0,3),(1,0,4)] 覆盖abe T1, T2 , T3, T44.1 白盒测试——测试准则总结对包含每个判定只存在一种条件的程序的测试准则设计出足够数量的测试用例,实现:将每个判断的所有结果都至少执行一次对包含多重条件判断的程序的测试准则是设计出足够数量的测试用例,将每个判断的所有可能的条件结果的组合4.1 白盒测试——测试策略以上的每种方法都能提供一组有用的测试用例,但都不能单独提供一个完整的测试用例集合,用以下策略可得到较好的测试结果:如果规格说明中输入条件有明显的逻辑关系以及与结果的因果关系,应该首先使用因果图分析或判定表在任何情况下都应该使用边界值分析方法,而且是对输入和输出边界进行的分析,用以产生一系列补充的测试用例应为输入和输出确定有效和无效的等价类,在必要时对上面确认的测试用例进行补充使用错误猜测技术增加更多的测试用例针对上述测试用例检查程序的逻辑结构,使用判定覆盖、条件覆盖、判定/条件覆盖或多重条件覆盖准则。如果为前4步确定的测试用例尚未满足覆盖准则,那么在可能的情况下,增加足够的测试用例,使覆盖准则得以满足。4.1 白盒测试练习if (g3) { x = x / 3;}if (g==0 || x1) { x = x + 1;}4.1 白盒测试——综合训练NextDat
文档评论(0)