软件测试实验二(三角形白盒测试)报告

合集下载

软件测试技术实验报告册

软件测试技术实验报告册

工程学院计算机学院软件测试技术实验报告册适用专业:学期: 专业: 班级: 学号: 姓名: 指导教师:2014年9月目录实验一 (1)实验二 (5)实验三 (10)实验四 (13)实验五 (16)实验六 (19)附录 (22)实验一、黑盒测试一、实验目的1、熟练掌握黑盒测试方法的相关知识和方法;2、熟练等价类划分方法、边界值分析法、判定表方法和因果图法;3、掌握基本的测试用例的设计。

二、实验容1.题目一:问题某城市由三部分组成。

它们的名称和容分别是:(1)地区码:空白或三位数字;(2)前缀:非'0'或'1'的三位数字;(3)后缀:4位数字。

假定被测程序能接受一切符合上述规定的,拒绝所有不符合规定的。

根据该程序的规格说明,作等价类的划分,并设计测试方案。

2.题目二:三角形问题根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。

“一个程序读入三个整数。

把此三个数值看成是一个三角形的三个边。

这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、还是等边的。

”3.题目三:日期问题用决策表测试法测试以下程序:该程序有三个输入变量month、day、year(month 、 day和year均为整数值,并且满足:1≤month≤12和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。

例如,输入为2004 年11月29日,则该程序的输出为2004年12月1日。

(1) 分析各种输入情况,列出为输入变量 month 、 day 、 year 划分的有效等价类。

(2) 分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可能采取的操作(即列出所有的动作桩)。

(3) 根据 (1) 和 (2) ,画出简化后的决策表。

4.题目四:找零钱最佳组合假设商店货品价格(R)皆不大于100元(且为整数),若顾客付款在100元 (P) ,求找给顾客最少货币个()数?(货币面值50元10 元,5 元,1元四种)三、实验要求(1)根据题目要求编写测试用例(参照表1进行用例设计);(2)实验结果要求给出两套测试用例集测试效果比较;(3)撰写实验报告四、实验容清单实验二、白盒测试一、实验目的1、熟练掌握白盒测试方法的相关知识和方法;2、熟练语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖和基本路径测试法;3、掌握基本的测试用例的设计。

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

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

三角形白盒测试要求要求:,其他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。

三角形测试实验报告

三角形测试实验报告

黑龙江大学实验报告黑龙江大学教务处测试计划(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过程由于这个程序比较简单,因此没有比较繁琐的步骤以及控制命令。

软件测试-实验2-白盒测试案例分析

软件测试-实验2-白盒测试案例分析

实验2 白盒测试一、实验目的与要求1、掌握白盒测试的语句覆盖和判定覆盖测试方法的原理及应用2、掌握条件覆盖、条件组合覆盖的方法,提高应用能力3、掌握路径法测试二、实验设备1、电脑PC三、实验原理白盒测试原理:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。

它是把测试对象看作装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。

这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作,其又称为结构测试。

1、语句覆盖语句覆盖指代码中的所有语句都至少执行一遍,用于检查测试用例是否有遗漏,如果检查到没有执行到的语句时要补充测试用例。

无须细分每条判定表达式,该测试虽然覆盖了可执行语句,但是不能检查判断逻辑是否有问题。

2、判定覆盖又称判断覆盖、分支覆盖,指设计足够的测试用例,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假取值均曾被满足。

判定覆盖比语句覆盖强,但是对程序逻辑的覆盖度仍然不高,比如由多个逻辑条件组合而成的判定,仅判定整体结果而忽略了每个条件的取值情况。

3、条件覆盖、条件判定覆盖条件覆盖指程序中每个判断中的每个条件的所有可能的取值至少要执行一次,但是条件覆盖不能保证判定覆盖,条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。

条件判定覆盖是条件覆盖和判定覆盖的组合,指设计足够的测试用例,使得判定中每个条件的所有可能的取值至少出现一次,并且每个判定取到的各种可能的结果也至少出现一次。

条件判定覆盖弥补了条件和判定覆盖的不足,但是未考虑条件的组合情况。

4、条件组合覆盖又称多条件覆盖,设计足够的测试用例,使得判定条件中每一个条件的可能组合至少出现一次。

线性地增加了测试用例的数量。

5、基本路径法在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行的路径集合,从而设计测试用例的方法。

三角形判断-白盒测试

三角形判断-白盒测试

关于三角形问题的白盒测试实验报告一、实验目的1、系统地学习和理解白盒测试的基本概念、原理,掌握白盒测试的基本技术和方法;二、实验内容1、题目内容描述针对实验一编写的源代码进行白盒测试。

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

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

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

四、实验思考附录:程序代码#include "stdio.h"void Judge(int m_num1,int m_num2,int m_num3){ scanf("%d %d %d",&m_num1,&m_num2,&m_num3);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)printf("等边三角形");else if (m_num1==m_num2 || m_num1==m_num3 || m_num2==m_num3)printf("等腰三角形");elseprintf("一般三角形");}else{printf("不是三角形");}}}void main(){int a,b,c;Judge(a,b,c);}int a,b,c;Judge(a,b,c);}。

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

软件测试实验报告白盒测试
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:白盒测试
姓名
院系
学号
任课教师
实验指导教师

白盒测试实验报告_三角形

白盒测试实验报告_三角形

白盒测试实验报告_三角形实验目的:本实验旨在通过白盒测试的方式对一个三角形程序进行测试,并通过测试结果来验证程序的正确性。

实验原理:三角形是由三条边组成的图形,根据三个边的长度的不同,可以分为三种形态的三角形:等边三角形、等腰三角形和普通三角形。

在这个实验中,我们需要测试一个程序,该程序用于判断给定的三条边是否能够构成一个三角形,并能够进一步判断构成的三角形是何种类型。

实验步骤:1.确定测试用例,包括各种可能的三角形情况,如等边三角形、等腰三角形、普通三角形以及不能构成三角形的情况。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

白盒测试实验报告_三角形(2)

白盒测试实验报告_三角形(2)

白盒测试实验报告——三角形
一、实验目的
(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)程序代码:
7.
8.
(2)程序的流图:
(4)判定覆盖;
(5)条件覆盖:
(6)判定/条件覆盖;
(8)基本路径覆盖;
附录:测试用例书写格式(语句覆盖为例)。

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

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

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

二、实验环境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.总结通过使用白盒测试基本路径法,对三角形程序进行了测试,并得出了测试结果。

软件测试-实验2-白盒测试案例分析

软件测试-实验2-白盒测试案例分析

实验2 白盒测试一、实验目的与要求1、掌握白盒测试的语句覆盖和判定覆盖测试方法的原理及应用2、掌握条件覆盖、条件组合覆盖的方法,提高应用能力3、掌握路径法测试二、实验设备1、电脑PC三、实验原理白盒测试原理:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。

它是把测试对象看作装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。

这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作,其又称为结构测试。

1、语句覆盖语句覆盖指代码中的所有语句都至少执行一遍,用于检查测试用例是否有遗漏,如果检查到没有执行到的语句时要补充测试用例。

无须细分每条判定表达式,该测试虽然覆盖了可执行语句,但是不能检查判断逻辑是否有问题。

2、判定覆盖又称判断覆盖、分支覆盖,指设计足够的测试用例,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假取值均曾被满足。

判定覆盖比语句覆盖强,但是对程序逻辑的覆盖度仍然不高,比如由多个逻辑条件组合而成的判定,仅判定整体结果而忽略了每个条件的取值情况。

3、条件覆盖、条件判定覆盖条件覆盖指程序中每个判断中的每个条件的所有可能的取值至少要执行一次,但是条件覆盖不能保证判定覆盖,条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。

条件判定覆盖是条件覆盖和判定覆盖的组合,指设计足够的测试用例,使得判定中每个条件的所有可能的取值至少出现一次,并且每个判定取到的各种可能的结果也至少出现一次。

条件判定覆盖弥补了条件和判定覆盖的不足,但是未考虑条件的组合情况。

4、条件组合覆盖又称多条件覆盖,设计足够的测试用例,使得判定条件中每一个条件的可能组合至少出现一次。

线性地增加了测试用例的数量。

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,构成一个三角形判定三角形的类型为等边三角形、等腰三角形、普通三角形还是构成不了三角形。

软件测试实验二(三角形白盒测试)报告

软件测试实验二(三角形白盒测试)报告

实验二测试报告一、核心程序代码/** 判断三角形的类 */public class TriangleTestMethod {/** 判断三角形的种类。

参数a, b, c分别为三角形的三边,* 返回的参数值为0,表示非三角形;* 为1,表示普通三角形;* 为2,表示等腰三角形;* 为3,表示等边三角形。

*/public static int comfirm(int a, int b, int c) {if((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;}}}二、程序流程图①Na +b >c && b + c> a && a + c > bY②Ya ==b && b ==cN④a ==b || b ==c ||a == cN Y③⑥⑦⑤Return 3 Return 1 Return 2 Return 0Exit三、测试用例1.语句覆盖测试用例:输入期望输出覆盖对象测试结果Case1 Case2 Case3 Case4 a=1, b=2, c=3a=3, b=4, c=5123①,⑤0123①,②,④,⑥①,②,④,⑦①,②,③a=3, b=3, c=4a=3, b=4, c=52.判定覆盖测试用例输入期望输出覆盖对象测试结果Case11 Case12 Case13 Case14 a=1, b=2, c=3a=3, b=4, c=5a=3, b=3, c=4a=3, b=4, c=5123①,⑤0123①,②,④,⑥①,②,④,⑦①,②,③3.条件覆盖测试用例输入期望输出覆盖对象测试结果Case5 Case6 Case7 Case8 a=1, b=6, c=7a=7, b=1, c=6a=1, b=7, c=6a=3, b=3, c=42F1, T2, T3 02T1, F2, T3T1, T2, F3T1, T2, T3, T4,F5, T6, F7, F8T1, T2, T3, F4,F5, F6, F7, T8T1, T2, T3, F4,T5, F6, T7, F8Case9 a=3, b=4, c=3a=4, b=3, c=3 2222Case104.条件-判定覆盖测试用例输入期望输出覆盖对象测试结果Case15 Case16 Case17 Case18 a=1, b=6, c=7 0 F1, T2, T3 0(①,②)a=7, b=1, c=6a=1, b=7, c=6a=3, b=3, c=42T1, F2, T3 02(①,②))T1, T2, F3(①,②)T1, T2, T3, T4,F5, T6, F7, F8(①,②,③,⑦)F T1, T2, T3, 4,F5, F6, F7, T8(①,②,③,⑦)T1, T2, T3, F4,T5, F6, T7, F8(①,②,③,⑦)F1, T2, T3Case19 Case20 a=3, b=4, c=3a=4, b=3, c=32222Case21 Case22 a=3, b=3, c=3a=3, b=4, c=53131(①,②,③)T1, F2, T3(①,②,④,⑥)5.条件组合覆盖测试用例输入期望输出覆盖对象F1, T2, T3T1, F2, T3T1, T2, F2T1, T2, T3,T4, T5 测试结果Case23 Case24 Case25 Case26 a=1, b=6, c=7 033 a=7, b=6, c=1a=1, b=7, c=6a=3, b=3, c=3Case27 a=3, b=3, c=4 2 T1, T2, T3,T4, F5,2Welcome To Download !!!欢迎您的下载,资料仅供参考!。

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

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

软件测试白盒测试实验报告软件测试白盒测试实验报告引言:软件测试是确保软件质量的重要环节之一。

在软件开发过程中,白盒测试是一种常用的测试方法,通过对软件内部结构进行检查,以验证其是否符合设计要求和预期功能。

本文将对进行的白盒测试实验进行详细报告和分析。

实验目的:本次实验的目的是通过对一个简单的软件系统进行白盒测试,验证其内部逻辑和代码的正确性,并发现可能存在的缺陷和错误。

通过实验,我们希望能够了解白盒测试的基本原理和方法,并掌握其实际应用技巧。

实验环境:本次实验使用的软件系统是一个简单的计算器应用,开发语言为Java。

实验环境包括Java开发工具集(JDK)和集成开发环境(IDE),以及相关的测试工具和框架。

实验过程:1. 理解需求:首先,我们仔细阅读了计算器应用的需求文档,了解了其基本功能和预期行为。

2. 设计测试用例:根据需求文档,我们设计了一系列测试用例,覆盖了计算器应用的各个功能模块和边界条件。

测试用例包括输入合法数字、输入非法字符、进行加减乘除运算等。

3. 编写测试代码:根据设计的测试用例,我们编写了相应的测试代码。

测试代码主要包括模拟用户输入、调用计算器应用的相关方法,并对返回结果进行断言和验证。

4. 执行测试:在完成测试代码编写后,我们使用测试工具和框架对计算器应用进行了测试。

测试过程中,我们记录了每个测试用例的执行结果和异常情况,并对其进行了分类和整理。

实验结果:经过测试,我们发现了一些计算器应用存在的问题和潜在的缺陷。

其中,一些常见的问题包括:1. 输入非法字符时,计算器应用没有进行有效的错误处理,导致程序崩溃或返回错误结果。

2. 在进行除法运算时,计算器应用没有对除数为零的情况进行判断和处理,导致程序异常。

此外,我们还发现了一些较为隐蔽的问题,例如:1. 在进行大数计算时,计算器应用没有进行溢出检查和处理,导致结果不准确。

2. 在进行浮点数计算时,计算器应用没有进行舍入误差的处理,导致结果不精确。

软件测试实验报告三角形问题

软件测试实验报告三角形问题
3 、 掌 握 对 测 试 用 例 进 行 优 化 设 计 方 法 。
4 、 掌 握 单 元 测 试 技 术 , 并 按 单 元 测 试 的 要 求 设 计 测 试 用 例 。
5 、 掌 握 一 种 单 元 测 试 工 具 的 使 用 。
实 验 内 容 :
黑 盒 测 试 题 目
题 目 一 : 三 角 形 问 题
( 5 0 , 1 , 5 0 ) , ( 5 0 , 2 , 5 0 ) , ( 5 0 , 9 9 , 5 (
题 目 二 : 电 话 号 码 问 题
采 用 等 价 类 划 分 法 设 计 测 试 用 例
电话号码等价类
输入条件
有效等价类 编号
无效等价类
编号
地区码
前缀
后缀
测试用例号码 1 2 3 4 5 6 7 8 9


b

>

=

1

&

&

b

<
a
=

1
b
0

a
0
c
>
;

=
c

1
>

&
=

&
1

a
&

<
&

=
c

1
<

0
=

0
1
:
;
0
根 据 边 界 值 测 试 法 设 计 测 试 用 例 : 有 三 个 变 量 则 可 以 产 生 1 3 个 测

三角形程序白盒测试

三角形程序白盒测试

三角形判断问题白盒测试一、问题描绘针对三角形的形状判断程序设计测试用例,进行白盒测试。

假设这里组成三角形的边取值只好为整数。

程序判断的种类有:二、实验目的(1)掌握白盒测试的原理;(2)掌握使用逻辑覆盖和基路径测试等设计测试用例的方法;(3)掌握单元测试的方法步骤;(4)掌握控制流图的画法和经过控制流图找出基路径的方法。

三、实验环境平台: win10 64 位环境: Eclipse( neon 版本)四、实验过程(一 ) 编写判断三角形类其他程序:中心代码:public staticif((ifint DefiniteShape(int a, int b, int c) {a+ b>c )&&( b+c >a)&&( a +c>b)){ // 判断能够组成三角形(( b==c )&&( a==b)){return 1; // 等边三角形}if(( a==b)||( return2;b==c)||( c== a)){ // 等腰三角形}return 3; // 一般三角形}return0;// 非三角形}主函数调用代码:shape =DefiniteShape( a, b, c);if ( shape ==0){System. out .println(" 输入数据不可以组成三角形!" );}else if ( shape ==1){System. out .println(" 等边三角形!" );}else if ( shape ==2){System. out .println(" 等腰三角形!" );}else if ( shape ==3){System. out .println(" 一般三角形!" );}(二 ) 画出程序流程图:开始输入 a,b,c判断 a,b,c能否都为数字是判断能否都为整数是a+b>c&&b+c>a&&a+c>b是是a==b&&b==c否是a==b||b==c||a==c否否否否提示等边三角提示等腰三角提示一般三角提示请输入能构形形形成三角形的整数结束(三 ) 画出控制流图:123456798101112(四 ) 逻辑覆盖测试:条件有: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%)1语句覆盖输入希望输出覆盖对象测试结果Case1a= ’三’b=,’角’c=,’形’请输入能组成三角履行路径: 1-2-3-7-12请输入能组成三角形的整数。

三角形问题测试分析报告

三角形问题测试分析报告

三角形问题测试报告————————————————————————————————作者:————————————————————————————————日期:三角形问题测试报告1、简介1.1编写目的本测试报告为三角形问题的测试报告,目的在于总结测试阶段的测试以及分析测试结果,通过测试来检测每个功能是否都能正常使用。

预期参考人员包括测试人员、开发人员和需要阅读本报告的老师。

1.2项目背景本项目为软件测试专周任务。

1.3术语边界值分析法:就是对输入或输出的边界值进行测试的一种黑盒测试方法。

通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

等价类划分:把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。

每一类的代表性数据在测试中的作用等价于这一类中的其他值。

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

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

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

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

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

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

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

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

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

1.4参考资料《软件测试教程第2版》 《软件测试入门与提高》 《软件测试实例分析》2、 测试概要2.1程序流程图输入三条边a,b,c输出结果一般三角形等腰三角形(a+b>c)&&(a+c>b)&&(b+c>a)不能构成三角形(a==b&&b!=c)||(a==c&&c!=b)||(b==c&&a!=b)a==b&&a==c等边三角形(a*a+b*b==c*c)||(a*a+c*c ==b*b)||(c*c+b*b==a*a)直角三角形YNYYYNNN①⑨③②④⑥⑤⑦⑧2.2测试程序源代码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 triangle{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){lb_result.Text = "";tb_sideA.Focus();}private void bt_test_Click(object sender, EventArgs e){try{int x = int.Parse(tb_sideA.Text);int y = int.Parse(tb_sideB.Text);int z = int.Parse(tb_sideC.Text);utils u = new utils();if (u.checkNotZero(x, y, z)){if (u.checkTriangle(x, y, z)){if (x == y && x == z && z == y){lb_result.Text = "(*^__^*) 嘻嘻这是一个等边三角形";}else if (x * x + y * y == z * z || x * x + z * z == y * y || z * z + y * y == x * x){lb_result.Text = "(*^__^*) 嘻嘻这是一个直角三角形";}else if (x == y || x == z || z == y){lb_result.Text = "(*^__^*) 嘻嘻这是一个等腰三角形";}else{lb_result.Text = "⊙﹏⊙b汗这是一个一般三角形";}}else{lb_result.Text = " ╮(╯_╰)╭这不是一个三角形";}}else{lb_result.Text = " +_+ 输入有误,请重来";}}catch { }}private void bt_clear_Click(object sender, EventArgs e){tb_sideA.Text = "";tb_sideB.Text = "";tb_sideC.Text = "";tb_sideA.Focus();}private void bt_exit_Click(object sender, EventArgs e){this.Close();this.Dispose();}}class utils{public Boolean checkTriangle(int x, int y, int z){if (x + y > z && x + z > y && z + y > x){return true;}return false;}public Boolean checkNotZero(int x, int y, int z){if (x >= 0 && x <= 100 && y >= 0 && y <= 100 && z >= 0 && z <= 100){return true;}return false;}}}2.3白盒测试语句覆盖:编号 a b c 覆盖对象期望输出实际结果1 4 4 5 ①②③等腰三角形等腰三角形2 4 4 4 ①②④⑤等边三角形等边三角形3 345 ①②④⑥⑦直角三角形直角三角形4 456 ①②④⑥⑧一般三角形直角三角形5 4 5 9 ①⑨不能构成三角形不能构成三角形判定覆盖:编号 a b c 覆盖对象期望输出实际结果1 4 4 5 ①②③等腰三角形等腰三角形2 4 4 4 ①②④⑤等边三角形等边三角形3 345 ①②④⑥⑦直角三角形直角三角形4 456 ①②④⑥⑧一般三角形一般三角形5 4 5 9 ①⑨不能构成三角形不能构成三角形条件覆盖:判定1T1_1 (a + b > c) T1_2(a + c > b) T1_3 (b + c > a)判定2T2_1 (a == b && b != c)T2_2 (a == c && c != b)T2_3 (b == c && a != b)判定3T3_1 (a == b) T3_2 (b == c)判定4T4_1 (a*a+b*b==c*c)T4_2 (a*a+c*c==b*b)T4_3 (c*c+b*b==a*a)编号 a b c 覆盖对象期望输出实际结果6 4 4 5 T1_1,T1_2, T1_3,T2_1, F2_2, F2_3等腰三角形等腰三角形7 4 5 4 T1_1,T1_2, T1_3,F2_1, T2_2, F2_3等腰三角形等腰三角形8 4 5 5 T1_1,T1_2, T1_3,F2_1, F2_2, T2_3等腰三角形等腰三角形9 4 4 4 T1_1,T1_2, T1_3,F2_1,F2_2,F2_3,T3_1,T3_2等边三角形等边三角形10 3 4 5 T1_1,T1_2, T1_3,F2_1,F2_2,F2_3,F3_1,F3_2,T4_1, F4_1, F4_1直角三角形直角三角形11 3 5 4 T1_1,T1_2, T1_3,F2_1,F2_2,F2_3,F3_1,F3_2,T4_1, F4_2, F4_3直角三角形直角三角形12 5 3 4 T1_1,T1_2, T1_3,F2_1,F2_2,F2_3,F3_1,F3_2,F4_1, T4_2, F4_3直角三角形直角三角形13 4 5 6 T1_1,T1_2, T1_3,F2_1,F2_2,F2_3 ,F3_1,F3_2,F4_1, F4_2,F4_3一般三角形一般三角形14 3 4 7 F1_1,T1_2, T1_3 不能构成三角形不能构成三角形15 3 7 4 T1_1,F1_2, T1_3 不能构成三角形不能构成三角形16 7 3 4 T1_1,T1_2, F1_3 不能构成三角形不能构成三角形2.4黑盒测试边界值分析:每条边的取值范围[0,100]编号 a b c 期望输出实际结果1 0 50 50 无效输入无效输入2 1 50 50 等腰三角形等腰三角形3 100 50 50 等腰三角形等腰三角形4 101 50 50 无效输入无效输入5 50 0 50 无效输入无效输入6 50 1 50 等腰三角形等腰三角形7 50 100 50 等腰三角形等腰三角形8 50 101 50 无效输入无效输入9 50 50 0 无效输入无效输入10 50 50 1 等腰三角形等腰三角形11 50 50 100 等腰三角形等腰三角形12 -1 50 101 无效输入无效输入13 50 50 50 等边三角形等边三角形等价类划分:输入条件有效等价类编号无效等价类编号是否构成三角形a>=1&&a<=100 1a<1 7b<1 8 b>=1&&b<=100 2c<1 9a>100 10 c>=1&&c<=100 3c>100 11c>100 12a+b>c 4 a+b<=c 13 a+c>b 5 a+c<=b 14 b+c>a 6 b+c<=a 15是否等腰三角形a==b && b!=c 16a!=b&&b!=c 19 a==c && c!=b 17b==c && a!=b 18是否等边三角形a==b && a==c 20a!=b 21b!=c 22a!=c 23是否直角三角形a*a+b*b==c*c 24 a*a+b*b!=c*c &&a*a+c*c!=b*b &&c*c+b*b!=a*a27 a*a+c*c==b*b 25c*c+b*b==a*a 26编号 a b c 覆盖等价类预期输出1 4 5 6 1,2,3,4,5,6 一般三角形2 -4 5 6 7 无效输入3 4 -5 6 8 无效输入4 45 -6 9 无效输入5 101 56 10 无效输入6 4 101 6 11 无效输入7 4 5 101 12 无效输入8 4 5 9 13 不能构成三角形9 4 13 9 14 不能构成三角形10 14 5 9 15 不能构成三角形11 4 4 6 1,2,3,4,5,6,16 等腰三角形12 4 6 4 1,2,3,4,5,6,17 等腰三角形13 4 6 6 1,2,3,4,5,6,18 等腰三角形14 4 5 6 1,2,3,4,5,6,19 一般三角形15 4 4 4 1,2,3,4,5,6,20 等边三角形16 4 5 6 1,2,3,4,5,6,21 一般三角形17 4 5 6 1,2,3,4,5,6,22 一般三角形18 4 5 6 1,2,3,4,5,6,23 一般三角形19 3 4 5 1,2,3,4,5,6,24 直角三角形20 3 5 4 1,2,3,4,5,6,25 直角三角形21 5 3 4 1,2,3,4,5,6,26 直角三角形22 4 5 6 1,2,3,4,5,6,27 一般三角形2.5测试环境与配置操作系统:windows 8.1Cpu:Intel(R) Core(TM)i7_4700HQ内存:8G3、测试结论与总结测试执行只是针对部分用户进行测试,尚有未考虑充分之处。

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

实验二测试报告
一、核心程序代码
/** 判断三角形的类 */
public class TriangleTestMethod {
/** 判断三角形的种类。

参数a, b, c分别为三角形的三边,
* 返回的参数值为0,表示非三角形;
* 为1,表示普通三角形;
* 为2,表示等腰三角形;
* 为3,表示等边三角形。

*/
public static int comfirm(int a, int b, int c) {
if((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;
}
}
}
二、程序流程图

N
a +
b >
c && b + c
> a && a + c > b
Y

Y
a ==
b && b ==c
N

a ==
b || b ==
c ||
a == c
N Y
③⑥⑦⑤
Return 3 Return 1 Return 2 Return 0
Exit
三、测试用例
1.语句覆盖测试用例:
输入期望输出覆盖对象测试结果
Case1 Case2 Case3 Case4 a=1, b=2, c=3
a=3, b=4, c=5
1
2
3
①,⑤0
1
2
3
①,②,④,⑥
①,②,④,⑦
①,②,③
a=3, b=3, c=4
a=3, b=4, c=5
2.判定覆盖测试用例
输入期望输出覆盖对象测试结果
Case11 Case12 Case13 Case14 a=1, b=2, c=3
a=3, b=4, c=5
a=3, b=3, c=4
a=3, b=4, c=5
1
2
3
①,⑤0
1
2
3
①,②,④,⑥
①,②,④,⑦
①,②,③
3.条件覆盖测试用例
输入期望输出覆盖对象测试结果
Case5 Case6 Case7 Case8 a=1, b=6, c=7
a=7, b=1, c=6
a=1, b=7, c=6
a=3, b=3, c=4
2
F1, T2, T3 0
2
T1, F2, T3
T1, T2, F3
T1, T2, T3, T4,
F5, T6, F7, F8
T1, T2, T3, F4,
F5, F6, F7, T8
T1, T2, T3, F4,
T5, F6, T7, F8
Case9 a=3, b=4, c=3
a=4, b=3, c=3 2
2
2
2
Case10
4.条件-判定覆盖测试用例
输入期望输出覆盖对象测试结果
Case15 Case16 Case17 Case18 a=1, b=6, c=7 0 F1, T2, T3 0
(①,②)
a=7, b=1, c=6
a=1, b=7, c=6
a=3, b=3, c=4
2
T1, F2, T3 0
2
(①,②))
T1, T2, F3
(①,②)
T1, T2, T3, T4,
F5, T6, F7, F8
(①,②,③,⑦)
F T1, T2, T3, 4,
F5, F6, F7, T8
(①,②,③,⑦)
T1, T2, T3, F4,
T5, F6, T7, F8
(①,②,③,⑦)
F1, T2, T3
Case19 Case20 a=3, b=4, c=3
a=4, b=3, c=3
2
2
2
2
Case21 Case22 a=3, b=3, c=3
a=3, b=4, c=5
3
1
3
1
(①,②,③)
T1, F2, T3
(①,②,④,⑥)
5.条件组合覆盖测试用例
输入期望输出覆盖对象
F1, T2, T3
T1, F2, T3
T1, T2, F2
T1, T2, T3,
T4, T5 测试结果
Case23 Case24 Case25 Case26 a=1, b=6, c=7 0
3
3 a=7, b=6, c=1
a=1, b=7, c=6
a=3, b=3, c=3
Case27 a=3, b=3, c=4 2 T1, T2, T3,
T4, F5,
2。

相关文档
最新文档