三角形基本路径覆盖测试 三角形白盒测试
软件测试-判断三角形形状路径白盒测试

三角形白盒测试要求要求:,其他1 ) 自备 C 语言程序(可从 C 语言程序设计的教科书上摘录若干典型程序C++ 、C# 、Java 程序均可);#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int a,b,c;printf(" 输入三角形的三个边 :");scanf("%d %d %d",&a,&b,&c);if(a<=0||b<=0||c<=0)printf(" 不符合条件,请重新输入 a,b,c\n");else if(a+b<=c||abs(a-b)>=c)printf("不是三角形\n");else if(a==b&&a==c&&b==c)printf("这个图为等边三角形\n");else if(a==b||a==c||b==c)printf("这个图为等腰三角形\n");elseprintf("这个图为一般三角形\n");2)根据该程序绘制对应的程序流程图;/ 幟沖迈〃軾已等堆卄琳::矗歴# 输山养赠〃诚日等山/ / 输出水呈/3)分别根据程序流程图给出符合语句覆盖、判定覆盖、条件覆盖、路径覆盖以及判定/条件覆盖和条件组合覆盖的的测试用例以及预期的运行结果;语句覆盖判断覆盖条件覆盖判定1 : 1-1(a<=0) 1-2(b<=0) 1-3(c<=0)判定2: 2-1(a+b<=c) 2-2(|a-b|>=c) 判定3: 3-1(a==b)判定4: 4-1(a==c)判定5: 5-1(a==c)判定 6: 6-1(b==c)判定/条件覆盖、条件组合覆盖、路径覆盖4)根据程序流程图画出流图,并确定线性独立路径的基本集合,然后给出符合各集合的测试用例;路径1: 1-2-3路径2: 1-2-4-5-7-9-12-13路径3: 1-2-4-5-7-9-10-13路径4: 1-2-4-5-7-10-13 路径5: 1-2-4-5-8-10-13。
最新软件测试-判断三角形形状路径白盒测试

4.完成软件白盒测试技术中的逻辑覆盖测试应用设计实验。
(理论考试重点内容实践)三角形白盒测试要求要求:1)自备C语言程序(可从C语言程序设计的教科书上摘录若干典型程序,其他C++、C#、Java程序均可);#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int a,b,c;printf("输入三角形的三个边:");scanf("%d %d %d",&a,&b,&c);if(a<=0||b<=0||c<=0)printf("不符合条件,请重新输入a,b,c\n");else if(a+b<=c||abs(a-b)>=c)printf("不是三角形\n");else if(a==b&&a==c&&b==c)printf("这个图为等边三角形\n");else if(a==b||a==c||b==c)printf("这个图为等腰三角形\n");elseprintf("这个图为一般三角形\n");}2)根据该程序绘制对应的程序流程图;3)分别根据程序流程图给出符合语句覆盖、判定覆盖、条件覆盖、路径覆盖以及判定/条件覆盖和条件组合覆盖的的测试用例以及预期的运行结果;条件覆盖判定1:1-1(a<=0) 1-2(b<=0) 1-3(c<=0)判定2:2-1(a+b<=c) 2-2(|a-b|>=c)判定3:3-1(a==b)判定4:4-1(a==c)判定5:5-1(a==c)4)根据程序流程图画出流图,并确定线性独立路径的基本集合,然后给出符合各集合的测试用例;路径1:1-2-3路径2:1-2-4-5-7-9-12-13路径3:1-2-4-5-7-9-10-13路径4:1-2-4-5-7-10-13路径5:1-2-4-5-8-10-13路径6:1-2-4-5-8-11-13路径7:1-2-4-6-135)根据上述测试用例执行程序,对比实际运行结果和预期运行结果,结果比对最6)对以上实验结果进行适当地分析与总结。
三角形基本路径覆盖测试 三角形白盒测试

三角形基本路径覆盖测试于名飞学号2220130799刘振昌学号2220130793陈诗明学号2220120200张超宁学号2220120210王永峰学号22201201931三角形基本路径覆盖测试对于上述三角形基本路径覆盖测试程序流程,根据条件判定来生成测试用例,得到的测试用例如下:用例输入取值覆盖路径case1 a=8, b=9, c=10 0→1→3→5→7→8→9→10→11case2 a=8, b=20, c=9 0→1→3→5→7→8→9→10→12case3 a=20, b=8, c=9 0→1→3→5→7→8→9→12case4 a=8, b=9, c=30 0→1→3→5→7→8→12case5 a=10, b=10, c=30 0→1→2→3→5→7→13→14→12case6 a=10, b=10, c=9 0→1→2→3→5→7→13→14→15case7 a=10, b=30, c=10 0→1→3→4→5→7→13→16→17→12case8 a=10, b=9, c=10 0→1→3→4→5→7→13→16→17→15case9 a=30, b=10, c=10 0→1→3→5→6→7→13→16→18→19→12case10 a=9, b=10, c=10 0→1→3→5→6→7→13→16→18→19→15case11 a=10, b=10, c=10 0→1→2→3→4→5→6→7→13→16→18→202开发环境操作系统: Window7开发环境: VS2008、C#运行环境: Window 2000/XP/2003/7/8、.net FrameWork 2.0屏幕分辨率要求大于1024x7683编程思路完成该系统,实现基本的判定条件和路径覆盖,从编程的角度来说比较简单,但为了能够实现较好的可视化效果,希望能够将程序执行路径的每一步分别顺序输出,并能够在可视化的流程图上动态展现出来。
软件测试实验报告白盒测试

软件测试与质量课程实验报告
实验3:白盒测试
掌握静态白盒测试方法及一般要求
掌握白盒测试用例的设计方法
掌握白盒测试基本测试方法:逻辑覆盖、路径测试。
语句覆盖输入数据路径预期输出1A=2,B=5,C=3,1239不能构成三角形2A=15,B=15,C=1512459等边三角形3A=15,B=15,C=13124679等腰三角形4A=23,B=24,C=25124689一般三角形
判定覆盖输入数据路径预期输出1A=2,B=3,C=5,1239不能构成三角形
语句覆
盖
编号输入数据覆盖语句
1array[8,9,10,11] key 101,2,3,8
2array[8,9,10,11] key 251,2,3,9
3array[8,9,10,11] key 81,2,3,6,7
4array[8,9,10,11] key 91,2,3,4,5
判定覆
盖
编号输入数据路径
1array[8,9,10,11] key 101-2-3-4-5-6-8-
2array[8,9,10,11] key 251-2-3-4-5-6-8--10-11-4-12
果
果
果
缺席:扣10分实验报告雷同:扣10分实验结果填写不完整:扣1 – 10分
其他情况:扣分<=5分总扣分不能大于10分。
软件测试实验报告白盒测试

printf("\n请输入三边:");
scanf("%d%d%d",&a,&b,&c);
2if (a+b<=c||a+c<=b||b+c<=a){
3printf("\n不能构成三角形:");
}
4else if(a==b&&b==c&&a==c){
5printf("\n等边三角形:");
3.mid = (low + high) / 2;
4.if(key == array [mid]) {
5.returnmid;
6.}elseif(key < array[mid]) {
7.high = mid - 1;
}else{
8.low = mid + 1;
}
}
9.return-1;
}
}
语句覆盖
-T1、-T2、T3
-T4、T5、-T6
1239
不能构成三角形
4
A=4,B=4,C=4
-T1、-T2、T3
T4、T5、T6
12459
等边三角形
5
A=3,B=4,C=4
-T1、-T2、-T3
-T4、T5、-T6
124679
等腰三角形
6
A=5,B=6,C=7
-T1、-T2、-T3
-T4、-T5、-T6
124689
软件测试与质量课程实验报告
实验3:白盒测试
姓名
院系
学号
任课教师
实验指导教师
三角形测试报告

