2024年2月28日发(作者:车 全新 上市)精品文档 请写出判断三角形的代码,设计用例达到测试效果 语句覆盖 判定覆盖 条件组合覆盖 #include void main() { int a, b, c; printf(\"please enter three integer:\"); scanf(\"%d%d%d\", &a, &b, &c); if(0 { if(a+b>c && a+c>b && c+b>a) { if(a==b && b==c && a==c) //这里可以省掉一个判断 { printf(\"1是等边三角形\"); } else { if(a==b || b==c || a==c) { printf(\"2是等腰三角形\"); } else { if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a) { printf(\"3是直角三角形\"); } else { printf(\"4是一般三角形\"); } } } } else { printf(\"5不能组成三角形\"); } } else { 精品文档 精品文档 printf(\"6某些边不满足限制\"); } } 1.为三角形程序开发判定/条件覆盖和条件组合覆盖的测试用例。 2 输入a,b,c的值 1 入口 3 a>0&&b>0&&c>0 F T 7 4 a+b>c &&a+c>b&&b+c>a F a,b,c不能构成三角形 T 5 a^+b^=c^||a^+c^=b^||b^+c^=a^ T 6 a,b,c是直角三角形 9 返回 F a,b,c是一般三角形 8 1)判定/条件覆盖 对于第一个判定a>0&&b>0&&c>0 : 条件a>0 取真值记为T1,取假值记为-T1 条件b>0 取真值记为T2,取假值记为-T2 条件c>0 取真值记为T3,取假值记为-T3 对于第二个判定( a+b>c)&&(a+c>b)&&(b+c>a ): 条件a+b>c 取真值记为T4,取假值记为-T4 条件a+c>b 取真值记为T5,取假值记为-T5 条件b+c>a 取真值记为T6,取假值记为-T6 测试用例 执行路径 覆盖条件 覆盖 分支 精品文档 精品文档 a>0 b>0 c>0 a+b>c a+c>b b+c>a 123457 T1、T2、T3、T4 、T5、 T6 57 a>0 b>0 c>0 123467 a+c<=b a+b<=c b+c<=a a<=0 b<=0 c<=0 a+c>b a+b>c b+c>a 2.12367 T1、T2、T3、-T4 、-T5 、-T6 467 -T1、-T2、-T3、T4 、T5 、T6 367 对下面的流程图用逻辑覆盖法设计测试用例(至少三种) 1)..语句覆盖:语句覆盖可以保证程序中的每个语句都得到执行。 测试用例输入为:{ x1=3、x2=0} 输出x3=0 ,程序执行的路径是:12345678 2.判定覆盖: 测试用例输入为:{ x1=2、x2=1} 输出x3=0 ,程序执行的路径是:123578; 测试用例输入为:{ x1=3、x2=0} 输出x3=0 ,程序执行的路径是:12345678. 3).条件覆盖 对于第一个判定( (x1=3)or(x2>1) ): 条件x1=3 取真值记为T1,取假值记为-T1 条件x2>1 取真值记为T2,取假值记为-T2 对于第二个判定( (x1>2)and(x2=0) ): 条件x1>2 取真值记为T3,取假值记为-T3 精品文档 精品文档 条件x2=0 取真值记为T4,取假值记为-T4 测试用例 执行路径 覆盖条件 覆盖 分支 34 x1=3、x2=2 1234578 T1、T2、T3、-T4 x1=4、x2=0 1235678 -T1、-T2、-T3、T4 56 基本路径测试法(画出程序的流程控制图 计算环路复杂度 画出图形矩阵) 主要代码如下: 1. 2. 3. 4. 5. 6. 7. 8. 9. If (inta >= intb + intc) _ Or (intb > =inta + intc) _ Or (intc >= intb + inta) Then strMsg = \"三角形两边之和必须大于第三边\" + vbCrLf + \"非三角形\" Else If (inta = intb) _ 10. 11. And (intb = intc) Then 12. strMsg = \"三角形的三条边都相等\" + vbCrLf + \"等边三角形\" 13. Else 14. If (inta = intb) _ 15. Or (inta = intc) _ 16. Or (intc = intb) Then 17. 18. strMsg = \"三角形的任意两边相等\" + vbCrLf + \"等腰三角形\" 19. Else 20. strMsg = \"三角形的各边均非等\" + vbCrLf + \"普通三角形\" 21. End If 22. End If 23. 24. End If 1. 2.根据上面的代码画出程序的控制流图。 精品文档 精品文档 1 3 6 7 8 10 4 11 12 15 13 16 17 18 3.计算环路复杂度。 V(G)=9 4.求出基本路径组合。 P1: 1-4-18 P2: 1-2-4-18 P3: 1-2-3-4-18 P4: 1-2-3-6-7-8-17-18 P5: 1-2-3-6-10-13-16-17-18 P6: 1-2-3-6-10-11-13-16-17-18 P7: 1-2-3-6-10-11-12-13-16-17-18 P8: 1-2-3-6-10-11-12-15-16-17-18 要点:从较短路径顺序增加 精品文档 精品文档 每个分支尽可能走一次 5.设计测试用例,按照表1的形式,设计用例。 表1:用例设计表 三角形问题独立路径测试 编号 1 2 3 4 5 6 7 8 输入 边1 边2 边3 输出 判断结果 非三角形 非三角形 非三角形 等边三角形 等腰三角形 等腰三角形 等腰三角形 普通三角形 路径(节点) 1-4-18 1-2-4-18 1-2-3-4-18 1-2-3-6-7-8-17-18 1-2-3-6-10-13-16-17-18 1-2-3-6-10-11-13-16-17-18 1-2-3-6-10-11-12-13-16-17-18 1-2-3-6-10-11-12-15-16-17-18 结果(NG/OK) 10 4 5 5 5 6 7 3 5 10 4 5 5 7 6 5 4 5 10 5 7 6 6 6 OK OK OK OK OK OK OK OK OK 精品文档 更多推荐 覆盖,三角形,路径,设计,语句,代码,测试,测试用例
发布评论