实验二 黑盒测试

合集下载

黑盒测试经典例题(精选8篇)

黑盒测试经典例题(精选8篇)

黑盒测试经典例题(精选8篇)【篇一】黑盒测试经典例题实验一黑盒测试(一)实验目的1.掌握用边界值方法设计测试用例和执行测试的过程;2.掌握用等价划分方法设计测试用例和执行测试的过程;3.掌握用决策表方法设计测试用例和执行测试的过程。

(二)实验内容测试“Ne某tDate”函数。

Ne某tDate返回输入日期后面的那个日期。

变量年、月、日都具有整数值,且满足如下条件:C1:1912≤年份≤2050C2:1≤月份≤12C3:1≤日期≤31(三)实验步骤用熟悉的语言(如C语言)编写实现该函数的功能,并用如下方法设计测试用例,进行黑盒测试。

参考源代码:#includeintne某tDate(intyear,intmonth,intday);voidmain(){/intyear,month,day;ne某tDate(2051,12,30);}intne某tDate(intyear,intmonth,intday) {/某如果还有明天,返回1;如果输入不合法,返回-1;某/witch(month){cae1:cae3:cae5:cae7:cae8:cae10:if(day==31){day=1;month=month+1;}eleday=day+1;break;cae4:cae6:cae9:cae11: if(day==30){day=1;month=month+1;}eleday=day+1;break;cae12:if(day==31){day=1;month=1;year=year+1;if(year==2022)printf("2022iover");}eleif(day=1912&&year12||month31||day【篇二】黑盒测试经典例题常用黑盒测试的方法黑盒测试(Black-bo某Teting,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。

利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。

黑盒测试是根据什么设计测试

黑盒测试是根据什么设计测试

黑盒测试是根据功能和需求设计测试
黑盒测试是软件测试中的一种方法,主要是针对软件的功能和需求进行测试,而不关心内部的代码结构。

这种测试方法类似于用户的角度,通过输入数据和观察输出结果来验证软件的正确性。

在进行黑盒测试时,测试人员不会知道软件内部的具体实现细节,而是根据软件的功能和需求来设计测试用例。

通过这种方式,可以确保测试覆盖到了用户可能会遇到的各种情况,从而提高软件的质量和稳定性。

为了进行有效的黑盒测试,测试人员需要深入了解软件的功能和需求文档,以确保测试用例能够全面覆盖各种情况。

同时,测试人员还需要具备良好的分析能力和逻辑思维能力,以确保设计的测试用例能够有效地发现潜在的软件缺陷。

在实际的软件开发过程中,黑盒测试通常会与白盒测试结合起来,以确保测试的全面性和有效性。

通过黑盒测试和白盒测试的结合,可以更好地发现软件中的问题并及时修复,从而提高软件的质量。

总的来说,黑盒测试是一种根据软件功能和需求设计测试用例的方法,通过这种方法可以有效地验证软件的正确性和稳定性,是软件测试中非常重要的一部分。

软件测试实验指导

软件测试实验指导

实验二:黑盒测试时间:2011-3-6【实验目的】1)掌握边界值分析,等价类技术。

2)掌握开发一个决策表和相应的测试用例的方法。

【实验要求】(1)认真阅读和掌握和本实验相关的教材内容。

(2)分析问题的要求,开发相关程序。

(3)用等价分类法测试党员出生年月的输入设计是否符合要求和相应的测试用例。

(4)开发一个决策表和相应的测试用例。

【实验内容】1、试用等价分类法测试同学出生年月的输入设计是否符合要求,假设出生年月格式为yyyymmdd。

解:输入数据无效等价类有效等价类出生年月日①8位数字字符②有非数字字符③少于8个数字符④多于8个数字符对应数值⑤在19090101-19900101之间⑥<19090101⑦>19900101月份对应数值⑧在1-12之间⑨等于"00 "⑩>12日期对应值○111,3,5,7,8,10,12月在1-31之间○124,6,9,11月在1-30之间○13闰年2月在1-29之间○14非闰年2月在1-28之间○15等于"00 "○16>31○172,4,6,9,11月等于"31 " ○182月等于"30 "○19非闰年2月等于"29"请写出你用的开发语言,你开发的程序,测试过程和结果。

