- 1、本文档共57页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6六章ppt课件
白盒测试 如图6-2所示的某程序的流程图,共有5条不同的路径,需循环20次。它所包含的不同执行路径数高达520(=1013)条。若要对它进行穷举测试,即要设计测试用例,覆盖所有的路径。假使对每一条路径进行测试需要1毫秒,而且一天工作24小时,一年工作365天,那么要想把如图6-2所示的小程序的所有路径测试完,则需要 3710年 黑盒测试 黑盒测试意味着测试要完全根据系统的外部特性进行。它将测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特征,只依据程序的说明书,检查程序的功能是否符合它的功能说明。 包括:是否有不正确或遗漏了的功能?在接口上,输入能否正确地接受?能否输出正确的结果?是否有数据结构错误?是否有外部信息(例如数据文件)访问错误?性能上是否能够满足要求?是否有初始化或终止性错误?等等。所以,黑盒测试必须在所有可能的输入条件和输出条件中确定测试数据,检查程序是否都能产生正确的输出。 P A B C 图6-3 黑盒测试例子 5亿年 黑盒测试 某程序P有两个输入量A和B,有一个输出量C,如图6—3所示。假设程序P在字长为32位的计算机上运行。如果A,B只取整数,考虑把所有的A,B值都作为测试数据,按黑盒方法进行穷举测试。 这样可能出现的测试数据组(A,B)的不同测试数据组合的最大数目为 232*232=264 如果测试一组(A,B)数据需要1毫秒,而且同样假定一天工作24小时,一年工作365天,要完成264组这样的测试,需要 测试用例设计 我们可以看到,不可能通过遍历来全面地发现程序中的所有错误。 在测试时既然穷举测试不可行,就必须精心设计测试用例,从数量极大的可用测试用例中精心挑选出有限的测试数据。挑选的标准是采用这些测试数据能最有可能地发现隐藏的错误。 同时,这也说明,测试有一个致命的缺陷,即测试的不完全、不彻底性。由于任何程序只能进行少量的(相对穷举的巨大数量而言)有限的测试,在发现错误时能够说明程序中存在问题;但如果这些测试用例没有发现错误,不能说明程序中没有错误,因为这些测试用例只是巨大数量中的一小部分,还有许多其他的情形没有进行测试,错误可能潜藏在其他的情形中。 测试用例设计 几种测试用例的设计技术。语句覆盖、判断覆盖、条件覆盖、条件组合覆盖、路径覆盖属于白盒测试,边界值分析属于黑盒测试。 1 语句覆盖 (1)语句覆盖法 一般说来,程序的某次运行并不一定执行其中的所有语句。假如某个含有错误的语句在测试中没有被执行,那么这个错误便不能被发现。为了提高发现错误的可能性,应当在测试中执行程序中的每一条可执行语句。 所谓语句覆盖就是设计若干个测试用例,运行被测程序,使得每一个可执行语句至少执行一次。 (A=2)∨(X1) X=X+1 真 假 b d X=X/A (A1)∧(B=0) 真 假 a c 图6-4 测试用例设计例子 e 1 语句覆盖 观察图6-4所示的例子,可知该程序段有4条不同的路径。为了方便讲述,分别对第一个判断的取真分支、取假分支及第二个判断的取真分支、取假分支命名为b,c,d和e。这样所有4条路径可表示为:L1(a→c→e),L2(a→b→d),L3(a→b→e)和L4(a→c→d),或简写为ace、abd、abe及acd。 (A=2)∨(X1) X=X+1 真 假 b d X=X/A (A1)∧(B=0) 真 假 a c 图6-4 测试用例设计例子 e 2. 判断覆盖 (2)判断覆盖 所谓判断覆盖是指设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少历经一次。 2 判断覆盖 对于图6-4给出的例子,共有两个组合判断,如果选择路径L1和L2,可得满足上述要求的测试用例: 【(2,0,4),(2,0,3)】,覆盖ace 【(1,1,1),(1,1,1)】,覆盖abd 分别使两个组合判断((A1)and(B=0))、((A=2)or(X1))各取真、假值一次。 如果选择路径L3和L4,还可得另一组满足上述要求的测试用例: 【(2,1,1),(2,1,2)】,覆盖abe 【(3,0,3),(3,1,1)】,覆盖acd 所以,测试用例的取法不是唯一的。 2 判断覆盖 判断覆盖经历了程序的每一个分支,当然使程序的每一个可执行语句被执行。可见,判断覆盖比语句覆盖更严格,但判断覆盖也还是不够的。例如,若把该例中第二个组合判断中的条件X1错写成X1,那么利用上面两组测试用例,仍能得到同样结
文档评论(0)