白盒测试实验报告_三角形(2)
三角形测试实验报告
课程名称软件质量保证与测试实验项目名称三角型问题白盒测试实验时间(日期及节次)2009年5月11 日1-2节2009年5月18 日1-2节专业软件工程学生所在学院软件学院年级学号姓名指导教师金虎实验室名称软件学院第三实验室实验成绩预习情况操作技术实验报告附加:综合创新能力实验综合成绩教师签字测试计划(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月.贺平. 电子工业出版社序号序号 功能功能输入质量指标输入质量指标 输出质量指标输出质量指标 1 判断是否有非整数判断是否有非整数 输入a,b,c 有非整数有非整数 无乱码,输出正确无乱码,输出正确 2 判断是否是三个数判断是否是三个数 输入非三个数输入非三个数 无乱码,输出正确无乱码,输出正确 3 判断是否有数为0 输入a,b,c 为0的数的数无乱码,输出正确无乱码,输出正确 4 判断是否有负数判断是否有负数 输入a,b,c 为负的数为负的数无乱码,输出正确无乱码,输出正确5 判断是否构成三角形判断是否构成三角形输入a,b,c 正整数三边正整数三边 无乱码,输出正确无乱码,输出正确6 判断是否是一般三角形判断是否是一般三角形 输入a,b,c 正整数三边正整数三边 无乱码,输出正确无乱码,输出正确 7 判断是否是等边三角形判断是否是等边三角形 输入a,b,c 正整数三边正整数三边 无乱码,输出正确无乱码,输出正确 8 判断是否是等腰三角形判断是否是等腰三角形 输入a,b,c 正整数三边正整数三边 无乱码,输出正确无乱码,输出正确日期日期 安排安排2010-5-11 熟悉程序代码熟悉程序代码2010-5-18 画控制流图,准备测试数据并测试画控制流图,准备测试数据并测试写测试计划及测试报告写测试计划及测试报告2.3.3测试资料1.《软件测试教程》.宫云战.机械工业出版社 2008年9月.宫云战. 机械工业出版社2.《软件测试技术》.曲朝阳.中国水利水电出版社 2006年8月.曲朝阳. 中国水利水电出版社3.《软件测试教程》.贺平.电子工业出版社 2005年6月.贺平. 电子工业出版社2.3.4测试培训1.《软件测试教程》白盒测试第三章 白盒测试机械工业出版社 2008年9月第三章宫云战 机械工业出版社《软件测试教程》 宫云战2.金虎老师第三张白盒测试PPT课件课件3测试设计说明3.1测试此项测试采用白盒测试方法来测试该功能。
最新软件测试-判断三角形形状路径白盒测试
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分。
三角形问题——白盒测试
输出:{A=2,B=0,X=7}
P1(a-c-e)
输入:{A=0,B=1,X=1}
输出:{A=0,B=1,X=1}
P4(a-b-d)
条件覆盖
输入:{A=2,B=1,X=0}
输出:{A=2,B=1,X=5}
P3(a-b-e)
输入:{A=0,B=0,X=2}
输出:{A=0,B=0,X=7}
abd测试用例输入a2b0x4输出a2b0x7输入a0b1x1输出a0b1x1输入a2b1x0输出a2b1x5输入a0b0x2输出a0b0x7输入a2b0x4输出a2b0x7输入a0b1x0输出a0b1x0输入a2b0x4输出a2b0x7输入a3b0x0输出a3b0x0输入a0b0x2执行路径p1ace判定覆盖p4abd条件覆盖p3abep3abe判定条件覆盖p1acep4abd路径覆盖p1acep2acdp3abe输出a0b0x7输入a0b1x0输出a0b1x0p4abd
白盒测试实验(目标一)
一、下图为(图1)某程序段的流程图,请用判定覆盖、条件覆盖、判定/条件覆盖、路径覆盖设计足够的测试用例填写到下面的表格中。
该模块有4条不同的路径:
(1)P1: (a-c-e)
(2)P2: (a-c-d)
(3)P3: (a-b-e)
(4)P4: (a-b-d)
测试用例
执行路径
判定覆盖
P3(a-b-e)
判定/条件覆盖
输入:{A=2,B=0,X=4}
输出:{A=2,B=0,X=7}
P1(a-c-e)
输入:{A=0,B=1,X=0}
输出:{A=0,B=1,X=0}
P4(a-b-d)
路径覆盖
输入:{A=2,B=0,X=4}
三角形判断-白盒测试
关于三角形问题的白盒测试实验报告一、实验目的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);}。
三角形单元测试实验报告
三⾓形单元测试实验报告单元测试实验报告⼀、实验内容1、系统地学习和理解单元测试的基本概念、原理,掌握单元测试的基本技术和⽅法;2、对三⾓形问题采⽤开发测试驱动程序进⾏单元测试,并给出测试结果;3、完成实验并认真填写实验报告。
⼆、问题描述输⼊三个整数a、b、c,分别作为三⾓形的三条边,通过程序判断这三条边是否能构成三⾓形?如果能构成三⾓形,则判断三⾓形的类型(等边三⾓形、等腰三⾓形、⼀般三⾓形)。
要求输⼊三个整数a、b、c,必须满⾜以下条件:1≤a≤200;1≤b≤200;1≤c≤200。
请采⽤静态⽩盒测试⽅法和动态⽩盒测试⽅法设计测试⽤例。
请采⽤驱动程序开发进⾏单元测试。
三、被测程序原代码#includeint main(){int a;int b;int c;printf("请输三⾓形边长:");scanf("%d", &a);printf("\n");printf("请输三⾓形边长:");scanf("%d", &b);printf("\n");printf("请输三⾓形边长:");scanf("%d", &c);printf("\n");if (a + b <= c || a + c <= b || b + c <= a)printf("不是三⾓形!\n");else{if (a == c || a == b || b == c) {if (a == c && a == b){printf("等边三⾓形!\n"); }printf("等腰三⾓形!\n"); }elseprintf("三⾓形!\n");}return 0;}四、测试⽤例设计⿊盒测试的边界值加等价类五、驱动程序源代码#include#includeint Triangle(int a,int b,int c){if (a + b <= c || a + c <= b || b + c <= a) return 0;else{if (a == c || a == b || b == c)if (a == c && a == b){return 3;}elsereturn 2;}elsereturn 1;}}void testTriangle(){printf("这是Triangle的测试\n");int PassNum=0;//测试通过的数量int FailNum=0;//测试没有通过的数量FILE* pFpFrom=NULL;//数据⽂件的指针,储存测试⽤例的基本信息FILE* pFpTo=NULL;//记录测试⽤例执⾏结果的⽂件的指针char* DataFileName="Data.txt";//打开测试⽂件,准备读取测试⽤例pFpFrom=fopen(DataFileName,"r");if(!pFpFrom){printf("读取数据失败,返回\n");return;}char* DataFileTestResultName="testTriangle.txt";//打开数据⽂件pFpTo=fopen(DataFileTestResultName,"w+t");if(!pFpTo){printf("打开⽂件失败,返回\n");return;}fprintf(pFpTo,"-------对函数Triangle的单元测试结果------\n");int TCID=0;int a,b,c;int expectedOutcome;int actualOutcome;//边的输⼊,预期输出,实际输出char* ex;char* ac;printf("对函数展开单元测试\n");while(!feof(pFpFrom)){//不断读取测试⽤例Idfscanf(pFpFrom,"%d",&TCID);//读⼊测试⽤例的IDfscanf(pFpFrom,"%d",&a);//读⼊测试⽤例的边afscanf(pFpFrom,"%d",&b);//读⼊测试⽤例的边bfscanf(pFpFrom,"%d",&c);//读⼊测试⽤例的边cfscanf(pFpFrom,"%d",&expectedOutcome);//读⼊测试⽤例的预期输出actualOutcome=Triangle(a,b,c);//执⾏测试⽤例if(expectedOutcome==3){ex="等边三⾓形";}else if(expectedOutcome==2){ex="等腰三⾓形";}else if(expectedOutcome==1){ex="⼀般三⾓形";}else if(expectedOutcome==0){ex="不是三⾓形";}if(actualOutcome==3){ac="等边三⾓形";}else if(actualOutcome==2){ac="等腰三⾓形";}else if(actualOutcome==1){ac="⼀般三⾓形";}else if(actualOutcome==0){ac="不是三⾓形";}printf("测试⽤例%d:边a:%d,边b:%d,边c:%d;预期输出%s,实际输出%s",TCID,a,b,c,ex,ac);if(actualOutcome==expectedOutcome){PassNum++;printf("通过\n");fprintf(pFpTo,"测试⽤例%d:Pass\n",TCID);}else{FailNum++;printf("失败\n");fprintf(pFpTo,"测试⽤例%d:Fail\n",TCID);}}fclose(pFpFrom);//关闭测试⽤例数据⽂件printf("共执⾏%d个测试⽤例,其中%d个通过,%d个失败\n",PassNum+FailNum,PassNum,FailNum);fprintf(pFpTo,"共执⾏%d个测试⽤例,其中%d个通过,%d 个失败\n",PassNum+FailNum,PassNum,FailNum); fclose(pFpTo);}void main(){testTriangle();}(注:测试数据可以是以⽂本的⽅式也可以是数据库的⽅式,⾄少执⾏20条测试⽤例)六、驱动程序测试结果(注:测试结果可以是以⽂本的⽅式输出,也可以是控制台输出。
软件测试实验报告白盒测试
软件测试实验报告白盒测试本页仅作为文档页封面,使用时可以删除
This document is for reference only-rar21year.March
软件测试与质量课程实验报告
实验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 10-
2array[8,9,10,11] key 25--10-11-4-12
3array[8,9,10,11] key 8-9-4-5-6-7
果
果
果
7
-1
5
缺席:扣10分实验报告雷同:扣10分实验结果填写不完整:扣1 – 10
分
其他情况:扣分<=5分总扣分不能大于10分
11。
白盒测试实验报告_三角形
白盒测试实验报告_三角形实验目的:本实验旨在通过白盒测试的方式对一个三角形程序进行测试,并通过测试结果来验证程序的正确性。
实验原理:三角形是由三条边组成的图形,根据三个边的长度的不同,可以分为三种形态的三角形:等边三角形、等腰三角形和普通三角形。
在这个实验中,我们需要测试一个程序,该程序用于判断给定的三条边是否能够构成一个三角形,并能够进一步判断构成的三角形是何种类型。
实验步骤: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)
白盒测试实验报告——三角形
一、实验目的
(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)基本路径覆盖;
附录:测试用例书写格式(语句覆盖为例)。
白盒(三角形)
实验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、设计分别满足语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖和条件组合覆盖的测试用例。
三角形程序白盒测试
实验报告黑龙江大学教务处测试计划(GB8567——88)1引言1.1编写目的掌握软件测试技术中白盒测试方法;掌握如何进行单元测试。
1.2背景说明:a.Window s XP,VC++;b.阅读客户的需求说明文档;1.3定义a:三角型的第一条边b:三角型的第二条边c:三角型的第三条边普通三角形:三边都不相等的三角形等腰三角形:有任意两边相等的三角形等边三角形:三边相等的三角形1.4参考资料1.《软件测试教程》.宫云战.机械工业出版社2008年9月2.《软件测试技术》.曲朝阳.中国水利水电出版社2006年8月2计划2.1软件说明输入三个整数 a , b , c 分别作为三边的边长构成三角形.通过程序判定所构成的三角形的类型,当此三角形为一般三角形,等腰三角形及等边三角形时,分别作计算:(1)整数(2)三个数(3)非零数(4)正数(5)两边之和大于第三边(6)等腰(7)等边如果 a , b , c 满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一:如果不满足条件(5),则程序输出为" 非三角形" .如果三条边相等即满足条件(7),则程序输出为" 等边三角形" .如果只有两条边相等,即满足条件(6),则程序输出为" 等腰三角形" .如果三条边都不相等,则程序输出为"一般三角形"2.2测试内容测试内容:1.import java.util.Scanne r;2.public classabc {3. public static void main(String args[]) {4. String str1 = "";5. String str2 = "";6. String str3 = "";7. int a, b, c;8. Scanne r input= new Scanne r(System.in);9. System.out.printf("请输入三角形的三条边,以空格换行:\n");10 str1 = input.next();11. str2 = input.next();12 str3 = input.next();13. if (str1.matche s("\\d+") && str2.matche s("\\d+")14 && str3.matche s("\\d+")) {15 a = Intege r.parseI nt(str1);16 b = Intege r.parseI nt(str2);17 c = Intege r.parseI nt(str3);18 if (a + b > c && a + c > b && b + c > a) {19 if (a == b || a == c || b == c) {20 if (b == c && a == c)21 System.out.printf("等边三角形\n");22 else23 System.out.printf("等腰三角形\n");24 } else25 System.out.printf("一般三角形\n");26 } else {27 System.out.printf("不构成三角形\n");28 }29 } else {30 System.out.print("请输入整型数字");31 }32 }33 }2.3测试12.3.1进度安排预计3天测试完毕;2.3.2条件Window s XP,VC++;2.3.3测试资料a.《软件测试教程》.宫云战.机械工业出版社2008年9月b.《软件测试技术》.曲朝阳.中国水利水电出版社2006年8月2.3.4测试培训《软件测试》第4章白盒测试及其用例的设计3测试设计说明3.1测试1此项测试采用白盒测试方法来测试该功能3.1.1控制程序流程图如下:数据流图如下:环域复杂度:5(4个判定条件)路径1:13,18,19,20,21,33;路径2:13,18,19,20,23,33;路径3:13,18,19,25,33;路径4:13,18,27,33;路径5:13,30,333.1.2输入测试用例:编号输入的a,b,c值预期输出1 a=3,b=3,c=3; 等边三角形2 a=3,b=3,c=4; 等腰三角形3 a=3,b=4,c=5; 一般三角形4 a=1,b=2,c=3 不构成三角形5 a=asb,b=2,b=4 类型不是数字3.1.3过程此程序经过编译链接后无错误提示,即可运行,手动输入上面各组数据,观察结果4评价准则4.1范围此次测试利用白盒测试中的路径测试方法建立了测试用例,虽然覆盖了所有的独立路径,但是没有覆盖所有的语句。
软件测试案例(三角形白盒测试)讲解学习
软件测试案例(三角形白盒测试)一、核心程序代码/** 判断三角形的类*/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;}}}1②二、程序流程图①Na +b >c && b +c > a && a + c > bYYa ==b && b ==cN④a ==b || b ==c ||a == cNY③⑥⑦⑤R et ur n 3Ret ur n 1R et ur n 2Ret ur n 0E xit三、测试用例1.语句覆盖测试用例:输入期望输出覆盖对象测试结果Case1a=1, b=2, c=30①, ⑤0Case2a=3, b=4, c=51①, ②, ④, ⑥1Case3a=3, b=3, c=42①, ②, ④, ⑦2Case4a=3, b=4, c=53①, ②, ③32.判定覆盖测试用例输入期望输出覆盖对象测试结果Case11a=1, b=2, c=30①, ⑤0Case12a=3, b=4, c=51①, ②, ④, ⑥1Case13a=3, b=3, c=42①, ②, ④, ⑦2Case14a=3, b=4, c=53①, ②, ③33.条件覆盖测试用例输入期望输出覆盖对象测试结果Case5a=1, b=6, c=70F1, T2, T30Case6a=7, b=1, c=60T1, F2, T30Case7a=1, b=7, c=60T1, T2, F30Case8a=3, b=3, c=42T1, T2, T3,T4, F5, T6, F7,F82Case9a=3, b=4, c=32T1, T2, T3,F4, F5, F6, F7,T82Case10a=4, b=3, c=32T1, T2, T3,F4, T5, F6, T7,F824.条件-判定覆盖测试用例输入期望输出覆盖对象测试结果Case15a=1, b=6, c=70F1, T2,T3 (①,②)0Case16a=7, b=1, c=60T1, F2,T3 (①,②))0Case17a=1, b=7, c=60T1, T2,F3 (①,②)0Case18a=3, b=3, c=42T1, T2, T3,T4, F5, T6, F7,F8(①, ②, ③, ⑦)2Case19a=3, b=4, c=32 F T1, T2, T3,4, F5, F6, F7, T8(①, ②, ③, ⑦)2Case20a=4, b=3, c=32T1, T2, T3,F4, T5, F6, T7,F8(①, ②, ③, ⑦)2Case21a=3, b=3, c=33F1, T2, T3(①, ②, ③)3Case22a=3, b=4, c=51T1, F2, T3(①, ②, ④, ⑥)15.条件组合覆盖测试用例输入期望输出覆盖对象测试结果Case23a=1, b=6, c=70F1, T2, T30Case24a=7, b=6, c=10T1, F2, T30Case25a=1, b=7, c=60T1, T2, F20Case26a=3, b=3, c=33T1, T2,T3, T4, T53Case27a=3, b=3, c=42T1, T2,T3, T4,F5,2F6, F7, T8Case28a=4, b=3, c=32T1, T2,T3, F4,T5,F6, T7, F82Case29a=3, b=4, c=51T1, T2,T3, F4,F5,F6, F7, F81Case30a=3, b=4, c=32T1, T2,T3, F4,F5,F6, F7, T82备注其他条件组合,无法到达结束四、程序控制流图a +b >c Ab +c > a Ba + c > ba ==b G b == cD R et ur n 0CEF b == cHR et ur n 3IR et ur n2R et ur n 2 H JR et ur n1a == c K基本路径覆盖测试用例输入期望输出覆盖对象测试结果Case31a=1, b=6, c=70A->D0Case32a=7, b=6, c=10A->B->D0Case33a=1, b=7, c=60A->B->C->D0Case34a=3, b=3, c=33A->B->C->E->G-> H3Case35a=3, b=3, c=42A->B->C->E->G-> I2Case36a=4, b=3, c=32A->B->C->E->F-> H2Case37a=3, b=4, c=32A->B->C->E->F->J->H 2Case38a=3, b=4, c=51A->B->C->E->F->J->K1。
白盒测试基本路径法实训报告三角形
白盒测试基本路径法实训报告三角形一、实验目的通过使用白盒测试基本路径法,对三角形程序进行测试,掌握基本路径法的测试方法和技巧,提高软件测试的能力。
二、实验环境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. 非三角形测试:我们使用了两个边长之和小于第三边长的测试用例,程序成功判断出了非三角形。
根据实验结果,我们可以得出结论:三角形白盒测试方法在判断三角形类型时具有较高的准确性和可靠性。
四、讨论与分析通过对实验结果的分析,我们发现三角形白盒测试方法在判断三角形类型时具有较高的准确性和可靠性。
这是因为该方法能够深入了解程序的内部逻辑,通过对代码的覆盖测试,可以有效地检测出不同类型的三角形。
然而,我们也发现该方法存在一些局限性。
首先,该方法依赖于对程序内部结构和逻辑的了解,对于复杂的程序可能需要更多的时间和精力进行分析。
经典三角形白盒黑盒测试加测试工具
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测试完后,没有数据输入了,所以该测试是通过的.。
三角形白盒测试技术实验报告
白盒测试技术实验报告一、实验内容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 !!!欢迎您的下载,资料仅供参考!。
白盒测试结果
覆盖路径
期望输出
实际输出
结论
1
-1,-2,-2
出错
出错
正确
2
1,2,3
出错
出错
正确
3
1,1,1
等边三角形
等边三角形
正确
4
1,2,2
等腰三角形
等腰三角形
正确
5
2,3,4
一般三角形
一般三角形
正确
软件工程导论实验三测试用例设计(白盒)
一、一元二次方程
1.流程图
1
F
2 T16
T
F
3
T
9T
17
F14
4
T
10F5F T15
117
1213 8
6
2.白盒测试用例设计(可使用两种形式之一)
3.组
4.
测试数据a b c
覆盖路径
望期输出结果
1
1,2,0
1,2,3,4,5,6
两个实数根
2
0,1,1
1,2,3,14,15
一个实数根
3
1,0,-1
1,2,3,4,7,8
两个互为相反数的实数根
4
1,2,1
1,2,9,11,13
两个等实数根
5
1,2,-1
1,16,17
两个虚数根
6
0,0,2
1,2,8,10,12
出错
或者
测试用例编号
测试项目
输入
期望测试白盒用例设计(可使用两种形式之一)
组
测试数据
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
白盒测试实验报告——三角形
一、实验目的
(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)程序代码:
2.
3.
4
5
9
11.
(2)程序的流图:
(4)判定覆盖;
(5)条件覆盖:
(6)判定/条件覆盖;
(8)基本路径覆盖;
附录:测试用例书写格式(语句覆盖为例)。