2.试为三角形问题中的直角三角形开发一个决策表和相应的测试用例。

注意,会有等腰直角三角形。

解:判断构成的是否为直角三角形的问题的决策表设计如下:c1:a<b+c? F T T T T T T T T T Tc2:b<a+c? - F T T T T T T T T Tc3:c<a+b? - - F T T T T T T T Tc4:a2+b2=c2? - - - T T T T F F F Fc5: a2+c2=b2? - - - T T F F T T F Fc6: b2+c2=a2? - - - T F T F T F T Fa1:非三角形X X Xa2:直角三角形X X Xa3:非直角三角形X a4:不可能X X X X根据该决策表设计测试用例如下:用例ID a b c 预期输出DT1 4 1 2 非三角形DT2 1 4 2 非三角形DT3 1 2 4 非三角形DT4 ? ? ? 不可能DT5 ? ? ? 不可能DT6 ? ? ? 不可能DT7 3 4 5 直角三角形DT8 ? ? ? 不可能DT9 3 5 4 直角三角形DT10 5 3 4 直角三角形DT11 2 3 4 非直角三角形开发语言:C语言程序源代码:#include<stdio.h>int panduan(int a,int b,int c){if(a<(b+c) && b<(a+c) && c<(a+b)){if(a*a+b*b==c*c && a*a+c*c==b*b && b*b+c*c==a*a)return 3;else if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a)return 1;else return 0;}elsereturn 2;}main(){int b1,b2,b3;int zhijiao;int i;scanf("%d%d%d",&b1,&b2,&b3);zhijiao=panduan(b1,b2,b3);if(zhijiao==1)printf("直角三角形\n");if(zhijiao==2)printf("非三角形\n");if(zhijiao==0)printf("非直角三角形\n");if(zhijiao==3)printf("不可能\n");测试过程和结果;通过测试}。

黑盒测试是什么输入测试的内容

黑盒测试是什么输入测试的内容

黑盒测试是什么
黑盒测试是一种软件测试方法,它不考虑程序内部的逻辑结构,而是关注系统
的功能和用户需求。

在黑盒测试中,测试者只关心输入输出以及系统对输入的反应,而不需要了解程序的内部工作原理。

测试对象
黑盒测试的测试对象是整个软件系统或模块,而不是单个函数或代码片段。


种测试方法关注软件的外部行为,而不关心内部实现细节。

测试目的
黑盒测试的主要目的是验证软件系统是否符合规格说明书中的要求,是否能够
正确地处理各种输入。

通过黑盒测试,可以发现系统设计或实现上的缺陷,确保软件能够按照预期工作。

测试技术
在黑盒测试中,常用的测试技术包括等价类划分、边界值分析、因果图法等。

这些技术通过设计测试用例,覆盖各种输入情况,以确保软件在不同情况下的正确性和稳定性。

测试过程
黑盒测试过程包括测试计划、测试设计、测试执行、测试评估等阶段。

在测试
设计阶段,测试人员根据需求规格和功能规格书设计测试用例;在测试执行阶段,执行测试用例并记录测试结果;最后,在测试评估阶段评估测试覆盖率、发现的问题和测试效果。

优缺点
黑盒测试的优点是可以独立于程序的内部实现进行测试,更贴近用户需求,同
时可以发现系统的功能缺陷。

然而,黑盒测试无法覆盖程序的所有路径,可能存在遗漏覆盖的情况。

结论
总的来说,黑盒测试是一种重要的软件测试方法,通过验证系统的功能和用户
需求,确保软件质量和可靠性。

在软件测试过程中,黑盒测试应该与其他测试方法结合使用,以达到更全面的测试覆盖率和效果。