一、问题描述
完成一段程序,要求实现这样的功能。
输入a、b、c三个整数,分别作为三角形的三条边,取值范围为1-200,判断a、b、c能否构成三角形,如果能够构成三角形,判断该三角形是等腰三角形还是等边三角形,还是一般三角形。
判断结果打印输出。
二、程序代码
三、测试过程
1、白盒测试(路径覆盖)的测试用例
四、测试结论
输入a、b、c三个整数分别作为三角形的三条边,取值范围为1-200,判断a、b、c能否构成三角形,面对这样的问题采用模块,以便于后来的添加,对项目有整体的把握。
通过本次实验,我充分学习到了白盒测试中的路径覆盖测试的测试用例设计方法以及了解到了白盒测试面对代码测试的重要性;黑色测试中的等价类和边界值测试,在测试数据中选择有代表性的数据进行黑盒测试,学到了黑盒测试不需要了解代码的时候对程序进行功能性测试,大大提高了测试的效率。
白盒测试实验报告三角形形状山东大学[5篇范例]
![白盒测试实验报告三角形形状山东大学[5篇范例]](https://img.taocdn.com/s3/m/a74fb13a7dd184254b35eefdc8d376eeaeaa17dc.png)
白盒测试实验报告三角形形状山东大学[5篇范例]第一篇:白盒测试实验报告三角形形状山东大学实验报告一、实验目的运用白盒测试中的条件覆盖和判定覆盖检查程序中内部动作或者运行是否符合规范,各部分内容是否按照规定正常运行。
二、实验内容 1 1、题目输入三角形的三条边,判断三角形的类型,并返回三角形的详细类型,同时判断游戏是否结束,如果为结束,可以继续进行测试。
代码如下::(被测函数为类类Trinagle 中的returnType)package 白盒测试;import java.util.Scanner;public class Triangle {/*** @赵得山*/public static void main(String[] args){String g=“y”;Scanner scan=new Scanner(System.in);while(g.equalsIgnoreCase(g)){System.out.println(“请输入三个数字:”);int[] num=new int[3];for(int i=0;i<3;i++)num[i]=scan.nextInt();//对三条边进行插入排序for(int i=2;i>=1;i--)for(int j=0;jif(num[j]>num[j+1]){int temp=num[j];num[j]=num[j+1];num[j+1]=temp;}}for(int i=0;i<3;i++)System.out.print(num[i]+“ ”+Math.pow(num[i], 2)+“”);System.out.println(returnType(num[0],num[1],num[2])); //是否继续输入测试数据System.out.println(“是否继续输入数据?y/n”);if(!scan.next().equals(“y”)){System.out.println(“测试结束!”);System.exit(0);}}}/*** 返回三角形的类型*/static String returnType(int a,int b,int c){String type=“";if(a+b<=c||b+c<=a||a+c<=b){System.out.println(”请重新输入测试数据“);type=”不是三角形“;}else if(a==b&&a==c){type=”等边三角形“;}else if(a==b||a==c||b==c){if(Math.pow(a, 2)+Math.pow(b, 2)==Math.pow(c, 2))type=”等腰直角三角形“;else if(Math.pow(a, 2)+Math.pow(b, 2)>Math.pow(c, 2))type=”等腰锐角三角形“;else if(Math.pow(a, 2)+Math.pow(b, 2)type=”等腰钝角三角形“;}else if(Math.pow(a, 2)+Math.pow(b, 2)==Math.pow(c, 2))type=”一般直角三角形“;else if(Math.pow(a, 2)+Math.pow(b, 2)type=”一般钝角三角形“;else if(Math.pow(a, 2)+Math.pow(b, 2)>Math.pow(c, 2))type=”一般锐角三角形";return type;} }2、测试用例设计1)程序流程图如下:开始请输入三条边 a、b、c a+b<=c||b+c<=a||a+c<=ba==b&&a==c TFFa==b||a==c||b==c FMath.pow(a,2)+Math.pow(b, 2)==Math.pow(c, 2)FMath.pow(a,2)+Math.pow(b, 2)>Math.pow(c, 2)FTMath.pow(a,2)+Math.pow(b, 2)Math.pow(c, 2)Math.pow(a,2)+Math.pow(b, 2)结束TTTFF1))判定覆盖测试用例及测试结果输入数据预期结果实际结果测试结果 a=1b=1c=5 不是三角形不是三角形正确 a=5b=5c=5 等边三角形等边三角形正确 a=1b=1c= 2等腰直角三角形等腰直角三角形正确 a=4b=4c=1 等腰锐角三角形等腰锐角三角形正确 a=3b=3c=5 等腰钝角三角形等腰钝角三角形正确 a=3b=4c=5 一般直角三角形一般直角三角形正确 a=3b=5c=6 一般钝角三角形一般钝角三角形正确 a=10b=11 c=12 一般锐角三角形一般锐角三角形正确注:已覆盖所有的判定,由于条件太多,所以这里未列出判定的路径,还请老师见谅..2))条件覆盖测试用例及测试结果输入数据预期结果实际结果测试结果 a=1b=1c=4 不是三角形不是三角形正确 a=1b=4c=1 不是三角形不是三角形正确 a=4b=1c=1 不是三角形不是三角形正确 a=1b=1c=1 等边三角形等边三角形正确 a= 2b=1c=1 等腰直角三角形等腰直角三角形正确 a=4b=4c=1 等腰锐角三角形等腰锐角三角形正确 a=3b=3c=5 等腰钝角三角形等腰钝角三角形正确 a=3b=4c=5 一般直角三角形一般直角三角形正确 a=3b=5c=6 一般钝角三角形一般钝角三角形正确 a=10b=11 c=12 一般锐角三角形一般锐角三角形正确注:已覆盖所有的条件,所有条件的真假都取了一次,由于条件太多,所以这里未列出判定的路径,还请老师见谅..三、总结与体会通过这次实验,我对于白盒测试有了更加深刻和直观的认识,因为代码是自己编写的,同时也重新锻炼了自己的动手编码能力。
白盒测试实验报告-三角形形状-山东大学

白盒测试实验报告-三角形形状-山东大学实验报告一、实验目的运用白盒测试中的条件覆盖和判定覆盖检查程序中内部动作或者运行是否符合规范,各部分内容是否按照规定正常运行。
二、实验内容 1 1 、题目输入三角形的三条边,判断三角形的类型,并返回三角形的详细类型,同时判断游戏是否结束,如果为结束,可以继续进行测试。
代码如下::( 被测函数为类类Trinagle 中的returnType) package 白盒测试; import java.util.Scanner; public class Triangle {/*** @赵得山*/public static void main(String[] args) { String g="y";Scanner scan=new Scanner(System.in); while(g.equalsIgnoreCase(g)){System.out.println("请输入三个数字:"); int[] num=new int[3];for(int i=0;i<3;i++)num[i]=scan.nextInt();//对三条边进行插入排序for(int i=2;i>=1;i--)for(int j=0;j<i;j++){if(num[j]>num[j+1]){int temp=num[j];num[j]=num[j+1];num[j+1]=temp;}}for(int i=0;i<3;i++)System.out.print(num[i]+" "+Math.pow(num[i], 2)+" ");System.out.println(returnType(num[0],num[1],num[2])); //是否继续输入测试数据System.out.println("是否继续输入数据?y/n");if(!scan.next().equals("y")){System.out.println("测试结束!");System.exit(0);}}}/*** 返回三角形的类型*/static String returnType(int a,int b,int c){ String type="";if(a+b<=c||b+c<=a||a+c<=b){System.out.println("请重新输入测试数据"); type="不是三角形";}else if(a==b&&a==c){type="等边三角形";}else if(a==b||a==c||b==c){if(Math.pow(a, 2)+Math.pow(b, 2)==Math.pow(c, 2))type="等腰直角三角形";else if(Math.pow(a, 2)+Math.pow(b, 2)>Math.pow(c, 2)) type="等腰锐角三角形";else if(Math.pow(a, 2)+Math.pow(b, 2)<Math.pow(c, 2)) type="等腰钝角三角形";}else if(Math.pow(a, 2)+Math.pow(b, 2)==Math.pow(c, 2)) type="一般直角三角形";else if(Math.pow(a, 2)+Math.pow(b, 2)<Math.pow(c, 2)) type="一般钝角三角形";else if(Math.pow(a, 2)+Math.pow(b, 2)>Math.pow(c, 2)) type="一般锐角三角形";return type;} }2 2 、测试用例设计1 1 )程序流程图如下:开始请输入三条边 a、b、c a+b<=c||b+c<=a||a+c<=ba==b&&a==c TFFa==b||a==c||b==c FMath.pow(a,2)+Math.pow(b, 2)==Math.pow(c, 2) F Math.pow(a,2)+Math.pow(b, 2)>Math.pow(c, 2) FT Math.pow(a,2)+Math.pow(b, 2)<Math.pow(c, 2) FMath.pow(a,2)+Math.pow(b, 2)==Math.pow(c, 2)FMath.pow(a,2)+Math.pow(b, 2)>Math.pow(c, 2)Math.pow(a,2)+Math.pow(b, 2)<Math.pow(c, 2) F输出三角形类型:+结束TTTFF1 1))判定覆盖测试用例及测试结果输入数据预期结果实际结果测试结果 a=1b=1c=5 不是三角形不是三角形正确 a=5b=5c=5 等边三角形等边三角形正确 a=1b=1c= 2等腰直角三角形等腰直角三角形正确 a=4b=4c=1 等腰锐角三角形等腰锐角三角形正确 a=3b=3c=5 等腰钝角三角形等腰钝角三角形正确 a=3b=4c=5 一般直角三角形一般直角三角形正确 a=3b=5c=6 一般钝角三角形一般钝角三角形正确 a=10b=11 c=12 一般锐角三角形一般锐角三角形正确注:已覆盖所有的判定,由于条件太多,所以这里未列出判定的路径,还请老师见谅. .2 2)条件覆盖测试用例及测试结果输入数据预期结果实际结果测试结果 a=1b=1c=4 不是三角形不是三角形正确 a=1b=4c=1 不是三角形不是三角形正确 a=4b=1c=1 不是三角形不是三角形正确 a=1b=1c=1 等边三角形等边三角形正确 a= 2b=1c=1 等腰直角三角形等腰直角三角形正确 a=4 b=4c=1 等腰锐角三角形等腰锐角三角形正确 a=3c=5 等腰钝角三角形等腰钝角三角形正确 a=3b=4c=5 一般直角三角形一般直角三角形正确 a=3b=5c=6 一般钝角三角形一般钝角三角形正确 a=10b=11 c=12 一般锐角三角形一般锐角三角形正确注:已覆盖所有的条件,所有条件的真假都取了一次,由于条件太多,所以这里未列出判定的路径,还请老师见谅. .三、总结与体会通过这次实验,我对于白盒测试有了更加深刻和直观的认识,因为代码是自己编写的,同时也重新锻炼了自己的动手编码能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三角形基本路径覆盖测试
于名飞学号2220130799
刘振昌学号2220130793
陈诗明学号2220120200
张超宁学号2220120210
王永峰学号2220120193
1三角形基本路径覆盖测试
对于上述三角形基本路径覆盖测试程序流程,根据条件判定来生成测试用例,得到的测试用例如下:
用例输入取值覆盖路径
case1 a=8, b=9, c=10 0→1→3→5→7→8→9→10→11
case2 a=8, b=20, c=9 0→1→3→5→7→8→9→10→12
case3 a=20, b=8, c=9 0→1→3→5→7→8→9→12
case4 a=8, b=9, c=30 0→1→3→5→7→8→12
case5 a=10, b=10, c=30 0→1→2→3→5→7→13→14→12
case6 a=10, b=10, c=9 0→1→2→3→5→7→13→14→15
case7 a=10, b=30, c=10 0→1→3→4→5→7→13→16→17→12
case8 a=10, b=9, c=10 0→1→3→4→5→7→13→16→17→15
case9 a=30, b=10, c=10 0→1→3→5→6→7→13→16→18→19→12
case10 a=9, b=10, c=10 0→1→3→5→6→7→13→16→18→19→15
case11 a=10, b=10, c=10 0→1→2→3→4→5→6→7→13→16→18→20
2开发环境
操作系统: Window7
开发环境: VS2008、C#
运行环境: Window 2000/XP/2003/7/8、.net FrameWork 2.0
屏幕分辨率要求大于1024x768
3编程思路
完成该系统,实现基本的判定条件和路径覆盖,从编程的角度来说比较简单,但为了能够实现较好的可视化效果,希望能够将程序执行路径的每一步分别顺序输出,并能够在可视化的流程图上动态展现出来。
3.1参考故障树知识库来表示流程
为了达到较好的可视化效果,这里面将路径执行过程参考故障树知识库的形式进行组织。
1)产生式知识表示法
产生式表示方法由前提和结论两部分组成,这种格式容易对知识进行扩展,有助于系统推理的实现。
其基本形式如下:
IF P THEN R
其中,P代表产生式规则的前提,R代表该规则的结论或操作。
例如:
IF “a=b”THEN “将match+1”
2)调度器
按照系统建造者所给的控制知识,从议程中选择一个项作为系统下一步要执行的动作。
3)执行器
应用知识库中的及黑板中记录的信息,执行调度器所选定的动作。
3.2多线程
为了较直观的展现程序的执行顺序,需要再每一步执行完让程序停顿一下,如果使用传统的单线程操作来实现,会出现用户界面“假死”(对用户的操作响应慢)现象。
异步模式是.net框架中的核心技术,我们采用多线程技术实现程序执行和停顿操作,相比单线程技术节约了大量的时间。
异步调用的本质是利用新的线程完成工作,而免除对当前线程的阻塞,解决了UI界面“假死”的现象。
3.3流程图控件
为了较好的展现程序流程图,本程序没有采用直接绘图的方式,而是使用了一套比较成熟的流程图控件AddFlow,使得结果更加美观。
对流程图中的每一个节点和连接,都可以设定颜色,字体,形状,风格,文本等等特性,当移动的时候节点保持连接状态。
4程序说明
4.1程序界面
输入结果时,照例是先对输入进行检查,输入为空或者不为数字则不进行后面的测试。
4.2生成测试结果
输入正确的值,点击开始,程序开始异步执行,并以高亮的形式展示程序已经运行的步骤,这个步骤是渐进的(动画),当某个用例测试完成后,该用例覆盖的测试路径会由“未执行路径”组转移到“已执行路径”组中。
另外,通过点击文件菜单,还可以将执行的图形以图形文件或者xml文件的形式保存起来。
小组成员。