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

合集下载

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

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

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)对以上实验结果进行适当地分析与总结。

软件测试实验报告白盒测试

软件测试实验报告白盒测试

软件测试与质量课程实验报告
实验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分。

软件测试实验报告白盒测试

软件测试实验报告白盒测试
1int a,b,c;
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能否构成三角形,面对这样的问题采用模块,以便于后来的添加,对项目有整体的把握。

通过本次实验,我充分学习到了白盒测试中的路径覆盖测试的测试用例设计方法以及了解到了白盒测试面对代码测试的重要性;黑色测试中的等价类和边界值测试,在测试数据中选择有代表性的数据进行黑盒测试,学到了黑盒测试不需要了解代码的时候对程序进行功能性测试,大大提高了测试的效率。

软件测试实验报告白盒测试

软件测试实验报告白盒测试

实验3:白盒测试掌握静态白盒测试方法及一般要求掌握白盒测试用例的设计方法掌握白盒测试基本测试方法:逻辑覆盖、路径测试。

5 printf("\n等边三角形:");}6 else if((a==b|| b==c ||a==c)){7 printf("\n等腰三角形:");8 elseprintf("\n一般三角形:");9 system("pause");return 0;}语句覆盖输入数据路径预期输出1A=2,B=5,C=3,1239不能构成三角形2A=15,B=15,C=1512459等边三角形3A=15,B=15,C=13124679等腰三角形4. if (key == array [mid]) {5. return mid;6. } else if (key < array[mid]) {7. high = mid - 1;} else {8. low = mid + 1;}}9. return -1;}}语句覆盖编号输入数据覆盖语句1array[8,9,10,11] key 101,2,3,82array[8,9,10,11] key 251,2,3,93array[8,9,10,11] key 81,2,3,6,74array[8,9,10,11] key 91,2,3,4,5判定覆盖编号输入数据路径7-15果果果果缺席:扣10分实验报告雷同:扣10分实验结果填写不完整:扣1 – 10分其他情况:扣分<=5分总扣分不能大于10分。

白盒测试实验报告三角形形状山东大学[5篇范例]

白盒测试实验报告三角形形状山东大学[5篇范例]