实验二 黑盒测试(判定表法)

实验二 黑盒测试(判定表法)

广西师范大学计信学院《软件测试技术》课程实验实验报告题目:黑盒测试法——判定表法班级:10计本1班学号:201012301006姓名:焦德伟完成日期:2012/10/17实验二黑盒测试法——判定表法实验目的:1.掌握因果图、判定表的方法2.掌握按判定表设计测试用例实验时间:2学时实验内容:1、题目一:隔一天日期问题功能描述:输入年份、月、日;输出:输入日期在日历上的隔一天日期。

如输入1912年12月15日,应输出1912年12月17日。

要求:(1) 读源码并分析程序,给出问题规定的可能采取的操作(即列出所有的动作桩)。

所有的动作桩:(1)、年份超过界限,请重新输入a1(2)、月份超过界限,请重新输入a2(3)、日期超过界限,请重新输入a3(4)、本月为二月,请重新输入日期a4(5)、month+1 and day=1 a5(6)、month+1 and day=2 a6(7)、day=day+2 a7(8)、year++ and month=1and day=1 a8(9)、year++ and month=1and day=2 a9 (9)、输入非法a10 (2) 画出简化后的决策表,设计测试用例。

实验的决策表:条件桩:年份越界:Y1月份越界M1日期越界D1闰年:Y2平年:Y3月份二月:M2月份为十二月:M3月份为30天每月:M4月份为31天非十二月:M5日期小于27:D7日期为27:D2日期为28:D3日期为29:D4日期为30:D5日期为31:D6实验测试用例:测试用例:(3)执行测试用例,进行测试记录和缺陷统计。

实验测试记录的部分效果:缺陷报告书:缺陷统计:总过19组数据,其中10组出现错误!。

黑盒测试实验报告

黑盒测试实验报告

课程名称:软件测试实验题目:黑盒测试报告专业:教育技术学班级:教技142学生姓名:安卓指导老师:郭小雪所属学期:2017-2018学年第二学期一、引言1.1目的测试报告为三角形问题和找零钱最佳组合问题项目的黑盒测试报告,目的在于总结测试阶段的测试以及分析测试结果。

1.2实验环境在Windows 2000(SP2) 或Windows XP 操作系统上,使用C++语言,VC6.0工具作为开发环境(IDE)1.3实验要求1.根据给出的程序分别使用等价类划分法、边界值分析法、判定表方法、因果图法、正交试验法、功能图法、错误推测法来设计相应的测试用例。

2.输入数据进行测试,填写测试用例。

二、实验原理黑盒测试原理:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。

软件的黑盒测试意味着测试要在软件的接口处进行。

这种方法是把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。

因此黑盒测试又叫功能测试。

从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。

实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。

这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。

黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。

具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。

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

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

该方法是一种重要的,常用的黑盒测试用例设计方法。

黑盒测试——精选推荐

黑盒测试——精选推荐

⿊盒测试⿊盒测试⼀第⼀课1. 实验⽬的理解墨盒测试的基本⽅法,掌握等价类划分法、边界值分析等测试⽤例的设计⽅法。

2.实验内容(1) 等价类划分⽅法1) 三⾓形问题等价类划分设计测试⽤例2) NextDate问题,对它的输⼊进⾏分析,划分等价类,然后根据等价类设计测试⽤例。

(2) 边界值和因果图1)NextDate问题⽤边界值分析法设计测试⽤例分析NextDate问题中的逻辑,⽤边界值分析法的思想设计测试⽤例。

2) 有⼀个处理单价为5⾓钱的饮料的⾃动售货机软件测试⽤例的设计。

其规格说明如下:若投⼊5⾓钱或1元钱的硬币,押下[橙汁]或[啤酒]的按钮,则相应的饮料酒送出来。

