- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
白盒测试与用例设计
显然,要测试这个小程序,需要至少提供4个测试用例才能作到逻辑覆盖,使得ac、ad、bc及bd操作均得到检验。其实,这里的4是图中的第1个分支谓词引出的两个操作,及第2个分支谓词引出的两个操作组合起来而得到的,即 2×2=4。并且,这里的2是由于两个并列的操作,即1+1=2 而得到的。 例如,下图表达了两个顺序执行的分支结构。当两个分支谓词P1和P2取不同值时,将分别执行a或b及c或d操作。 对于一般的、更为复杂的问题,估算最少测试用例个数的原则也是同样的: 如果在N-S图中存在有并列的层次A1、A2,A1和A2的最少测试用例个数分别为a1、a2,则由 A1、A2 两层所组合的 N-S图对应的最少测试用例数为a1×a2。 如果在N-S图中不存在有并列的层次,则对应的最少测试用例数由并列的操作数决定,即N-S图中除谓词之外的操作框的个数。 例:如下图所示的两个N-S图,至少需要多少个测试用例完成逻辑覆盖? 对于第一个N-S图: 由于图中并不存在并列的层次,最少测试用例数由并列的操作数决定,即为1+1+1=3。 对于第二个N-S图: 由于图中没有包含并列的层次,最少测试用例数仍由并列的操作数决定,即为1+1+1+1+1=5。 例:如下图所示的N-S图,至少需要多少个测试用例完成逻辑覆盖? 分析该N-S图: 图中的2345和67是并列的两层。其中,2345层对应的最少测试用例数为1+1+1+1+1=5,67层对应的测试用例数为1+1+1=3,2345和67这两层组合后对应的测试用例数为5×3=15。最后,由于两层组合后的部分是不满足谓词1时所要做的操作,还要加上满足谓词1要做的操作,因此整个程序所需测试用例数为15+1=16。 1、将下图所示的流程图转换为N-S图,并估算至少需要多少个测试用例完成逻辑覆盖? X8 AND Y5 X0 OR Y0 引用语句1 引用语句2 N Y N Y X16 OR Y10 引用语句3 N Y 2、某程序所画出的N-S图 如右图所示的,至少需要 多少个测试用例才能对该 程序实现逻辑覆盖? 数据流测试 设置—使用对 Set-Use pair 对于每个变量或类成员,标识出赋值以及被使用的代码行对。这些就是Set-Use pair 。如果在赋值行后,使用行前,该数据又在其他行中被赋值,这两行就不是Set-Use pair。 数据流测试 阶乘程序 Main() { int i,n,f; printf(“n=”); scanf(“%d”,n); if (n0) { printf(“Invalid: %d\n”,n); n=-1; } else { f=1; for(i=1;i=n;i++) { f*=i; } printf(“%d!=%d \n”, n,f) } return n; } 实践 模拟上例写一个n的m次方的程序,并找出所有pair 与覆盖用例。 谢谢观看 如果today 取 1月1日是否完成了语句覆盖? 如果完成了,是否就不需要别的测试用例了? * 最好把这张图请同学画到黑板上,后面做练习总会用到 * * * * * 即每个值都取到,能不能保证判定也都取到? * 详细再介绍下路径法 画出流程图 设计测试用例 确保每条路径被执行 * 2. Determine the cyclomatic complexity of the resultant flow graph Note: can be determined without developing a flow graph count all conditional statements in a component ? compound conditions count as 2 (number of Boolean operators + 2) 独立路径:走的路不同就是一个独立路径(不同条件) 独立路径集合 独立路径组合不唯一 4 条独立路径 * 4. Prepare test cases that will force execution of each path in the basis set each test case is executed and compared to the expected result this process can be mechanized 一个笑话 摘自雷登书屋数据处理字典: 死循环: n.,见无限循环。 无限循环:n.,见死循环。 * 图中空白即为操作框 * 4 个
文档评论(0)