白盒测试实验报告三角形形状山东大学[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.确定测试用例,包括各种可能的三角形情况,如等边三角形、等腰三角形、普通三角形以及不能构成三角形的情况。

2.编写测试代码,使用白盒测试的方式进行测试。

3.运行测试代码,记录测试结果。

4.分析测试结果,验证程序的正确性。

实验结果:经过测试,测试结果如下:1.测试用例1:输入边长为3、3、3,预期输出为等边三角形,实际输出为等边三角形,测试通过。

2.测试用例2:输入边长为3、4、4,预期输出为等腰三角形,实际输出为等腰三角形,测试通过。

3.测试用例3:输入边长为2、3、4,预期输出为普通三角形,实际输出为普通三角形,测试通过。

4.测试用例4:输入边长为1、2、3,预期输出为不能构成三角形,实际输出为不能构成三角形,测试通过。

实验结论:通过对三角形程序的白盒测试,我们验证了程序的正确性,并确认程序能够正确判断三条边是否能够构成一个三角形,以及进一步判断构成的三角形是何种类型的。

在我们的测试中,程序完全按照我们的预期输出结果,没有发现任何错误。

因此,我们可以认为该程序在给定的测试用例下能够正确地判断三角形,并输出正确的三角形类型。

实验感想:通过本次实验,我深刻理解了白盒测试的重要性。

通过运行测试代码,并仔细分析测试结果,我可以直观地看到程序的运行情况,从而判断程序的正确性。

在编写测试用例时,我尽量覆盖了各种可能的情况,以确保测试的全面性和准确性。

同时,我也意识到了编写高质量代码的重要性,只有代码本身没有错误,才能保证测试的准确性。

白盒测试报告 三角形

白盒测试报告 三角形

白盒测试一、实验目的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、如果发现缺陷,找出缺陷所在并修改程序。

软件测试实验报告白盒测试

软件测试实验报告白盒测试

软件测试与质量课程实验报告
实验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分。

白盒(三角形)

白盒(三角形)

实验4 三角形问题的白盒测试一、实验目的:通过实验掌握白盒测试技术,能够使用语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖和条件组合覆盖设计测试用例。

二、实验内容及要求1、根据实验一的三角形问题编写程序;2、画出程序流程图,分析并确定程序分支;3、设计分别满足语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖和条件组合覆盖的测试用例;4、用测试用例对程序进行测试,记录测试结果,并对结果进行分析,如果存在缺陷则修改程序,继续测试;1、根据实验一的三角形问题编写程序;using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Text.RegularExpressions;namespace三{public partial class Form1 : Form{public Form1(){InitializeComponent();}private class TT{public bool b(string s){string pattern = "^[0-9]*$";Regex rx = new Regex(pattern);return rx.IsMatch(s);}}private void button1_Click_1(object sender, EventArgs e){if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == ""){MessageBox.Show("边长不能为空!!", "警告");}else{TT t = new TT();string a = textBox1.Text;string b = textBox2.Text;string c = textBox3.Text;if (!t.b(a) || !t.b(b) || !t.b(c)){MessageBox.Show("只能输入1到100间的数字!!", "警告");textBox1.Text = "";textBox2.Text = "";textBox3.Text = "";textBox1.Focus();}else{int a1 = int.Parse(a);int b1 = int.Parse(b);int c1 = int.Parse(c);if (a1 > 100 || a1 <= 0 || b1 > 100 || b1 <= 0 || c1 > 100 || c1 <= 0) {MessageBox.Show("只能输入1到100间的数字!!", "警告");textBox1.Text = "";textBox2.Text = "";textBox3.Text = "";textBox1.Focus();}else{if (a1 >= b1 + c1 || b1 >= a1 + c1 || c1 >= a1 + b1){label4.Text = "不是三角形";}else{if ((a1 * a1 == b1 * b1 + c1 * c1) || (b1 * b1 == a1 * a1 + c1 * c1) || (c1 * c1 == a1 * a1 + b1 * b1)){label4.Text = "直角三角形";}else{if (a1 == b1 && b1 == c1 && a1 == c1){label4.Text = "等边三角形";}else if (a1 == b1 || b1 == c1 || a1 == c1) {label4.Text = "等腰三角形";}else{label4.Text = "普通三角形";}}}}}}}}}2、画出程序流程图,分析并确定程序分支;3、设计分别满足语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖和条件组合覆盖的测试用例。

山东大学软件测试白盒测试实验报告

山东大学软件测试白盒测试实验报告
1
T1, T2, T3,
F4, F5,
F6, F7, F8
1
Case30
a=3, b=4, c=3
2
T1, T2, T3,
F4, F5,
F6, F7, T8
2
备注
其他条件组合,无法到达结束
(4)程序控制流图
基本路径覆盖测试用例
输入
期望输出
覆盖对象
测试结果
Case31
a=1, b=6, c=7
0
A->D
2
4)条件-判定覆盖
输入
期望输出
覆盖条件
覆盖对象
测试结果
Case6
x=14,y=4,z=5
0
T1,T2,T3,T4
a ce
0
Case7
x=22,y=6,z=11
1
-T1,-T2,-T3,-T4
abd
1
5)条件组合覆盖
1.X>3,Z<10,记为T1,T2
2.X>3,Z>=10,记为 T1,-T2
3.X<=3,Z<10,记为–T1,T2
a=3, b=3, c=4
2
T1, T2, T3, T4, F5, T6, F7, F82Casຫໍສະໝຸດ 9a=3, b=4, c=3
2
T1, T2, T3, F4, F5, F6, F7, T8
2
Case10
a=4, b=3, c=3
2
T1, T2, T3, F4, T5, F6, T7, F8
2
3)判定覆盖测试用例
}
j=j%3;
System.out.println("k="+k);

白盒测试基本路径法实训报告三角形

白盒测试基本路径法实训报告三角形

白盒测试基本路径法实训报告三角形一、实验目的通过使用白盒测试基本路径法,对三角形程序进行测试,掌握基本路径法的测试方法和技巧,提高软件测试的能力。

二、实验环境1.操作系统:Windows 102.开发工具:Visual Studio 2019三、实验步骤1.分析程序三角形程序的功能是判断三个数是否能组成三角形,并返回三角形的类型。