若售货机没有零钱找,则⼀个显⽰[零钱找完]的红灯亮,这时再投⼊1元硬币并押下按钮后,饮料不送出来⽽且1元硬币也退出来;若有零钱找,则显⽰[零钱找完]的红灯灭,在送出饮料的同时退还5⾓硬币。

⽤因果图法对⾃动售货机设计测试⽤例。

要求:(1) 1)必做(1) 2)与(2)1)2)选做其⼀3.实验准备(1)主流PC机⼀套,要求安装windows操作系统、Virtul Studio6.0、C++Test、java等⼯具;(1)理解等价类划分法、边界值分析法的思想,划分依据;(2)熟悉上述⽅法测试⽤例设计的理论4.实验步骤(1)三⾓形问题1) if (!(a+b<=c||a+c<=b||b+c<=a)&&(a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100)) {if (a==b && a==c)MessageBox("等边三⾓形");else if (a==b || a==c || b==c)MessageBox("等腰三⾓形");elseM essageBox("⼀般三⾓形");}else {if(a<1||a>100)MessageBox("a不在范围内,不满⾜条件1,不能构成三⾓形");else if(b<1||b>100)MessageBox("b不在范围内,不满⾜条件2,不能构成三⾓形"); else if(c<1||c>100)MessageBox("c不在范围内,不满⾜条件3,不能构成三⾓形"); else if(a>=b+c)MessageBox("不满⾜aelse if(b>=a+c)MessageBox("不满⾜belse if(c>=b+a)MessageBox("不满⾜c}M essageBox("判断结束!");}2) 实验的输⼊和输出样式3) 测试⽤例设计⽤等价类分析法设计测试⽤例,按照下列步骤进⾏:⑴分析题⽬中给出的条件和隐含的输⼊要求,输⼊条件如下:①正整数②三个数③构成⼀般三⾓形④构成等腰三⾓形⑤构成等边三⾓形⑥不能构成三⾓形⑵根据输⼊条件的要求划分等价类,列出等价类表并编号,如下表:⑶设计测试⽤例,覆盖上表中的等价类,如下表:注:提⽰1(输⼊不符合要求)提⽰2(请输⼊数据)(2)(2) (2) NextDate问题⽤边界值分析法设计测试⽤例1)对于NextDate问题,分析它的输⼊限制;NextDate是⼀个有三个变量(⽉份、⽇期和年)的函数。

黑盒测试实验二

黑盒测试实验二

软件测试基础与实践实验报告实验名称:黑盒测试实验二实验地点:机房实验日期:学生姓名:学生学号:一、实验目的(1)能根据待测软件的特点,选择合适的方法对软件进行黑盒测试(功能测试);(2)学习测试用例的书写。

实验1:随机测试VS 黑盒测试VS 白盒测试在游戏引擎开发中,检测物体碰撞是一项重要的基础功能。

为简单起见,我们这里只考虑二维平面空间的情况,并用RectManager 程序判断平面上任意两矩形的相交关系(A:不相交,B:相交:B1:相交为一个区域,B12:包含,B13:完全重合,B2:交点为1 个点,B3:交点为1 条线段),如果相交,则同时给出相交部分的面积。

我们假设二维平面为iphone4 屏幕(640*960 分辨率),且所有矩形的边都与坐标轴平行。

计算机图形学中,通常用左上角和右下角的坐标来表示一个矩形。

(1)请编写一简单程序,随机生成两个矩形的数据,请用这些随机数据对RectManager 进行测试。

提示:a) 使用随机函数生成大量测试用例(如10 万个随机测试用例);b) 注意随机测试用例产生的范围应比屏幕范围稍微大一点。

屏幕范围:x 取值范围[0-639],y 取值范围[0-959];c) 在测试用例生成程序中,同时调用RectManager 中的方法直接驱动测试自动执行;d) 对大量的随机测试进行统计,分析这些随机测试用例对两矩形相交的各种关系的覆盖情况(统计上的命中率);(2)请用黑盒测试方法,设计相应的测试用例来测试程序;提示:程序运行命令行:java -jar RectManager.jar(3)请分析RectManager 的实现源代码,利用基本路径测试方法,设计相应的测试用例来测试程序;只要求针对solve()方法进行测试。

