判定三角形的程序及黑盒白盒测试
软件测试-判断三角形形状路径白盒测试
![软件测试-判断三角形形状路径白盒测试](https://img.taocdn.com/s3/m/32793951fab069dc502201c7.png)
三角形白盒测试要求要求:,其他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。
最新软件测试-判断三角形形状路径白盒测试
![最新软件测试-判断三角形形状路径白盒测试](https://img.taocdn.com/s3/m/48117528b7360b4c2f3f641e.png)
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)对以上实验结果进行适当地分析与总结。
黑盒测试用例设计案例(判三角形)
![黑盒测试用例设计案例(判三角形)](https://img.taocdn.com/s3/m/b04993ed102de2bd9605887b.png)
黑盒测试用例设计案例(判三角形)【例1】假设现有以下的三角形分类程序。
该程序的功能是,读入代表三角形边长的3个整数,判定它们能否组成三角形。
如果能够,则输出三角形是等边、等腰或任意三角形的分类信息。
图9.11显示了该程序的流程图和程序图。
为以上的三角形分类程序设计一组测试用例。
【解】第一步:确定测试策略。
在本例中,对被测程序的功能有明确的要求,即:(1)判断能否组成三角形;(2)识别等边三角形;(3)识别等腰三角形;(4)识别任意三角形。
因此可首先用黑盒法设计测试用例,然后用白盒法验证其完整性,必要时再进行补充。
第二步:根据本例的实际情况,在黑盒法中首先可用等价分类法划分输入的等价类,然后用边界值分析法和猜错法作补充。
等价分类法:有效等价类输入3个正整数:(1)3数相等(2)3数中有2个数相等,比如AB相等(3)3数中有2个数相等,比如BC相等(4)3数中有2个数相等,比如AC相等(5)3数均不相等(6)2数之和不大于第3数,比如最大数是A(7)2数之和不大于第3数,比如最大数是B(8)2数之和不大于第3数,比如最大数是C无效等价类:(9)含有零数据(10)含有负整数(11)少于3个整数(12)含有非整数(13)含有非数字符边界值法:(14)2数之和等于第3数猜错法:(15)输入3个零(16)输入3个负数第三步:提出一组初步的测试用例,如下表所示:第四步:用白盒法验证第三步产生的测试用例的充分性。
结果表明,上表中的前8个测试用例,已能满足对被测程序图的完全覆盖,不需要再补充其他的测试用例。
三角形程序白盒测试
![三角形程序白盒测试](https://img.taocdn.com/s3/m/732e316feff9aef8941e0687.png)
执行路径:1-2-3-7-12
请输入能构成三角形的整数。
Case35
a=’g’,b=’6’,c=’h’
请输入能构成三角形的整数。
执行路径:1-2-3-7-12
请输入能构成三角形的整数。
Case36
a=’h’,b=’发’,c=’52’
请输入能构成三角形的整数。
执行路径:1-2-3-7-12
a=’5.3’,b=’3.0’,c=’2.3’
请输入能构成三角形的整数。
满足:F4,T5,F6
请输入能构成三角形的整数。
Case14
a=’6’,b=’2.3’,c=’3
请输入能构成三角形的整数。
满足:T4,F5,T6
请输入能构成三角形的整数。
Case15
a=’2’,b=’3’,c=’5’
请输入能构成三角形的整数。
执行路径:1-2-3-7-12
请输入能构成三角形的整数。
Case21
a=’1’,b=’2’,c=’3’
请输入能构成三角形的整数。
执行路径:1-2-3-4-5-7-12
请输入能构成三角形的整数。
Case22
a=’15’,b=’2’,c=’5’
请输入能构成三角形的整数。
执行路径:1-2-3-4-5-7-12
Case1
a=’三’,b=’角’,c=’形’
请输入能构成三角形的整数。
执行路径:1-2-3-7-12
请输入能构成三角形的整数。
Case2
a=’5’,b=’2’,c=’2’
请输入能构成三角形的整数。
执行路径:1-2-3-4-5-6-9-10-12
请输入能构成三角形的整数。
Case3
判定三角形的程序及黑盒白盒测试
![判定三角形的程序及黑盒白盒测试](https://img.taocdn.com/s3/m/ccba6b7aa36925c52cc58bd63186bceb19e8ed5c.png)
判定三角形的程序及黑盒白盒测试LtD黑盒白盒测试实验报告学院:计算机科学与工程专业:软件工程姓名:张子晗软件测试方案测试目的1.练习并掌握软件测试管理的一般过程与步骤2.掌握测试管理的人工过程和能通过相关管理软件实现以下操作:1)创立和管理多个测试组和用户2)配置测试环境,编写详细测试方案,安排测试进度3)实施测试,执行测试4)对测试进行评估测试题目关于三角形问题的测试测试方法1.对于主题进行黑盒测试,测试内容包括等价类划分测试,边界值分析测试,决策表方法使用。
2.对于主题进行白盒测试,测试内容包括语句覆盖测试,分支覆盖测试,条件覆盖测试,分支/条件覆盖测试,条件组合覆盖测试以及根本路径测试。
测试资料1.黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
在测试中,把程序看作一个不能翻开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。
很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。
2.白盒测试:白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。
白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。
"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。
"白盒"法是穷举路径测试。
在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。
贯穿程序的独立路径数是天文数字。
采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法。
白盒测试实验报告-三角形形状-山东大学
![白盒测试实验报告-三角形形状-山东大学](https://img.taocdn.com/s3/m/9a445948915f804d2b16c1e3.png)
白盒测试实验报告-三角形形状-山东大学实验报告一、实验目的运用白盒测试中的条件覆盖和判定覆盖检查程序中内部动作或者运行是否符合规范,各部分内容是否按照规定正常运行。
二、实验内容 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 一般锐角三角形一般锐角三角形正确注:已覆盖所有的条件,所有条件的真假都取了一次,由于条件太多,所以这里未列出判定的路径,还请老师见谅. .三、总结与体会通过这次实验,我对于白盒测试有了更加深刻和直观的认识,因为代码是自己编写的,同时也重新锻炼了自己的动手编码能力。
黑盒测试-三角形
![黑盒测试-三角形](https://img.taocdn.com/s3/m/7468ebd481c758f5f61f67f9.png)
黑盒测试1.实验目的:理解黑盒测试的基本方法,掌握等价类划分法和边界值方法设计测试用例。
2.实验配置:(1)PC机一套,要求安装windows操作系统、Virtul Studio6.0、java等工具;(2)理解等价类划分法、边界值分析法的思想,划分依据;(3)熟悉上述方法测试用例设计的理论。
3.实验内容:1)输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。
要求输入三个整数a、b、c,必须满足以下条件:1≤a≤100;1≤b≤100;1≤c≤100。
要求:a.大家用自己熟悉的编程语言,实现上面问题的描述。
b.请用等价类设计测试用例。
4.实验步骤:(1)三角形问题1) 编写程序,实现三角形问题。
要求实验输入输出如图所示:(2)设计测试用例用等价类分析法设计测试用例。
按照输入条件和输出形式划分等价类输入条件:可以从以下四个方面划分等价类:三个数,整数,非0数,正数输出条件:可以划分为一个等价类,一般三角形,等腰三角形,等边三角形,不构成三角形。
写出测试报告,如下表所示:5.实验总结:1、大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。
因此针对各种边界情况设计测试用例,可以查出更多的错误;2、使用边界值分析方法设计测试用例,首先应确定边界情况。
通常输入和输出等价类的边界,就是应着重测试的边界情况。
应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
白盒测试报告 三角形
![白盒测试报告 三角形](https://img.taocdn.com/s3/m/ec9fb04933687e21af45a9db.png)
白盒测试一、实验目的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、如果发现缺陷,找出缺陷所在并修改程序。
三角形黑盒测试技术实验报告
![三角形黑盒测试技术实验报告](https://img.taocdn.com/s3/m/1b3d4793a300a6c30c229fe1.png)
黑盒测试技术—三角形问题实验报告一、问题描述输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型并输出(等边三角形、等腰三角形、一般三角形),如果不构成三角形输出不能构成三角形。
要求:(1)输入三个整数a、b、c,必须满足以下条件:1≤a≤200;1≤b≤200;1≤c≤200。
(2)容错处理:输入空值的提示;输入的值满足类型的提示;(3)不限制开发环境,不限制开发语言;(4)尽可能不对自己的程序进行测试设计。
(5)请分别采用边界值分析法、等价类分析法、决策表分析法、基于场景分析法设计测试用例;(6)正文格式(除源代码用小五号单倍行距),其他行距固定值20,字号小四。
二、程序主要源代码using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace software_test{public partial class FrmTest : Form{public FrmTest(){InitializeComponent();}private void btnOk_Click(object sender, EventArgs e){string numbera = "a";string numberb = "b";string numberc = "c";String txta = txtA.Text;String txtb = txtB.Text;String txtc = txtC.Text;//输入值是否正确的判断judgeInput(txta, numbera);judgeInput(txtb, numberb);judgeInput(txtc, numberc);//组成三角形的判断judgeTriangle(txta, txtb, txtc);}//判断输入是否为a数字的方法且是否有效private void judgeInput(String e,String X){int x;if (!int.TryParse(e,out x)) {String message = String.Format("{0}输入必须为整数!", X);MessageBox.Show(message);}else if (!(int.Parse(e) >= 1 && int.Parse(e) <= 200)){String message = String.Format("{0}输入必须为1到200!",X);MessageBox.Show(message);}}//判断能否组成三角形,或者组成为等腰,等边,还是普通三角形public void judgeTriangle(String x, String y, String z) {int b1=int.Parse(x);int b2=int.Parse(y);int b3=int.Parse(z);if (!(b1 + b2 > b3 && b1 + b3 > b2 && b2 + b3 > b1)){MessageBox.Show("不能组成三角形");}else if (b1 == b2 && b2 == b3){MessageBox.Show("能组成等边三角形");}else if (b1 == b2 || b2 == b3 || b1 == b3){MessageBox.Show("能组成等腰三角形");}else {MessageBox.Show("能组成普通三角形");}}}}三、程序界面(截图)四、设计测试用例1. 用边界值测试方法设计测试用例用边界值分析法设计测试用例,按照下列步骤进行:(1)分析各变量取值答:a取0,1,2,199,200,201;b取0,1,2,199,200,201;c取0,1,2,199,200,201(2)测试用例数答:18个(3)设计测试用例(给出所有测试用例)三角形问题的测试用例2. 用等价类测试方法设计测试用例(1)首先分析题目中给出的条件和隐含的输入要求,输入条件如下:答:1<=a<=200;1<=b<=200;1<=c<=200;一般三角形:(a+b)>c&&(a+c)>b&& (b+c)>a;等腰三角形:b=c||a=c||a=b;(2)根据输入条件的要求划分等价类,列出等价类表并编号(3) 设计测试用例,覆盖上表中的等价类,如表1-3表所示。
软件测试判断三角形形状白盒测试黑盒测试
![软件测试判断三角形形状白盒测试黑盒测试](https://img.taocdn.com/s3/m/cde6cd7efc4ffe473368abea.png)
淮海工学院计算机工程学院实验报告书课程名:《软件工程导论》题目:软件测试学号: 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。
软件测试经典三角形案例
![软件测试经典三角形案例](https://img.taocdn.com/s3/m/a2a5670777232f60dccca126.png)
软件测试-黑盒测试例子一、等价类划分问:某程序规定:"输入三个整数 a、 b、 c分别作为三边的边长构成三角形。
通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算… "。
用等价类划分方法为该程序进行测试用例设计。
(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。
)解:分析题目中给出和隐含的对输入条件的要求:(1)整数(2)三个数(3)非零数(4)正数(5)两边之和大于第三边(6)等腰(7)等边如果 a、 b 、 c满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一:1)如果不满足条件(5),则程序输出为 " 非三角形 " 。
2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。
3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。
4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。
列出等价类表并编号覆盖有效等价类的测试用例:a b c覆盖等价类号码3 4 5(1)--(7)4 4 5(1)--(7),(8)4 5 5(1)--(7),(9)5 4 5(1)--(7),(10) 4 4 4(1)--(7),(11)覆盖无效等价类的测试用例:二、边界值分析法NextDate函数的边界值分析测试用例在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。
三、错误推测法测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:I.输入的线性表为空表;II.表中只含有一个元素;III.输入表中所有元素已排好序;IV.输入表已按逆序排好;V.输入表中部分或全部元素相同。
软件测试经典三角形案例
![软件测试经典三角形案例](https://img.taocdn.com/s3/m/a2a5670777232f60dccca126.png)
软件测试-黑盒测试例子一、等价类划分问:某程序规定:"输入三个整数 a、 b、 c分别作为三边的边长构成三角形。
通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算… "。
用等价类划分方法为该程序进行测试用例设计。
(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。
)解:分析题目中给出和隐含的对输入条件的要求:(1)整数(2)三个数(3)非零数(4)正数(5)两边之和大于第三边(6)等腰(7)等边如果 a、 b 、 c满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一:1)如果不满足条件(5),则程序输出为 " 非三角形 " 。
2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。
3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。
4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。
列出等价类表并编号覆盖有效等价类的测试用例:a b c覆盖等价类号码3 4 5(1)--(7)4 4 5(1)--(7),(8)4 5 5(1)--(7),(9)5 4 5(1)--(7),(10) 4 4 4(1)--(7),(11)覆盖无效等价类的测试用例:二、边界值分析法NextDate函数的边界值分析测试用例在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。
三、错误推测法测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:I.输入的线性表为空表;II.表中只含有一个元素;III.输入表中所有元素已排好序;IV.输入表已按逆序排好;V.输入表中部分或全部元素相同。
三角形白盒测试实验报告
![三角形白盒测试实验报告](https://img.taocdn.com/s3/m/caf0b82726d3240c844769eae009581b6bd9bd99.png)
三角形白盒测试实验报告三角形白盒测试实验报告为了验证三角形白盒测试的有效性和准确性,我们进行了一系列实验。
本报告将详细介绍实验的目的、方法、结果和讨论,并对实验结果进行分析和总结。
一、实验目的三角形白盒测试是一种基于代码内部结构的测试方法,旨在检查程序是否按照预期的逻辑运行。
本次实验的目的是验证三角形白盒测试方法在判断三角形类型时的准确性和可靠性。
二、实验方法我们编写了一个三角形判断程序,其中包含了判断三角形类型的逻辑代码。
为了进行白盒测试,我们需要了解程序的内部结构和逻辑。
通过查看源代码,我们发现程序使用了三个变量a、b、c来表示三角形的三条边长,使用if-else语句嵌套来判断三角形类型。
在进行测试之前,我们首先对程序进行了静态分析,检查代码是否符合编码规范和最佳实践。
然后,我们使用了不同的测试用例,覆盖了各种可能的三角形类型,包括等边三角形、等腰三角形、一般三角形和非三角形。
三、实验结果在进行三角形白盒测试之后,我们得到了如下结果:1. 等边三角形测试:我们使用了三个边长相等的测试用例,程序成功判断出了等边三角形。
2. 等腰三角形测试:我们使用了两个边长相等的测试用例,程序成功判断出了等腰三角形。
3. 一般三角形测试:我们使用了三个边长不相等的测试用例,程序成功判断出了一般三角形。
4. 非三角形测试:我们使用了两个边长之和小于第三边长的测试用例,程序成功判断出了非三角形。
根据实验结果,我们可以得出结论:三角形白盒测试方法在判断三角形类型时具有较高的准确性和可靠性。
四、讨论与分析通过对实验结果的分析,我们发现三角形白盒测试方法在判断三角形类型时具有较高的准确性和可靠性。
这是因为该方法能够深入了解程序的内部逻辑,通过对代码的覆盖测试,可以有效地检测出不同类型的三角形。
然而,我们也发现该方法存在一些局限性。
首先,该方法依赖于对程序内部结构和逻辑的了解,对于复杂的程序可能需要更多的时间和精力进行分析。
经典三角形白盒黑盒测试加测试工具
![经典三角形白盒黑盒测试加测试工具](https://img.taocdn.com/s3/m/b9d598143b3567ec102d8ae2.png)
22 }23 }else{24SetDlgItemText(IDC_RESULT, "不能构成三角形");25 }2.3.4程序控制图2.3.5圈复杂度V(G)=37(条边)-27(个节点)+2=12Table 1myDlg:OnButton2的函数流程图3. 度量元检测结果Table 2 函数度量元检测结果4. 函数质量标准检测结果Table 3 函数质量标准检测结果5. 系统度量元检测结果Table 4 系统度量元检测结果6.类度量元的检测结果Table 5 类度量元的检测结果7.类质量准则的检测结果Table 6 类质量准则的检测结果8. 父类、子类之间的派生关系Table 7父类、子类之间的派生关系9.类与类之间的使用关系Table 8类与类之间的使用关系2.4.2RuleChecker项目1.代码检测结果Table 9 代码检测结果2.查看不符合规范的代码Table 10 查看不符合规范的代码3. RuleChecker的检测报告参见” RuleChecker Report”文件夹下的SanJiaoXingRuleCheckerrule.html2.4.3TestChecker项目由于项目名称为中文,配置TestChecker项目的时候,出现乱码,该测试未完成.2.5黑盒测试2.5.1功能测试测试目标➢测试三角形测试.exe测试范围➢测试输入值是否满足条件➢测试输出结果是否满足设说明开始标准➢白盒测试完成完成标准➢所有功能都能按照设计文档的要求➢测试报告提交给程序开发人员修改,并作进一步测试测试重点和优先级➢输入的参数是否正确➢输出的结果是否符合设计文档预期结果2.5.2测试方法测试目标➢测试”三角形测试”程序是否能够正常运行并符合预期结果测试范围➢软件执行的整个过程测试方法➢等价划分➢边界值分析开始标准➢有详细设计,软件编码已完成完成标准➢所有设计的用例都测试通过2.5.3等价划分根据用例描述,输入的三条边的取值范围为[1,100]Table 11 三角形测试录制的基本过程Table 12 添加一个标准检查点Table 13 参数化A,B.C和输出结果Table 14 由QTP生成的测试报告2.6.2 录制脚本二: SanJiaoXingQTPTest2录制了一段脚本,保存在” SanJiaoXingQTPTest2”文件夹下e)录制一个基本过程,弹出的小窗口中的警告信息上添加一个标准检查点f)参数化边A,B,C和标准检查点的值,分别存在在全局表sideA,sideB,sideC,Result中.g)回放录制过程h)分析生成的测试报告Table 15三角形测试录制的基本过程Table 16 添加一个标准检查点Table 17参数化A,B.C和输出结果Table 18由QTP生成的测试报告最后一个Row14未通过,是由于Row13测试完后,没有数据输入了,所以该测试是通过的.。
2023年白盒测试实验报告三角形
![2023年白盒测试实验报告三角形](https://img.taocdn.com/s3/m/5457d83615791711cc7931b765ce050876327534.png)
白盒测试实验报告——三角形
一、实验目的
(1)巩固白盒测试技术,能纯熟应用控制流覆盖方法设计测试用例;
(2)学习测试用例的书写。
二、实验内容
判断三角形类型
输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?假如能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。
规定输入三个整数a、b、c,必须满足以下条件:1≤a≤200;1≤b≤200;1≤c≤200。
规定:
为测试该程序的方便,请将三角形判断的算法尽量放入一个函数中。
(1)画出程序的流图;
(2)分别以语句覆盖、鉴定覆盖、条件覆盖、鉴定条件覆盖、条件组合覆盖设计测试用例,并写出每个测试用例的执行途径
规定:设计测试用例时,每种覆盖方法的覆盖率应尽也许达成100%
(3)请采用基本途径测试方法对程序进行测试,并给出具体测试用例信息。
(4)通过你的测试,请总结你所使用测试方法发现的Bug。
三、实验规定
(1)根据题目规定编写测试用例
(2)撰写实验报告
(3)有关的实现程序请附到实验报告中
(4)实验报告命名规则:学号后两位+姓名_白盒实验四、实验报告
(1)程序代码:
1.
2.
3.
4
5
7.
8.
9
11.
(2)程序的流图:
(3)语句覆盖;
(4)鉴定覆盖;
(5)条件覆盖:
(6)鉴定/条件覆盖;
(7)组合覆盖;
(8)基本途径覆盖;
通过计算,程序流图的环复杂度为5,因此基本途径有5条
附录:测试用例书写格式(语句覆盖为例)
测试用例表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
判定三角形的程序及黑盒白盒测试
黑盒白盒测试实验报告
学院:计算机科学与工程
专业:软件工程
姓名:张子晗
学号:152210702236
软件测试计划
测试目的
1. 练习并掌握软件测试管理的一般过程与步骤
2. 掌握测试管理的人工过程和能通过相关管理软件实现以下
操作:
1) 创建和管理多个测试组和用户
2) 配置测试环境,编写详细测试计划,安排测试进度
3) 实施测试,执行测试
4) 对测试进行评估
测试题目
关于三角形问题的测试
测试方法
1. 对于主题进行黑盒测试,测试内容包括等价类划分测试,
边界值分析测试,决策表方法使用。
2. 对于主题进行白盒测试,测试内容包括语句覆盖测试,分
支覆盖测试,条件覆盖测试,分支/ 条件覆盖测试,条件组合覆盖测试以及基本路径测试。
测试资料
1. 黑盒测试:
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。
很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。
2. 白盒测试:白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。
白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。
"白盒" 法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。
"白盒" 法是穷举路径测试。
在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。
贯穿程序的独立路径数是天文数字。
采用什么方法对软件进行测试呢 ?常用的软件测试方法有两大类 :静态测试方法和动态测试方法。
其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试 ; 而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。
在动态分析技术中 , 最重要的技术是路径和分支测试。
3. 黑盒与白盒测试的比较:
数据整理
测试的所得到的用例实验报告,BUG报告,需要进行反馈和最后的归档,归档的工作按项目计划中所规定的进行。
反馈的工作在测试项结束后,整理成测试总结报告后进行,具体的日期在项目计划中有规定。
不同阶段的测试都要重复以上步骤。
三角形问题黑盒测试报告
1. 问题描述:
完成一段程序,要求实现这样的功能。
输入三个整数,构成三角形的三条边,输入范围是1-100 ,判断结果是等腰三角形,等边三角形,不构成三角形或是一般三角形,直角三角形,判断结果均打印输出。
2. 程序代码(c++):#include<iostream> using namespace std; void main()
{
int a,b,c;
cout<< ”请输入三条边的长度(1-100 )” <<endl;
cin>>a>>b>>c;
if(a>=1&&b>=1&&c>=1&&a<=100&&b<=100&&c<=100) { if(a+b>c&&a+c>b&&b+c>a)
{
cout<< ”能够构成三角形”;
if ( a==b&&b==c)
cout<< ”为等边三角形”;
else if
((a==b&&a!=c)||(b==c&&c!=a)||(a==c&&a!b))
cout<<”为等腰三角形”;
else
cout<< ”为一般三角形”;
}
else
cout<< ”不能构成三角形”;
}
else
}
cout<< ”输入的值超出给定范围”;}
3. 测试方法:
黑盒测试(等价类划分+边界值分析+决策表方法)
1) 等价类划分
本程序共计有四种可能的输出:一般三角形,等腰三角形,等边三角形,不构成三角形。
2) 边界值分析方法
3) 决策表方法
i. 确定规则个数,本题的决策表共计四个条件。
C1:a,b,c 构成三角形?
C2:a=b?
C3:a=c?
C4:b=c?
每个条件可以取两个值,共计有16 种规则。
ii. 列出所有的条件桩和动作桩
iii. 输入输入项。
iv. 输入动作项,得到初始决策表。
v. 化简,合并相似规则,最后得到三角形问题的最终决策表。
vi.
白盒测试(语句覆盖,判定覆盖及基本路径测试方法)程序的流程图如下
1) 语句覆盖
2) 判定覆盖
3) 路径测试。