程序的代码如下:```#include <stdio.h>int main(){int a, b, c;printf("请输入三个数:");scanf("%d%d%d", &a, &b, &c);if (a + b > c && a + c > b && b + c > a){if (a == b && b == c){printf("这是一个等边三角形");}else if (a == b || a == c || b == c) {printf("这是一个等腰三角形");}else{printf("这是一个普通三角形");}}else{printf("这不是一个三角形");}return 0;}```2.确定基本路径根据程序的控制流图,可以确定程序的基本路径如下:1-2-3-4-5-6-7-8-9-10-11-12-13-141-2-3-4-5-6-7-8-9-10-11-12-151-2-3-4-5-6-7-8-9-10-11-161-2-3-4-5-6-7-8-9-171-2-3-4-5-6-7-181-2-3-4-5-191-2-3-4-201-2-3-211-2-221-233.设计测试用例根据基本路径,设计测试用例如下:测试用例1:a=3, b=4, c=5测试用例2:a=2, b=2, c=2测试用例3:a=1, b=2, c=3测试用例4:a=0, b=0, c=0测试用例5:a=1, b=1, c=2测试用例6:a=1, b=2, c=1测试用例7:a=2, b=1, c=1测试用例8:a=1, b=0, c=1测试用例9:a=1, b=1, c=0测试用例10:a=0, b=1, c=14.执行测试用例根据设计的测试用例,执行测试如下:测试用例1:a=3, b=4, c=5输出结果:这是一个普通三角形测试用例2:a=2, b=2, c=2输出结果:这是一个等边三角形测试用例3:a=1, b=2, c=3输出结果:这不是一个三角形测试用例4:a=0, b=0, c=0输出结果:这不是一个三角形测试用例5:a=1, b=1, c=2输出结果:这不是一个三角形测试用例6:a=1, b=2, c=1输出结果:这是一个等腰三角形测试用例7:a=2, b=1, c=1输出结果:这是一个等腰三角形测试用例8:a=1, b=0, c=1输出结果:这不是一个三角形测试用例9:a=1, b=1, c=0输出结果:这不是一个三角形测试用例10:a=0, b=1, c=1输出结果:这不是一个三角形5.总结通过使用白盒测试基本路径法,对三角形程序进行了测试,并得出了测试结果。

三角形白盒测试实验报告

三角形白盒测试实验报告

三角形白盒测试实验报告三角形白盒测试实验报告为了验证三角形白盒测试的有效性和准确性,我们进行了一系列实验。

本报告将详细介绍实验的目的、方法、结果和讨论,并对实验结果进行分析和总结。

一、实验目的三角形白盒测试是一种基于代码内部结构的测试方法,旨在检查程序是否按照预期的逻辑运行。

本次实验的目的是验证三角形白盒测试方法在判断三角形类型时的准确性和可靠性。

二、实验方法我们编写了一个三角形判断程序,其中包含了判断三角形类型的逻辑代码。

为了进行白盒测试,我们需要了解程序的内部结构和逻辑。

通过查看源代码,我们发现程序使用了三个变量a、b、c来表示三角形的三条边长,使用if-else语句嵌套来判断三角形类型。

在进行测试之前,我们首先对程序进行了静态分析,检查代码是否符合编码规范和最佳实践。

然后,我们使用了不同的测试用例,覆盖了各种可能的三角形类型,包括等边三角形、等腰三角形、一般三角形和非三角形。

三、实验结果在进行三角形白盒测试之后,我们得到了如下结果:1. 等边三角形测试:我们使用了三个边长相等的测试用例,程序成功判断出了等边三角形。

2. 等腰三角形测试:我们使用了两个边长相等的测试用例,程序成功判断出了等腰三角形。

3. 一般三角形测试:我们使用了三个边长不相等的测试用例,程序成功判断出了一般三角形。

4. 非三角形测试:我们使用了两个边长之和小于第三边长的测试用例,程序成功判断出了非三角形。

根据实验结果,我们可以得出结论:三角形白盒测试方法在判断三角形类型时具有较高的准确性和可靠性。

四、讨论与分析通过对实验结果的分析,我们发现三角形白盒测试方法在判断三角形类型时具有较高的准确性和可靠性。

这是因为该方法能够深入了解程序的内部逻辑,通过对代码的覆盖测试,可以有效地检测出不同类型的三角形。

然而,我们也发现该方法存在一些局限性。