(4)在上述实验的基础上分析三种测试方法发现缺陷的能力上有何差别。

(1)通过编写程序测试,代码如下:public class test{float area;//Recode areaint nFlag; //recode the relation of two rectanglepublic static void main(String[] args){int leftA,leftB,rightA,rightB,topA,topB,bottomA,bottomB;int[]result = {0,0,0,0,0,0,0,0};Random random = new Random();for(int i = 0;i < 100000;i++){leftA = Math.abs(random.nextInt())%640;leftB = Math.abs(random.nextInt())%640;rightA = Math.abs(random.nextInt())%640+leftA;rightB = Math.abs(random.nextInt())%640+leftB;topA = Math.abs(random.nextInt())%960;topB = Math.abs(random.nextInt())%960;bottomA = Math.abs(random.nextInt())%960+topA;bottomB = Math.abs(random.nextInt())%960+topB;if (!(leftA>=0 && rightA<960)|| !(topA>=0 && bottomA<640) ||!(rightA>=leftA) || !(bottomA>=topA)){System.out.println("Input error in Rectangle A");result[6]++;continue;}if (!(leftB>=0 && rightB<960)|| !(topB>=0 && bottomB<640) ||!(rightB>=leftB) || !(bottomB>=topB)){System.out.println("Input error in Rectangle B");result[7]++;continue; }统计结果:(2)等价类划分测试用例(双击打开和编辑)序号 A.left A.rightA.topA.bottomB.leftB.rightB.topB.bottom期望输出实际输出1-155********A输入错误A输入错误26505510510510A输入错误A输入错误355510510510A输入错误A输入错误45-1510510510A输入错误A输入错误55650510510510A输入错误A输入错误6510-15510510A输入错误A输入错误75106505510510A输入错误A输入错误851055510510A输入错误A输入错误95105-1510510A输入错误A输入错误105105650510510A输入错误A输入错误11510510-15510B输入错误B输入错误125105106505510B输入错误B输入错误1351051055510B输入错误B输入错误145105105-1510B输入错误B输入错误155105105650510B输入错误B输入错误16510510510-15B输入错误B输入错误175105105106505B输入错误B输入错误1851051051055B输入错误B输入错误195105105105-1B输入错误B输入错误205105105105650B输入错误B输入错误2151051015201520不相交不相交22510510712712相交相交235105106969包含包含2469695105650包含包含25510510510510重合重合2651051010151015相交一个点相交一个点275105101015510相交一条线相交一条线285105105101015相交一条线相交一条线(3)已在visio中画好,双击可打开编辑Starint nMaxLeftint nMaxTopint nMinRig ht int nMinBot tomif (A.left >= B.left)nMaxLef t = A.left nMaxLef t = B.leftif (A.top >= B.topnMaxTop = A.topnMaxTop = B.topif (A.right <= B.right)nMinRig ht = A.rightnMinRig ht = B.rightif (A.bottom<= B.bottom)nMinBot tom = A.botto mnMinBot tom = B.botto m if ((nMaxLeft>nMinRight)|| (nMaxTop> nMinBotto m))nFlag=0nFlag = 1; area = (nMinRig ht - nMaxLef t + 1 ) * (nMinBo ttom - nMaxTop + 1)if ((B.left==A.left) && (B.right==A .right) && (B.top==A.t op) && (B.bottom==A.bottom))nFlag=3else if (((nMaxLeft ==A.left) && (nMinRight ==A.right) && (nMaxTop==A.top) && (nMinBotto m==A.bott om)) ||((nMaxLe ft==B.left) && (nMinRight ==B.right) && (nMaxTop==B.top) && (nMinBotto m==B.bott om)))nFlag=2else if ((nMaxLeft ==nMinRig ht) && (nMaxTop== nMinBotto m))nFlag=4else if (((nMaxLeft ==nMinRig ht) && (nMaxTop< nMinBottom))nFlag=5END123Y4567891011121314151618171920212223242526272829303132333435363738394041NY NY NY NN YYNY Y Y YNNNY Y Y N NNNYYYYNNN NYY NNYY NNYYNNNY V(g)=24+1=25L1:1-2-3-4-6-7-9-10-12-13-15-17-41L2:1-2-3-5-6-7-9-10-12-13-15-17-41L3:1-2-3-4-6-8-9-10-12-13-15-17-41L4:1-2-3-4-6-7-9-11-12-13-15-17-41L5:1-2-3-4-6-7-9-10-12-14-15-17-41L6:1-2-3-4-6-7-9-10-12-13-15-16-17-41L7:1-2-3-4-6-7-9-10-12-13-15-16-18-20-21-22-23-41L8:1-2-3-4-6-7-9-10-12-13-15-16-18-19-24-25-26-27-32-41L9:1-2-3-4-6-7-9-10-12-13-15-16-18-19-20-24-25-26-27-32-41L10:1-2-3-4-6-7-9-10-12-13-15-16-18-19-20-21-24-26-27-32-41L11: 1-2-3-4-6-7-9-10-12-13-15-16-18-19-20-21-22-24-26-27-32-41L12: 1-2-3-4-6-7-9-10-12-13-15-16-18-19-24-28-29-30-31-32-41L13: 1-2-3-4-6-7-9-10-12-13-15-16-18-19-24-25-28-29-30-31-32-41L14: 1-2-3-4-6-7-9-10-12-13-15-16-18-19-24-25-26-28-29-30-31-32-41L15:1-2-3-4-6-7-9-10-12-13-15-16-18-19-24-25-26-27-28-29-30-31-32-41L16: 1-2-3-4-6-7-9-10-12-13-15-16-18-19-24-25-26-27-32-41L17: 1-2-3-4-6-7-9-10-12-13-15-16-18-19-24-28-29-33-34-35-41L18: 1-2-3-4-6-7-9-10-12-13-15-16-18-19-24-28-29-30-33-34-35-41L19: 1-2-3-4-6-7-9-10-12-13-15-16-18-19-24-28-29-30-31-33-34-35-41L20: 1-2-3-4-6-7-9-10-12-13-15-16-18-19-24-28-39-30-31-32-41L21: 1-2-3-4-6-7-9-10-12-13-15-16-18-19-24-28-33-34-36-37-40-41L22: 1-2-3-4-6-7-9-10-12-13-15-16-18-19-24-28-33-34-36-38-39-40-41L23: 1-2-3-4-6-7-9-10-12-13-15-16-18-19-24-28-33-34-36-37-38-41L24: 1-2-3-4-6-7-9-10-12-13-15-16-18-19-24-28-33-34-36-37-38-39-41L25: 1-2-3-4-6-7-9-10-12-13-15-16-18-19-24-28-33-36-37-40-41测试用例:三、实验体会很多BUG都隐藏在随机的测试过程当中,黑盒和白盒测试相辅相成.。

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

实验二黑盒测试
一、实验目的
1、掌握黑盒测试的基本方法;
2、掌握黑盒测试用例的编写。

二、实验要求
1、根据给出的程序分别使用等价类划分法、边界值分析法、判定表方法、因果图法、正交试验法、功能图法、错误推测法来设计相应的测试用例。

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

三、实验内容
1、等价类划分法测试练习——创建腾讯QQ号黑盒测试
问题QQ用户登录框测试,我们要从两个方面去考虑:一是QQ帐号,二是QQ密码。

1)划分等价类并编号,在下表内填写等价类划分的结果
2)设计测试用例,覆盖所有的有效等价类
2、因果法测试用例设计练习——自动售货机软件测试用例设计
问题有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。

