三角形判断-白盒测试

合集下载

软件测试-判断三角形形状路径白盒测试

软件测试-判断三角形形状路径白盒测试

三角形白盒测试要求要求:,其他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)对以上实验结果进行适当地分析与总结。

判定三角形的程序及黑盒白盒测试

判定三角形的程序及黑盒白盒测试

判定三角形的程序及黑盒白盒测试LtD黑盒白盒测试实验报告学院:计算机科学与工程专业:软件工程姓名:张子晗软件测试方案测试目的1.练习并掌握软件测试管理的一般过程与步骤2.掌握测试管理的人工过程和能通过相关管理软件实现以下操作:1)创立和管理多个测试组和用户2)配置测试环境,编写详细测试方案,安排测试进度3)实施测试,执行测试4)对测试进行评估测试题目关于三角形问题的测试测试方法1.对于主题进行黑盒测试,测试内容包括等价类划分测试,边界值分析测试,决策表方法使用。

2.对于主题进行白盒测试,测试内容包括语句覆盖测试,分支覆盖测试,条件覆盖测试,分支/条件覆盖测试,条件组合覆盖测试以及根本路径测试。

测试资料1.黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。

在测试中,把程序看作一个不能翻开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。

很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

2.白盒测试:白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。

白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。

"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。

"白盒"法是穷举路径测试。

在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。

贯穿程序的独立路径数是天文数字。

采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法。

软件测试-三角形的黑白盒测试

软件测试-三角形的黑白盒测试
文档之家?软件测试三角形的黑白盒测试
软件测试 -三角形的黑白盒测试
三角形黑盒测试
三角形白盒测试 一、核心程序代码 /** 判断三角形的类 */ public class TriangleTestMethod { /** 判断三角形的种类。参数a, b, c分别为三角形的三边, * 返回的参数值为0,表示非三角形; * 为1,表示普通三角形; * 为2,表示等腰三角形; * 为3,表示等边三角形。 */ public statf((a + b > c) && (b + c > a) && (a + c > b)) { // 判断为三角形if((a == b) && (b ==c)) // 判断为等边三角形 return 3; if((a == b) || (b == c) || (a == c)) // 判断为等腰三角形 return 2; else // 判断为普通三角形 return 1; } else { // 为非三角形 return 0; } } } 二、程序流程图
三、测试用例
四、程序控制流图

白盒测试实验报告-三角形形状-山东大学

白盒测试实验报告-三角形形状-山东大学

白盒测试实验报告-三角形形状-山东大学实验报告一、实验目的运用白盒测试中的条件覆盖和判定覆盖检查程序中内部动作或者运行是否符合规范,各部分内容是否按照规定正常运行。

二、实验内容 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、掌握白盒测试用例的编写。

二、实验要求1、根据给出的程序分别使用语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖、基本路径覆盖来设计相应的测试用例。

2、输入数据进行测试,执行测试用例。

三、实验内容程序:用VC++ 6.0编写三角形函数:三角形中,要求输入三边的长度:a,b,c,当三边不可能构成三角形时提示错误,可构成三角形时计算三角形的周长。

若是等腰三角形打印“等腰三角形”,若是等边三角形,则打印“等边三角形”。

源代码:#include <iostream>using namespace std;double triangleType(double a,double b,double c){double l;l=a+b+c;if(a+b<=c&&a+c<=b&&b+c<=a)cout<<"error:不能构成三角形"<<endl;else if(a==b&&a==c)cout<<"等边三角形"<<endl;else if(a==b||a==c||b==c)cout<<"等腰三角形"<<endl;elsecout<<"三角形周长:"<<l<<endl;return 0;}void main(){double x,y,z;cout<<"输入三个边长:"<<endl;cin>>x>>y>>z;triangleType(x,y,z);}四、实验步骤2、测试,得出结果。

3、如果发现缺陷,找出缺陷所在并修改程序。

白盒测试三角形问题的基本路径测试解答

白盒测试三角形问题的基本路径测试解答

实验六三角形问题的基本路径测试主要代码如下:1.If (inta >= intb + intc) _2. Or (intb > =inta + intc) _3.Or (intc >= intb + inta) Then4. strMsg = "三角形两边之和必须大于第三边" + vbCrLf + "非三角形"5.Else6. If (inta = intb) _7.And (intb = intc) Then8. strMsg = "三角形的三条边都相等" + vbCrLf + "等边三角形"9. Else10. If (inta = intb) _11.Or (inta = intc) _12.Or (intc = intb) Then13. strMsg = "三角形的任意两边相等" + vbCrLf + "等腰三角形"14. Else15. strMsg = "三角形的各边均非等" + vbCrLf + "普通三角形"16. End If17. End If18.End If1.根据上面的代码画出程序的控制流图。

2.计算环路复杂度。

V(G)=93.求出基本路径组合。

P1: 1-4-18P2: 1-2-4-18P3: 1-2-3-4-18P4: 1-2-3-6-7-8-17-18P5: 1-2-3-6-10-13-16-17-18P6: 1-2-3-6-10-11-13-16-17-18P7: 1-2-3-6-10-11-12-13-16-17-18P8: 1-2-3-6-10-11-12-15-16-17-18要点:从较短路径顺序增加每个分支尽可能走一次4.设计测试用例,按照表1的形式,设计用例。

表1:用例设计表。

软件测试判断三角形形状白盒测试黑盒测试

软件测试判断三角形形状白盒测试黑盒测试

淮海工学院计算机工程学院实验报告书课程名:《软件工程导论》题目:软件测试学号: 511020825姓名:薛思雨一、实验目的与要求1、掌握软件测试2、掌握白盒测试方法3、掌握黑盒测试方法(边界值分析和等价类划分)4、掌握自动化测试软件和方法二、实验内容或题目1)试画出:给定四边形的四条边,判断这个四边形是普通四边形、平等四边形、菱形的流程图,给出详细设计结果与C语言代码,对其使用白盒和黑盒测试技术分别设计测试用例(包括所有白盒测试的覆盖、黑盒测试的边界值分析与等价类划分)。

然后,使用测试用例进行实际测试,并给出测试结果;(或输入三条边,判断三条边组成的图形是一般三角形、等腰三角形、直角三角形、等边三角形,亦或不能构成三角形,其它要求同四边形)2)了解一些典型的自动化测试软件和方法,建议有条件可下载、安装Mercury Interactive公司的负载测试工具LoadRunner、功能测试工具WinRunner和测试管理工具TestDirector;IBM-Rational公司的测试套件Rational Suite TestStudio的Rational Robot、Rational TestManagerhe、Rational Quantify等工具,了解软件的使用方法。

