实验二+001+陈定国
Posted 切嗣prpr
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验二+001+陈定国相关的知识,希望对你有一定的参考价值。
一、实验目的
掌握基于覆盖理论与基本路径的基本白盒测试方法和实践
二、实验要求
运用逻辑覆盖测试的覆盖准则设计被测程序的测试用例,并运行测试用例检查程序的正确与否,给出程序缺陷小结。
三、实验内容
1) 被测原代码
import java.util.Scanner; public class Triangle{ public static void main(String[] args) { while(true){ System.out.println("请输入三角形的三条边:"); try { int a,b,c; Scanner input=new Scanner(System.in); a=input.nextInt(); b=input.nextInt(); c=input.nextInt(); String str=triangle(a,b,c); System.out.println(str); } catch (Exception e) { // TODO: handle exception System.out.println("请确保输入的边为整数!"); } } } public static String triangle(int a,int b,int c){ String result; if ((a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100)) { if ((a+b>c)&&(a+c>b)&&(b+c>a)) { if (a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) { if (a==b||a==c||b==c) { result="该三角形为等腰直角三角形."; } else { result="该三角形为直角三角形."; } } else if (a==b&&b==c&&a==c) { result="该三角形为等边三角形."; } else if (a==b||a==c||b==c) { result="该三角形为等腰三角形."; } else { result="该三角形为一般三角形."; } } else { result="不能构成三角形."; } } else { result="不能构成三角形."; } return result; } }
2)依据覆盖技术,测试用例列表:
程序图 DD-路径图
DD-路径(只压缩链路经)
程序图节点 |
DD-路径 |
1 |
A |
2 |
B |
3 |
C |
4 |
D |
5 |
E |
6 |
F |
7 |
G |
8 |
H |
9 |
I |
(I)语句覆盖:
A-B-D-I
A-B-C-F-I
A-B-C-E-I
A-B-C-E-G-I
A-B-C-E-G-H-I
测试用例:
用例ID |
输入值 |
执行路径 |
预期输出 |
||
A |
B |
X |
X |
||
1 |
101 |
101 |
101 |
A-B-D-I |
边的值不在范围内 |
2 |
3 |
1 |
2 |
A-B-C-F-I |
不能构成三角形 |
3 |
3 |
4 |
5 |
A-B-C-E-I |
该三角形为直角三角形 |
4 |
6 |
6 |
6 |
A-B-C-E-G-I |
该三角形为等边三角形 |
5 |
5 |
5 |
6 |
A-B-C-E-G-H-I |
该三角形为等腰三角形 |
6 |
3 |
5 |
6 |
A-B-C-E-G-H-I |
该三角形为一般三角形 |
(II)分支覆盖(判断覆盖):
A-B-C-F-I
A-B-C-E-G-H-I
测试用例:
用例ID |
输入值 |
执行路径 |
预期输出 |
||
A |
B |
X |
X |
||
1 |
1 |
0 |
3 |
A-B-C-F-I |
不能构成三角形 |
2 |
3 |
4 |
3 |
A-B-C-E-G-H-I |
该三角形为等腰三角形 |
(III)路径覆盖:
A-B-D-I
A-B-C-F-I
A-B-C-E-I
A-B-C-E-G-I
A-B-C-E-G-H-I
用例ID |
输入值 |
执行路径 |
预期输出 |
||
A |
B |
X |
X |
||
1 |
101 |
101 |
101 |
A-B-D-I |
边的值不在范围内 |
2 |
3 |
以上是关于实验二+001+陈定国的主要内容,如果未能解决你的问题,请参考以下文章 |