其规格说明如下:若投入5角钱或1元钱的硬币,按下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

分析说明,列出原因和结果:
原因:
1、售货机有零钱找
2、投入1元硬币
3、投入5角硬币
4、按下橙汁按钮
5、按下啤酒按钮
结果:
6、售货机〖零钱找完〗灯亮当售货机中没有零钱的时候就有红灯亮
7、退还1元硬币当投入1元,而且售票机中没有零钱可找的时候
8、退还5角硬币当投入1元,而且售货机中有零钱可找的时候
9、送出橙汁饮料
10、送出啤酒饮料
画出因果图:如下图1所示,所有原因结点在左边,所有结果结点在右边,建立中间结点,表示处理的中间状态,中间结果有:
11、投入1元硬币并且按下饮料按钮,
12、按下〖橙汁〗或〖啤酒〗的按钮
13、应当找5角零钱并且售货机有零钱找
14、钱已付清
1售货机有零钱 6 零钱找完,灯亮2投入1元硬币7 退出1元硬币
11 该找5角
13 可以找5角
3投入5角硬币8退出5角硬币
12 按下按钮
14 钱付清
4 按下橙汁按钮9送出橙汁饮料
5按下啤酒按钮10送出啤酒饮料
图1 售货机因果图
转换成判定表:
四、实验步骤
1、依次按照每种方法的步骤来写出测试用例
2、测试,得出结果。