首先,该方法依赖于对程序内部结构和逻辑的了解,对于复杂的程序可能需要更多的时间和精力进行分析。

三角形白盒测试技术实验报告

三角形白盒测试技术实验报告

白盒测试技术实验报告一、实验内容1、系统地学习和理解白盒测试的基本概念、原理,掌握白盒测试的基本技术和方法;2、举例进行白盒测试,使用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖进行测试。

3、通过试验和应用,要逐步提高和运用白盒测试技术解决实际测试问题的能力;4、完成实验并认真填写实验报告二、问题描述输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。

要求输入三个整数a、b、c,必须满足以下条件:1≤a≤200;1≤b≤200;1≤c≤200。

请采用静态白盒测试方法和动态白盒测试方法设计测试用例。

三、代码说明(复制测试的主要代码并在每行程序代码前面标上行号)1)#include2)main() 3){4)int A,B,C;5)printf("请输入三角形的三条边:");6)scanf("%d %d %d",&A,&B,&C);7)if((200>A>0&&200>B>0&&200>C>0)&&((A+B)>C&&(A+C)>B&&(B+C)>A))8){9)if(A==B&&A==C)10)printf("该三角形是等边三角形!\n");11)else12)if((A==B&&B!=C)||(B==C&&B!=A)||(A==C&&A!=B))13)printf("该三角形是等腰三角形!\n");14)else15)printf("该三角形是普通三角形!\n");16)}17)else18){19)printf("ERROR!\n");20)return main();21)}22)}四、白盒测试分析1.代码走读答:程序主要是根据三个整数a,b,c,构成一个三角形判定三角形的类型为等边三角形、等腰三角形、普通三角形还是构成不了三角形。

2023年白盒测试实验报告三角形

2023年白盒测试实验报告三角形