3) 课内认真完成实验报告,禁止抄袭。

三、实验步骤与源程序第一题:1. 根据题目画流程图核心流程图:源代码:#include<stdio.h>void main(void){int a,b,c,k;printf("请输入三角形的三边长(0-100):");scanf("%d %d %d",&a,&b,&c);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==b&&b!=c)||(a==c&&c!=b)||(b==c&&a!=b))k=1;if(a==b&&a==c)k=2;if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(c*c+b*b==a*a))k=3;switch(k){case 1:printf("等腰三角形\n");break;case 2:printf("等边三角形\n");break;case 3:printf("直角三角形\n");break;default:printf("一般三角形\n");break;}}elseprintf("不能构成三角形\n");}elseprintf("警告:无效输入!!\n");}第二题:1.打开虚拟机,启动Windows XP Professional。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf("等边三角形");
else if (m_num1==m_num2 || m_num1==m_num3 || m_num2==m_num3)
printf("等腰三角形");
else
printf("一般三角形");
}
else
{
printf("不是三角形");
}
}
}
void main()
{
int a,b,c;
等腰三角形
4
3
3
1-2-3-6-7-8-10-11-13
等腰三角形
3
4
3
1-2-3-6-7-8-10-11-12-13
等腰三角形
(5)条件组合覆盖:
输入
测试路径
测试结果
M_num1
M_num2
M_num3
1
2
3
1-2-3-5
不是三角形
3
2
1
1-2-3-6-5
不是三角形
1
3
2
1-2-3-6-7-5
不是三角形
测试结果
M_num1
M_num2
M_num3
-1
-1
-1
1-2-4
无法执行完毕
1
2
3
1-2-3-5
不是三角形
3
2
1
1-2-3-6-5
不是三角形
1
3
2
1-2-3-6-7-5
不是三角形
3
3
3
1-2-3-6-7-8-9
等边三角形
3
4
5
1-2-3-6-7-8-10-11-12-14
一般三角形
3
3
4
1-2-3-6-7-8-10-13
等腰三角形
(2)判定覆盖
输入
测试路径
测试结果
M_num1
M_num2
M_num3
3
4
5
1-2-3-6-7-8-10-11-12-14
一般三角形
(3)条件覆盖:
输入
测试路径
测试结果
M_num1
M_num2
M_num3
1
2
3
1-2-3-5
不是三角形
3
2
1
1-2-3-6-5
不是三角形
1
3
2
1-2-3-6-7-5
输入
测试路径
测试结果
M_num1
M_num2
M角形
3
2
1
1-2-3-6-5
不是三角形
1
3
2
1-2-3-6-7-5
不是三角形
3
3
3
1-2-3-6-7-8-9
等边三角形
3
4
5
1-2-3-6-7-8-10-11-12-14
一般三角形
3
3
4
1-2-3-6-7-8-10-13
等腰三角形
4
3
3
1-2-3-6-7-8-10-11-13
等腰三角形
3
4
3
1-2-3-6-7-8-10-11-12-13
等腰三角形
基路径方法设计测试用例并执行测试用例:
输入
测试路径
测试结果
M_num1
M_num2
M_num3
-1
-1
-1
1-2-4
无法执行完毕
1
2
3
1-2-3-5
不是三角形
3
2
1
1-2-3-6-5
while(1< m_num1 <200&&1< m_num2<200 &&1< m_num3 <200)
{
if(!(m_num1+m_num2<=m_num3 || m_num1+m_num3<=m_num2 || m_num2+m_num3<=m_num1))
{
if (m_num1==m_num2 && m_num1==m_num3)
由程序流程图得如下控制流图:
采用逻辑覆盖设计测试用例并执行测试用例:
(1)语句覆盖:
输入
测试路径
测试结果
M_num1
M_num2
M_num3
3
2
1
1-2-3-5
不是三角形
3
4
5
1-2-3-6-7-8-10-11-12-14
一般三角形
3
3
3
1-2-3-6-7-8-9
等边三角形
3
3
4
1-2-3-6-7-8-10-13
Judge(a,b,c);
}
int a,b,c;
Judge(a,b,c);
}
关于三角形问题的白盒测试实验报告
一、实验目的
1、系统地学习和理解白盒测试的基本概念、原理,掌握白盒测试的基本技术和方法;
二、实验内容
1、题目内容描述
针对实验一编写的源代码进行白盒测试。要求绘制出程序的控制流图,采用逻辑覆盖和基路径方法设计测试用例。执行测试用例,并分析测试结果
2、测试用例的编写
根据条件绘制程序流程图如下:
不是三角形
3
3
3
1-2-3-6-7-8-9
等边三角形
3
4
5
1-2-3-6-7-8-10-11-12-14
一般三角形
3
3
4
1-2-3-6-7-8-10-13
等腰三角形
4
3
3
1-2-3-6-7-8-10-11-13
等腰三角形
3
4
3
1-2-3-6-7-8-10-11-12-13
等腰三角形
(4)判定-条件覆盖:
等腰三角形

经过以上测试发现:程序无法结束,达不到预测结果。其余均能正确执行达到预期结果。

附录:程序代码
#include "stdio.h"
void Judge(int m_num1,int m_num2,int m_num3)
{ scanf("%d %d %d",&m_num1,&m_num2,&m_num3);
不是三角形
1
3
2
1-2-3-6-7-5
不是三角形
3
3
3
1-2-3-6-7-8-9
等边三角形
3
4
5
1-2-3-6-7-8-10-11-12-14
一般三角形
3
3
4
1-2-3-6-7-8-10-13
等腰三角形
4
3
3
1-2-3-6-7-8-10-11-13
等腰三角形
3
4
3
1-2-3-6-7-8-10-11-12-13
3
3
3
1-2-3-6-7-8-9
等边三角形
3
4
5
1-2-3-6-7-8-10-11-12-14
一般三角形
3
3
4
1-2-3-6-7-8-10-13
等腰三角形
4
3
3
1-2-3-6-7-8-10-11-13
等腰三角形
3
4
3
1-2-3-6-7-8-10-11-12-13
等腰三角形
(6)路径覆盖:
输入
测试路径
相关文档
最新文档