上面已经给出判定表,去除无效用例后:
3、附录代码:
#include <iostream>
#include<math>
using namespace std;
void main()
{
float a,int b;
float LingQian=100;
mark:
if(LingQian==0)
{
cout<<"零钱找完了!红灯亮!"<<endl;
}
cout<<请投币"<<endl;
cin>>a;
if(LingQian==0&&a==1)
{
cout<<"退还1元" ;
goto B;
};
if(a==0.5||a==1)
{
cout<<"请选择您要的饮料:\n 1为橙汁!2为啤酒!\n"<<endl;
cin>>b;
if(a==1&&b==1)
{
cout<<"\n橙汁\n 找零:0.5元\n"<<endl;
LingQian=LingQian-0.5;
}
else if(a==1&&b==2)
{
cout<<"\n啤酒\n 找零:0.5元\n"<<endl;
LingQian=LingQian-0.5;
}
else if(a==0.5&&b==1)
{
cout<<"\n橙汁\n"<<endl;
LingQian=LingQian+0.5;
}
else if(a==0.5&&b==2)
{
cout<<"\n啤酒\n"<<endl;
LingQian=LingQian+0.5;
}
}
else
{
goto mark;
}
goto mark;
}
五、实验总结
黑盒测试方法,也称功能测试或数据驱动测试方法,在测试的时候,把程序看做一个不能打开的黑盒子,在完全不考虑程序内部的结构和内部特征的情况下,我们对软件进行直接测试。

第一个实验是创建腾讯QQ黑盒测试方法,QQ是我们经常会用到软件程序,会碰到这些问题,有时候不小心密码错误也会有提示。

后来我先把QQ账号密码的要求找了出来,然后把自己的QQ登陆界面打开,根据自己划分的类别。

每一个用例都用QQ实验一下。

然后把界面提醒的信息记录下来。

这个工作还是很繁琐的。

第二个实验也是因果法测试用例设计练习——自动售货机软件测试用例设计,首先我们需要把中间结果考虑到,在做判定表的时候也一定要细心的把所有的可能性都考虑到,在考虑结果时一定要注意到是否投币了以及是否选择按钮了。

在整理去除无效类以后的最终判定表时要把无效类标注清楚。

通过对以上两个实验的具体操作,让我对黑盒测试有了更深的了解。

黑盒测试过程中常用的具体方法有等价类划分法、边界值分析法、错误推测法、因果图等,在实验过程中借助这些方法我们可以简化测试数据的数量,设计更有效的测试用例,完美的完成我们的目标。

相关文档
最新文档