白盒测试实验报告——三角形
一、实验目的
(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、等腰三角形4、普通三角形二、实验目的(1)掌握白盒测试的原理;(2)掌握使用逻辑覆盖和基路径测试等设计测试用例的方法;(3)掌握单元测试的方法步骤;(4)掌握控制流图的画法和通过控制流图找出基路径的方法。

三、实验环境平台:win10 64位环境:Eclipse(neon版本)四、实验过程(一)编写判定三角形类别的程序:if ((a+b>c)&&(b+c>a)&&(a+c>b)){//判断可以构成三角形if((b==c)&&(a==b)){return 1;//等边三角形}if((a==b)||(b==c)||(c==a)){return 2;//等腰三角形}return 3;//普通三角形}return 0;//非三角形}主函数调用代码:shape = DefiniteShape(a,b,c);if(shape==0){System.out.println("输入数据不能构成三角形!"); }elseif(shape==1){System.out.println("等边三角形!");}elseif(shape==2){System.out.println("等腰三角形!");}elseif(shape==3){System.out.println("普通三角形!");}(二)画出程序流程图:(三)画出控制流图:(四)逻辑覆盖测试:1)a为数字2)b为数字3)c为数字4)a为整数5)b为整数6)c为整数7)a+b>c8)b+c>a9)a+c>b10)a==b11)b==c12)a==c所有测试用例(覆盖率达到100%)五、编写测试代码基本思路:将测试用例存入txt文件→读文件→判断→输出。

白盒测试实验报告

白盒测试实验报告

关于三角形问题的白盒测试实验报告一、实验目的1、能熟练应用功能性测试技术进行测试用例设计;2、对测试用例进行优化设计;二、实验内容1、题目内容描述针对实验一编写的源代码进行白盒测试。

要求绘制出程序的控制流图,采用逻辑覆盖和基路径方法设计测试用例。

执行测试用例,并分析测试结果。

可以使用C++Test对代码进行静态检查和动态测试。

2、测试用例的编写根据条件绘制程序流程图如下:由程序流程图得如下控制流图:采用逻辑覆盖设计测试用例并执行测试用例:(1)语句覆盖:(2)判定覆盖(3)条件覆盖:(4)判定-条件覆盖:(5)条件组合覆盖:(6)路径覆盖:基路径方法设计测试用例并执行测试用例:3、测试结果分析经过以上测试发现:程序无法结束,达不到预测结果。

其余均能正确执行达到预期结果。

4、实验思考通过本次试验,对C++test工具有了一定的认识,学会了一些基本的用法和操作,用该工具测出了一些代码规范的问题,能够分析测试结果了。

本实验用两种方法对程序进行测试,从中可看出,基路径测试比逻辑覆盖测试过程简单,但是没有逻辑覆盖测试的效果好。

所以,我觉得应该更加熟悉两种测试方法的特色,以便在以后的测试中能更快更准确的选择测试方法,快速测试,找到程序中的错误。

附录:程序代码#include "iostream.h"#include "stdio.h"void Judge(int m_num1,int m_num2,int m_num3){while(scanf("%d %d %d",&m_num1,&m_num2,&m_num3)!=EOF){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)cout<<"等边三角形"<<endl;else if (m_num1==m_num2 || m_num1==m_num3 || m_num2==m_num3)cout<<"等腰三角形"<<endl;elsecout<<"一般三角形"<<endl;}else{cout<<"不是三角形"<<endl;}}}void main(){int a,b,c;Judge(a,b,c);}。

三角形测试实验报告

三角形测试实验报告

黑龙江大学实验报告黑龙江大学教务处测试计划(GB8567——88)1引言1.1编写目的1.掌握软件测试技术中白盒测试方法;2.掌握如何进行单元测试。

1.2背景测试程序名称:triangle(三角形形状测试)任务提出者:金虎老师开发者:用户:测试环境:WINDOWS XP ; VC++6.0说明:由于程序较小,并且只是作为了解白盒测试的小程序,因此不涉及较高的实验环境,并且测试环境和运行环境在理论上是一样的,因此不存在较大的测试差异。

1.3定义a:三角型的第一条边b:三角型的第二条边c:三角型的第三条边一般三角形:三边都不相等的三角形等腰三角形:有任意两边相等的三角形等边三角形:三边都相等的三角形不能构成三角形:因不满足需求条件而不能构成三角形1.4参考资料1.《软件测试教程》.宫云战.机械工业出版社2008年9月2.《软件测试技术》.曲朝阳.中国水利水电出版社2006年8月3.《软件测试教程》.贺平.电子工业出版社2005年6月2计划2.1软件说明2.2测试内容单元测试。

某程序规定:输入三个整数作为三边的边长构成三角形。

当此三角形为一般三角形、等腰三角形及等边三角形时,分别说明。

2.3测试(标识符)2.3.1进度安排2.3.2条件所需测试机器:机房机器,品牌为联想,基本配置为奔腾4处理器,256M内存,80M硬盘系统环境:WINDOWS XP工具环境:VC++6.0中文版参与人员2.3.3测试资料1.《软件测试教程》.宫云战.机械工业出版社2008年9月2.《软件测试技术》.曲朝阳.中国水利水电出版社2006年8月3.《软件测试教程》.贺平.电子工业出版社2005年6月2.3.4测试培训1.《软件测试教程》宫云战机械工业出版社2008年9月第三章白盒测试2.金虎老师第三张白盒测试PPT课件3测试设计说明3.1测试此项测试采用白盒测试方法来测试该功能。

3.1.1控制环形复杂度为:6基本路径集如下:路径一:1-2-9-8路径二:1-2-3-10-8路径三:1-2-3-4-11-8路径四:1-2-3-4-5-12-8 路径五:1-2-3-4-5-6-13-8 路径六:1-2-3-4-5-6-7-83.1.2输入测试用例如下:3.1.3输出3.1.4过程由于这个程序比较简单,因此没有比较繁琐的步骤以及控制命令。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

二、实验内容
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、测试用例设计
1)程序流程图如下:
1)判定覆盖测试用例及测试结果
注:已覆盖所有的判定,由于条件太多,所以这里未列出判定的路径,还请老师见谅. 2)条件覆盖测试用例及测试结果
注:已覆盖所有的条件,所有条件的真假都取了一次,由于条件太多,所以这里未列出
判定的路径,还请老师见谅.
三、总结与体会
通过这次实验,我对于白盒测试有了更加深刻和直观的认识,因为代码是自己编写
的,同时也重新锻炼了自己的动手编码能力。

发现的问题,对于判定覆盖,有时会忽略
条件为“或”时的情况,对于条件覆盖测试,保证每个条件真假都取一次的用例可以有
很多种,但是不一定保证所有的判定都被覆盖,这可能会导致程序的一些逻辑错误无法
发现。

相关文档
最新文档