软件测试实验二 黑盒测试技术2

合集下载

02软件测试方法2-黑盒测试

02软件测试方法2-黑盒测试

19
第2章 软件测试方法 章
2.8单元测试方法 2.8单元测试方法
2.8.1黑盒测试 黑盒测试
2.8.1.2等价类划分 等价类划分 例子2:保险费率计算
程序界面:
20
第2章 软件测试方法 章
2.8单元测试方法 2.8单元测试方法
2.8.1黑盒测试 黑盒测试
2.8.1.2等价类划分 等价类划分 例子2:保险费率计算 :输入数据说明
c
c c c u u u c u u c c u c u u
u c c c c c c c u u u u u u c u u u c c c c c u c c c c u u u u u u u c u u c c u c u c c c c u
30
第2章 软件测试方法 章
2.8单元测试方法 2.8单元测试方法
年龄 20 ~ 39 40 ~ 59 60岁以上20岁以下 60 20 性别 婚姻 抚养人数 男 女 已婚 未婚 6点 4点 2点 2 5点 3点 3点 5点
1人扣0.5点,最多3点(四舍五入取整数)
21
第2章 软件测试方法 章
2.8单元测试方法 2.8单元测试方法
2.8.1黑盒测试 黑盒测试
2.8.1.2等价类划分 等价类划分 例子2:保险费率计算 :输入数据说明
31
第2章 软件测试方法 章
2.8单元测试方法 2.8单元测试方法
2.8.1.3组合测试 组合测试
2.8.1黑盒测试 黑盒测试
组合覆盖(全对偶): 组合覆盖(全对偶):
一个详细例子:一个函数有三个参数 一个详细例子:一个函数有三个参数v1,v2,v3;v1有三个取 有三个取 v2有两个取值 v3有两个取值 有两个取值, 有两个取值。 值,v2有两个取值,v3有两个取值。

实验二黑盒测试

实验二黑盒测试

实验二黑盒测试实验二黑盒测试实验目的1、掌握黑盒测试的基础知识,了解黑盒测试又叫功能性测试,它检查软件的功能是否符合规格说明;2、掌握黑盒测试的检查内容及测试目的;3、掌握黑盒测试的2种基本测试方法:等价类划分方法、边界值分析方法;预习与实验要求1、预习实验指导书及教材的有关内容,理解黑盒测试;2、掌握等价类划分、边界值分析方法,并能设计出测试用例;3、对具体软件,能分别使用等价类划分、边界值测试方法设计测试用例,并实施测试、分析测试结果。

4、实验过程中服从安排,与小组成员合作完成实验。

实验设备与器材1、硬件:P4以上计算机,512M内存以上,2G以上空闲硬盘空间2、软件:Windows操作系统、c或java程序设计软件、office 系列软件实验原理1、黑盒测试的目的和检查内容;2、等价类划分方法和边界值分析方法;3、根据黑盒测试方法设计测试用例及实施测试。

实验内容1、三角形问题接受三个整数a、b、c作为输入,用做三角形的边。

整数a、b、c 必须满足以下条件:C1: 1≤a≤200 C4: a<b+cC2: 1≤b≤200 C5: b<a+cC3: 1≤c≤200 C6: c<a+b程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形或非三角形。

如果输入值没有满足这些条件中的任何一个,则程序会通过输出信息来进行通知,例如,“b的取值不在允许取值的范围内。

”如果a、b和c 取值满足c1、c2和c3,则给出以下四种相互排斥输出中的一个:1、如果三角形等边,则程序的输出是等边三角形。

2、如果恰好有两条边相等,则程序的输出是等腰三角形。

3、如果没有两条边相等,则程序输出的是不等边三角形。

4、如果c4、c5和c6中有一个条件不满足,则程序输出的是非三角形。

对该软件进行以下测试工作:1)按照弱一般等价类测试方法设计测试用例,实施测试并分析测试结果2)按照强一般等价类测试方法设计测试用例,实施测试并分析测试结果;3)按照弱健壮等价类测试方法设计测试用例,实施测试并分析测试结果;4)按照强健壮等价类测试方法设计测试用例,实施测试并分析测试结果;2、使用NextDate函数进行边界值分析方法测试。

软件开发岗位实习报告——软件测试中的黑盒与白盒测试技术

软件开发岗位实习报告——软件测试中的黑盒与白盒测试技术

软件开发岗位实习报告——软件测试中的黑盒与白盒测试技术1. 引言作为软件开发岗位的实习生,我在实习期间主要负责软件测试相关工作。

本报告将重点介绍在软件测试中常用的黑盒测试和白盒测试技术。

黑盒测试是一种基于功能需求的测试方法,而白盒测试则是以代码为基础的测试方法。

2. 黑盒测试黑盒测试是一种独立于内部结构的测试方法,旨在验证软件系统是否按照需求规格说明书的要求正常工作。

黑盒测试不考虑软件系统的内部细节,而是关注输入和输出之间的关系。

2.1 黑盒测试的方法常见的黑盒测试方法包括等价类划分、边界值分析、状态转换图、决策表等。

2.1.1 等价类划分等价类划分是一种将输入和输出数据分成不同等价类的方法。

通过选择一个有效的等价类和一个无效的等价类,可以对软件系统的功能进行全面测试。

例如,对于一个接收用户年龄作为输入的系统,我们可以将输入年龄区分为合法和非法的等价类,进而测试系统在不同输入情况下的行为。

2.1.2 边界值分析边界值分析是一种测试方法,通过测试边界值的输入和输出,以确定系统对边界值的处理是否正确。

例如,在一个要求用户输入1到100之间整数的系统中,我们可以测试输入1、100和非法输入的情况,并观察系统的响应是否符合预期。

2.1.3 状态转换图状态转换图是一种表示软件系统各种状态及其转换关系的图形化工具。

通过对状态转换图的测试,可以发现系统在不同状态下的行为是否正确。

例如,在一个银行系统中,我们可以绘制一个状态转换图来表示用户登录和退出的不同状态,并且测试系统在不同状态下的功能是否正常。

2.1.4 决策表决策表是一种列出系统可能条件和相应操作的表格。

通过测试决策表中的各种条件和操作组合,可以确定系统的行为是否正确。

例如,在一个订单处理系统中,我们可以根据订单的状态、支付方式等条件,列出一个决策表,并测试系统在不同组合情况下的表现。

2.2 黑盒测试的优势和限制黑盒测试的优势在于可以忽略软件系统的内部细节,对功能进行全面测试,更加接近用户的使用方式。

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

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

广西师范大学计信学院《软件测试技术》课程实验实验报告题目:黑盒测试法——判定表法班级: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组出现错误!。

黑盒测试实验二

黑盒测试实验二

黑盒测试实验二1.NextDate函数的边界值分析测试用例程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31、1900≤ year ≤2050。

),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上第二天的日期。

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

请用等价类测试和边界测试法设计测试用例。

等价类测试法:有效等价类month、day、year、均为整数值,且1≤month≤12、1≤day≤31、1900≤ year ≤2050。

测试用例为:5 month,10 day,2010 year 预期输出为:5 month,11 day,2010 year 无效等价类1、month、day、year、不为整数值,1≤month≤12、1≤day≤31、1900≤ year ≤2050测试用例为:5.4 month,10 day,2010 year 预期输出为:无效输入2、month、day、year、均为整数值,不满足1≤month≤12、1≤day≤31、1900≤ year ≤2050三个条件中其中一个。

测试用例为:13 month,10 day,2010 year 预期输出为:无效输入边界测试法:测试用例为:1 month,1 day,1900 year 12 month,31 day,2050 year预期输出为:1 month,2 day,1900 year 预期输出为:无效输入0 month,1 day,1900 year 13 month,10 day,1900 year预期输出为:无效输入预期输出为:无效输入5 month,0 day,1902 year 5 month,32 day,1903 year预期输出为:无效输入预期输出为:无效输入7 month,5 day,1899 year 7 month,5 day,2051 year预期输出为:无效输入预期输出为:无效输入实验代码:#include<stdio.h>void con(){int a,b,c;printf("年份:");scanf("%d",&a);printf("月份:");scanf("%d",&b);printf("日:");scanf("%d",&c);if(a>=1900 && a<=2050){if(b>0 && b<=12){if(b==2){if(a%4==0){if(c>0 && c<=29){if(c==29){printf("输入的日期是:%d年%d月%d日\n",a,b,c);c=1;b=b+1;printf("第二天的日期是:%d年%d月%d日\n",a,b,c);}else{printf("输入的日期是:%d年%d月%d日\n",a,b,c);printf("第二天的日期是:%d年%d月%d日\n",a,b,c);}}else{printf("输入的天数不在--29之间!\n");}}if(a%4!=0){if(c>0 && c<=28){if(c==28){printf("输入的日期是:%d年%d月%d日\n",a,b,c);c=1;b=b+1;printf("第二天的日期是:%d年%d月%d日\n",a,b,c);}else{printf("输入的日期是:%d年%d月%d日\n",a,b,c);printf("第二天的日期是:%d年%d月%d日\n",a,b,c);}}else{printf("输入的天数不在--28之间!\n");}}}else{if( b==4 || b==6|| b==9 || b==11){if(c>0 && c<=30){printf("输入的日期是:%d年%d月%d日\n",a,b,c);c=c+1;if(c>30){c=1;b=b+1;printf("第二天的日期是:%d年%d月%d日\n",a,b,c);}else{printf("第二天的日期是:%d年%d月%d日\n",a,b,c);}}else{printf("输入的天数不在--30之间!\n");}}else{if(c>0 && c<=31){printf("输入的日期是:%d年%d月%d日\n",a,b,c);c=c+1;if(c>31){c=1;b=b+1;if(b>12){b=1;a=a+1;if(a>2050){printf("第二天的日期不在到范围之内!\n");}else{printf("第二天的日期是:%d年%d月%d日\n",a,b,c);}}else{printf("第二天的日期是:%d年%d月%d日\n",a,b,c);}}else{printf("第二天的日期是:%d年%d月%d日\n",a,b,c);}}else{printf("输入的天数不在--31之间!\n");}}}}else{printf("输入的月份不在--12之间!\n");}}else{printf("输入的年份不在到范围之内!\n");}}void main(){con();printf("是否继续(Y|N)?");char x;scanf("%s",&x);if(x=='Y' || x=='y')printf("\n");main();}。

软件测试2_黑盒测试 (下)

软件测试2_黑盒测试 (下)
功率大于50马力吗 维修记录不全吗 运行超过10年吗

举例:维修机器问题(续)
(3)填入条件项;
1 2
Y Y N
3
Y N Y
4
Y N N
5
N Y Y
6
N Y N
7
N N Y
8
N N N
功率大于50马吗?
Y Y Y
条 维修记录不全吗? 件
运行超过10年吗?
动 进行优先处理 作 作其他处理

利用集合的笛卡尔积计算条件项的取值
举例:维修机器问题(续)
(4)填入动作项;
1 2 Y Y N 3 Y N Y 4 Y N N 5 N Y Y 6 N Y N 7 N N Y 8 N N N
功率大于50马力吗?
Y Y Y
条 维修记录不全吗? 件 动 进行优先处理 作 作其他处理

运行超过10年吗?








1,2合并,5,7合并,6,8合并
举例:维修机器问题(续)
(5)化简;
(1) 功率大于50马力吗? Y Y — (2) Y N Y (3) Y N N (4) N — Y (5) N — N
条 维修记录不全吗? 件
动 作 作其他处理
进行优先处理
运行超过10年吗?



基于判定表的测试
根据输入输出绘制 判定表;
设计测试用例覆盖 判定表中每条规则;
条件桩(Condition Stub )
列出问题的所有条件
动作桩(Action Stub )
列出可能采取的操作
条件项(Condition Entity)
列出条件桩的取值

黑盒测试实验二

黑盒测试实验二

软件测试基础与实践实验报告实验名称:黑盒测试实验二实验地点:机房实验日期:学生姓名:学生学号:一、实验目的(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都隐藏在随机的测试过程当中,黑盒和白盒测试相辅相成.。

实验二 黑盒测试(二)(教学资料)

实验二  黑盒测试(二)(教学资料)

南京信息工程大学软件质量控制和测试实验(实习)报告实验(实习)名称黑盒测试(一)实验(实习)日期 2011-11-28 得分指导老师徐旦华系计算机与软件学院专业软件工程班级 1班姓名刘荣静学号 20091344007 一、实验目的理解黑盒测试的基本方法,掌握用判定表、因果图法测试用例的设计方法。

二、实验时间2学时三、实验准备PC 机一套,要求安装windows 操作系统和Office等工具软件;四、实验内容1.题目一:某软件的一个模块的需求规格说明书中描述:a)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。

b)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。

请绘制出因果图和判定表,并给出相应的测试用例。

2.题目二:有一个处理单价为2.5元的盒装饮料的自动售货机软件。

若投入2.5元硬币,按“可乐”、“啤酒”、或“奶茶”按钮,相应的饮料就送出来。

若投入的是3元硬币,在送出饮料的同时退还5角硬币。

请绘制出因果图和判定表,并给出相应的测试用例。

五、题目一(1)题目一的因果图原因结果C1:年薪制员工E1:扣除年终风险金的4%C2:严重过失C1:年薪制员工E2: 扣除年终风险金的2%C3:过失C4:非年薪制员工E3:扣除当月月薪资的8%C2:严重过失C4:非年薪制员工E4:扣除当月月薪资的4%C3:过失画出因果图:∧∧E E∧∧(2)题目一的判定表1、列出所有的条件桩和动作桩条件桩:C1:是否为年薪制员工?C2:是否为严重过失?C3:是否为过失?动作桩:A1:扣除年终风险金的4%A2:扣除年终风险金的2%A3:扣除当月月薪资的8%A4:扣除当月月薪资的4%A5:无扣除A6:不可能2、确定规则的个数●输入条件个数:3●每个条件的取值:“是”或“否”●规则个数:2*2*2=81 2 3 4 5 6 7 8条件是否为年薪制员工?Y Y Y Y N N N N是否为严重过失?Y Y N N Y Y N N是否为过失?Y N Y N Y N Y NC1C2C4C3E1 E2E3 E4动作扣除年终风险金的4%√扣除年终风险金的2%√扣除当月月薪资的8%√扣除当月月薪资的4%√无扣除√√不可能√√1 2 3 4 5 6条件是否为年薪制员工?—Y Y —N N是否为严重过失?Y Y N N Y N是否为过失?Y N Y N N Y动作扣除年终风险金的4%√扣除年终风险金的2%√扣除当月月薪资的8%√扣除当月月薪资的4%√无扣除√不可能√测试用例编号输入数据预期输出1 年薪制职员犯有严重过扣除年终风险金的4%失2 年薪制职员犯有过失 扣除年终风险金的2%3 职员没有犯任何过失 无扣除4 非年薪制职员犯有严重过失扣除当月月薪资的8% 5非年薪制职员犯有过失扣除当月月薪资的4%六、 题目二(1) 题目二的因果图原因 中间状态 结果C1:投入2.5元的硬币 1、已投币 E1:退还5角硬币C2:投入3元的硬币 2、已按钮 E2:送出“可乐”饮料 C3:按“可乐”按钮 E3:送出“啤酒”饮料 C4:按“啤酒”按钮 E4:送出“奶茶”饮料 C5:按“奶茶”按钮∨E∧∧ ∧∨E∧(21 2 3 4 5 6 7 8 9 10 11 输投入2.5元硬币1111C1C4C3 C2C5 E1 E2E3E41 2入投入3元硬币0 0 0 0 1 1 1 1 0 0 0 按可乐按钮 1 0 0 0 1 0 0 0 1 0 0 按啤酒按钮0 1 1 0 0 1 1 0 0 1 0 按奶茶按钮0 0 1 0 0 0 1 0 0 0 1中间已投币 1 1 1 1 1 1 1 1 0 0 0 已按钮 1 1 1 0 1 1 1 0 1 1 1输出退还5角0 0 0 0 1 1 1 0 0 0 0 送出可乐 1 0 0 0 1 0 0 0 0 0 0 送出啤酒0 1 0 0 0 1 0 0 0 0 0 送出奶茶0 0 1 0 0 0 1 0 0 0 0 退回投进去的钱0 0 0 1 0 0 0 1 0 0 0 给出提示信息0 0 0 1 0 0 0 1 1 1 1用例编号输入数据预期结果1 2.5元、可乐按钮送出可乐2 2.5元、啤酒按钮送出啤酒3 2.5元、奶茶按钮送出奶茶4 2.5元给出提示信息,找回2.5元5 3元、可乐按钮找回0.5元,送出可乐6 3元、啤酒按钮找回0.5元,送出啤酒7 3元、奶茶按钮找回0.5元,送出奶茶8 3元给出提示信息,找回3元9 可乐按钮给出提示信息10 啤酒按钮给出提示信息11 奶茶按钮给出提示信息七、实验体会通过两次实验理解了黑盒测试的基本方法,并掌握了用判定表、因果图法测试用例的设计方法。

《软件测试技术》黑盒测试实验

《软件测试技术》黑盒测试实验

《软件测试技术》黑盒测试实验一、实验目的1、能熟练应用黑盒测试技术中的等价类划分法、边界值分析法、因果图法和决策表法进行测试用例设计。

2、对测试用例进行优化设计二、实验环境Windows系统+ Office工具三、实验任务1.电话号码问题2.三角形问题3.工资问题4. 自动售货机问题四、实验步骤1.电话号码问题某城市电话号码由三部分组成,分别是:地区码:空白或四位数字;前缀:非0或1开头的四位数字;后缀:四位数字。

假设被测程序接受符合上述规定的电话号码,拒绝所有不符合规定的电话号码,使用等价类划分方法进行测试用例设计。

表1 电话号码等价类表(除了表头即第一行外,其它都可以修改)表2 电话号码用例表(可以根据实际情况增加行或者删除行)2. 三角形问题输入三个整数:A、B、C,分别作为三角形的三条边的长度,取值范围[1,100],判断三条边构成的三角形是等腰的、等边的、一般三角形或者非三角形。

分别设计标准性边界值分析的测试用例和健壮性边界值分析的测试用例。

(1)标准性边界值测试用例(根据实际情况自行调整表格行数)(2)健壮性边界值测试用例(根据实际情况自行调整表格行数)3.工资问题某软件的一个模块的需求规格说明书中描述:(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。

(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。

请绘制出因果图和判定表,并给出相应的测试用例。

原因:C1. 年薪制员工C2. 严重过失中间状态:11. 非年薪制员工12. 过失结果:E1. 扣年终风险金的4%E2. 扣年终风险金的2%E3. 扣当月薪资的8%E4. 扣当月薪资的4%4. 自动售货机问题有一个处理单价为1元5角钱的盒装饮料的自动售货机软件,若投入1元5角硬币,按下“可乐”、“雪碧”或“橙汁”按钮,相应的饮料就送出来。

若投入的是2元硬币,在送出相应的饮料同时退换5角硬币。

请绘制出决策表。

黑盒测试实验报告

黑盒测试实验报告

黑盒测试实验报告软件测试实验报告----黑盒测试一.实验内容使用黑盒测试技术设计一个自动售货机上的系统。

自定义自动售货机只卖三种饮料:可口可乐,雪碧,百事可乐,单价分别为2.5元,2.5两元,2元。

假设输入饮料类别及需要的数量,如果输入的金额数足够,直接送出饮料,退回零钱,如果输入的金额不够,有提示可以继续输入钱币。

自动售货机运行界面如下:二、黑盒测试(1)测试用例一(2)测试用例二具体操作实践如下:三代码#include void main(){int n,m,i;for(i=0;i<100;i++){cout<<"欢迎使用自动售货机系统!\" ;cout<<"请选择商品\";cout<< "1 可口可乐2.5元\";cout<< "2 雪碧2.5元\";cout<< "3 百事可乐2元\";cout<< " 4 结束购物\";cin>>n;if(n==1){cout<<"你选择的是可口可乐\";cout<<"请选择投币种类\";cout<< "1 2.5元\";cout<< "2 3元\";cout<< "3 5元\";cout<< "4 1元\";cin>>m;if(m==1){cout<<"付款金额正好,请取走商品\";}else if(m==2){cout<<"找您0.5元\";}else if(m==3){ cout<<"找您2.5元\";} else {cout<<”钱不够!”;}}if(n==2){cout<<"你选择的是雪碧\";cout<<"请选择投币种类\";cout<< "1 2.5元\";cout<< "2 3元\";cout<< "3 5元\";cout<< "4 1元\";cin>>m;if(m==1){cout<<"付款金额正好,请取走商品\";}else if(m==2){cout<<"找您0.5元\";}else if(m==3){ cout<<"找您2.5元\";} else {cout<<”钱不够!”;}}if(n==3){"你选择的是百事可乐\";cout<<"请选择投币种类\";cout<< "1 2.5元\";cout<< "2 3元\";cout<< "3 5元\";cout<< "4 1元\";cin>>m;if(m==1){cout<<"找您0.5元\\\";}else if(m==2){cout<<"找您1元\";}else if(m==3){ cout<<"找您2元\";} else {cout<<”钱不够!”;}}if(n==4)cout<<"谢谢惠顾!"<<="">}。

黑盒测试软件测试实验报告2

黑盒测试软件测试实验报告2
void main()
{
int year;
int month,maxmonth=12;
int day,maxday;
printf("请输入年份:(1000~3000)");
scanf("%d",&year);
if(year<1000 || year>3000)
{
printf("输入错误!请从新输入!\n");
软件测试与质量课程实验报告
实验2:黑盒测试法实验
姓名
院系
学号
任课教师
实验指导教师
实验地点
实验时间
实验目的
系统地学习和理解黑盒测试的基本概念、原理
熟悉和掌握等价类划分法,边界值分析法和决策表方法
掌握测试用例编写要点
实验内容
1.编写一个程序,循环从标准输入读入某雇员的工作时间(以小时计)和每小时的工资数,计算并输出他的工资。若雇员月工作小时超过40小时,则超过部分按原工资的1.5倍的加班工资来计算。若雇员月工作小时超过50小时,则超过50的部分按原工资的3倍的加班工资来计算,而40到50小时的工资仍按照原工资的1.5倍的加班工资来计算。
日期

预期输出
1--3
6
15/28/29
2013
2013年4月16/29/30日
4
6
30
2013
2013年7月1日
5
6
31
2013
输入错误,请重新输入
6--9
3
15/28/29/30
2013
2013年3月16/29/30/31日
10
3
31
2013

实验二、黑盒测试技术(二)重点讲义资料

实验二、黑盒测试技术(二)重点讲义资料

实验二、黑盒测试技术(二)一、实验类型实验类型为验证型, 2 个学时。

二、实验目的(1)能熟练应用边界值和决策表测试技术进行测试用例设计;(2)对测试用例进行优化设计;三、背景知识(一)边界值测试1.边界值分析边界值分析是考虑边界条件而选取测试用例的一种功能测试方法。

边界值分析关注输入空间的边界,以标识测试用例,因为错误更可能出现在输入变量的极值附近。

边界值分析的基本思想是:使用在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值。

2.健壮性测试健壮性是指在异常情况下,软件还能正常运行的能力。

健壮性考虑的主要部分是预期输出,而不是输入。

健壮性测试是边界值分析的一种简单扩展。

除了变量的 5 个边界分析取值还要考虑略超过最大值(max)和略小于最小值(min )时的情况。

3.最坏情况测试最坏情况测试将意味着更大工作量,n 变量函数的最坏情况测试会产生5的n 次方个测试用例,而边界值分析只产生4n+1 个测试用例。

(二)基于决策表的测试决策表适合描述不同条件集合下采取行动的若干组合的情况。

使用决策表标识测试用例,则把条件解释为输入,行动解释为输出。

有时条件最终引用输入的等价类,行为引用被测试软件的主要功能处理部分,规则解释为测试用例。

对于有限条目决策表,如果有n 个条件,则必须有2 条规则。

如果不关心条目实际地表明条件是不相关的,则没有不关心条目的规则统计为 1 条规则,规则中每出现一个不关心条目,该规则数乘一次2。

四、实验设备主流PC 机一套,要求安装windows 操作系统、Visual Studio2010 或Eclipse 开发工具和OFFICE 工具五、实验内容NextDate 函数根据下面给出的规格说明,分别利用决策表方法,给出足够的测试用例并根据用例执行测试。

NextDate函数包含三个变量:Mo nth (月份)、day (日期)和year(年),函数的输出为输入日期后一天的日期。

黑盒测试实验二

黑盒测试实验二

黑盒测试实验二1.1 实验类型实验类型为验证型,3个学时。

1.2 实验目的(1)能熟练应用黑盒测试技术进行测试用例设计;(2)对测试用例进行优化设计;1.3 背景知识功能测试是指在对程序进行功能抽象的基础上,将程序划分成功能单元,然后在数据抽象的基础上,对每个功能单元生成测试数据进行测试。

进行功能测试时,被测程序被当作打不开的黑盒,因而无法了解其内部构造,因此又称为黑盒测试。

一、等价类测试等价类测试方法是把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。

使用等价类划分方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。

等价类的划分有两种不同的情况:①有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。

②无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。

在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。

用等价类划分法设计测试用例步骤:(1) 形成等价类表,每一等价类规定一个唯一的编号;(2) 设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;(3) 设计一个新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖。

二、边界值测试1.边界值分析边界值分析是考虑边界条件而选取测试用例的一种功能测试方法。

边界值分析关注输入空间的边界,以标识测试用例,因为错误更可能出现在输入变量的极值附近。

边界值分析的基本思想是:利用输入变量的最小值(min)、略大于最小值(min+)、正常值(nom)、略小于最大值(max-)和最大值(max)来设计测试用例。

使用在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值。

在边界值分析法中获取测试用例的方法是:1)每次保留程序中一个变量,让其余的变量取正常值,被保留的变量依次取min、min+、nom 、max-和max 作为有效边界值;依次取min- 和max+作为无效边界值。

软件测试实验报告_黑盒测试2

软件测试实验报告_黑盒测试2

软件测试实验报告学号:学生姓名:班级:实验题目黑盒测试方法2学号********** 姓名*** 班级***** 时间2************一实验题目用黑盒测试方法测试以下程序:有一个处理单价为5角钱的饮料的自动售货机,相应规格说明如下:若投入5角钱或1元钱的硬币,按下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

(每次只投入一个硬币,只押下一种饮料的按钮)如投入5角的硬币,按下按钮后,总有饮料送出。

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

若有零钱找,则显示〖零钱找完〗的红灯不会亮,若投入 1元硬币及按饮料按钮,则送出饮料的同时找回5角硬币。

二测试用例及结果三实验总结包括bug的数量,并简要分析错误产生的原因。

附:源程序(C#窗体)boBox1.Items.AddRange(new object[] {"亮","灭"});boBox2.Items.AddRange(new object[] {"0.5","1"});boBox3.Items.AddRange(new object[] {"啤酒","橙汁"});private void Form1_Load(object sender, EventArgs e){comboBox1.SelectedIndex = 0;comboBox2.SelectedIndex = 0;comboBox3.SelectedIndex = 0;}private void button1_Click(object sender, EventArgs e){if (comboBox2.SelectedIndex == 0)//投0.5{textBox1.Text = "0";if (comboBox3.SelectedIndex == 0){textBox2.Text = "啤酒";}elsetextBox2.Text = "橙汁";}else //投1{if (comboBox1.SelectedIndex == 0)//红灯亮 {textBox1.Text = "1";textBox2.Text = "无法找零";}else //红灯灭{textBox1.Text = "0.5";if (comboBox3.SelectedIndex == 0){textBox2.Text = "啤酒";}elsetextBox2.Text = "橙汁";}}}。

实验二__黑盒测试

实验二__黑盒测试

实验二黑盒测试(二)----因果图法、决策表法一、实验目的1、掌握黑盒测试的基础知识;2、掌握黑盒测试的检查内容及测试目的;3、掌握黑盒测试的二种基本测试方法:因果图法和决策表法;二、实验要求1、复习教材的有关内容,理解黑盒测试;2、掌握因果图法和决策表法,并能设计出测试用例;3、对具体软件,能分别使用相应的黑盒测试方法设计测试用例,并实施测试、分析测试结果。

4、实验前认真听讲,服从安排。

独立思考完成实验。

三、实验设备与器材a)硬件:P4以上计算机,512M内存以上,2G以上空闲硬盘空间b)软件:操作系统、OFFICE软件四、实验原理1、黑盒测试的目的和检查内容;2、因果图法和决策表法;3、根据黑盒测试方法设计测试用例及实施测试。

五、实验内容复习:利用因果图设计测试用例步骤⏹ 1.分析程序规格说明的描述中,哪些是原因,哪些是结果✦原因常常是输入条件或是输入条件的等价类;✦结果是输出条件;⏹ 2.分析程序规约的描述中语义的内容,并将其表示成连接各个原因与各个结果的“因果图”3.在因果图上使用若干个特殊的符号标明约束条件4.把因果图转换成判定表5.把判定表中每一列表示的情况写成测试用例1.以中国象棋中马的走法为例,请绘制出因果图和判定表。

马的走法说明:(1)如果落点在棋盘外,则不移动棋子;(2)如果落点与起点不构成日字型,则不移动棋子;(3)如果落点处有自己方棋子,则不移动棋子;(4)如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;(5)如果不属于1-4条,且落点处无棋子,则移动棋子;(6)如果不属于1-4条,且落点处为对方棋子(非老将) ,则移动棋子并除去对方棋子;(7)如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。

用因果图法测试该程序,并撰写实验报告。

实验步骤:①分析原因与结果②画出因果图③转化为决策表④根据决策表设计测试用例,得到测试用例表⑤执行测试,填写软件缺陷报告⏹复习判定表建立步骤⏹根据软件规格说明✦①列出所有的条件桩和动作桩;✦②确定规则的个数;⏹假如有n个条件,每个条件有两个取值(0,1),则有2n 种规则;✦③填入条件项;✦④填入动作项,得到初始决策表;✦⑤简化,合并相似规则(相同动作)。

软件测试实习报告:黑盒与白盒测试技术的应用

软件测试实习报告:黑盒与白盒测试技术的应用

软件测试实习报告:黑盒与白盒测试技术的应用1. 引言在现代软件开发中,软件测试是确保软件质量和稳定性的关键环节。

针对软件测试的不同手段和方法,黑盒测试和白盒测试被广泛应用。

本报告将探讨黑盒和白盒测试技术在软件测试实习过程中的应用。

2. 黑盒测试黑盒测试是一种基于功能需求的测试方法,测试者不关心内部实现细节,而是主要关注软件的输入输出和功能是否符合预期。

在软件测试实习中,我参与了一个黑盒测试项目,以下是我在实习过程中所学到的黑盒测试技术和应用。

2.1 功能测试功能测试是黑盒测试的核心内容,它通过模拟真实用户的操作场景进行测试,验证软件的功能是否满足需求。

在实习项目中,我使用了一些测试用例来测试软件功能的各个方面,包括输入验证、边界条件、异常处理等。

通过功能测试,我能够发现软件中的功能缺陷并及时反馈给开发团队进行修复。

2.2 界面测试界面测试是黑盒测试的重要部分,它主要验证软件的用户界面是否易于使用、符合设计规范。

在实习中,我使用了一些测试用例来测试软件的界面布局、字体颜色、图标等方面,确保用户能够良好地操作软件界面,并且界面与需求文档一致。

通过界面测试,我能够为开发团队提供改进界面设计的建议。

2.3 性能测试性能测试是黑盒测试的另一个重要方面,它主要验证软件在不同负载下的性能表现。

在实习项目中,我使用了一些性能测试工具来模拟多种负载条件,并通过监控软件的响应时间、吞吐量等指标来评估软件的性能。

通过性能测试,我能够发现软件在高负载情况下的性能瓶颈,并提供性能优化的建议。

3. 白盒测试白盒测试是一种基于内部逻辑和代码结构的测试方法,测试者需要具备编程和代码理解能力。

在软件测试实习中,我也参与了一个白盒测试项目,以下是我在实习过程中所学到的白盒测试技术和应用。

3.1 代码覆盖率测试代码覆盖率测试是白盒测试的核心内容,通过运行测试用例,并根据代码结构和逻辑覆盖情况评估测试用例对代码的覆盖率。

在实习项目中,我使用了一些自动化测试工具来生成测试用例,并使用代码覆盖率工具来评估测试用例的覆盖率情况。

软件测试中的黑盒测试技术介绍

软件测试中的黑盒测试技术介绍

软件测试中的黑盒测试技术介绍软件测试是软件开发生命周期中至关重要的一环,其作用是发现软件中的缺陷,保证软件的质量。

而其中的黑盒测试技术是测试工作中的一个重要方面,本文将重点介绍黑盒测试技术的细节和使用。

一、什么是黑盒测试?黑盒测试也叫功能测试,是一种测试方法,其主要目标是检查系统或应用程序在特定条件下是否正确地操作,而不考虑内部的操作和代码的细节。

黑盒测试的测试人员不需要了解系统的具体实现和代码结构,只需要了解其功能,以通过测试用例和测试数据验证系统的正确性和质量。

二、黑盒测试的主要技术1. 等价类划分法等价类划分法是一种常见的黑盒测试方法,其目的是提高测试用例的效率。

该方法将测试数据和输入分成等价类,以便在每个等价类中选择最少的一个输入用于测试。

例如,当输入年龄时,可以将年龄等价划分为三类:无效输入,合法输入和临界输入。

测试人员只需在每个类别中选择一个输入即可。

2. 边界值分析边界值分析也是一种常见的黑盒测试方法,其目的是测试系统在输入极限值时的反应。

例如,当测试一个数字区间时,边界值分析的方法是选择最小的输入值、最大的输入值和恰好处于区间中央的值进行测试。

3. 决策表决策表是一种黑盒测试的工具,用于测试系统的决策逻辑。

它将所有可能的输入情况和相应的输出结果列成表格,从而确定测试方案和测试用例。

4. 因果图因果图是一种黑盒测试的工具,也可用于测试系统的决策逻辑。

它通过显示系统中事件和因果关系之间的图表来确定测试用例和测试方案。

三、黑盒测试的注意事项1. 理解需求和设计文档黑盒测试的测试人员必须完全理解需求和设计文档,以确保已覆盖了所有功能。

2. 使用多种测试技术在黑盒测试中使用多种测试技术可以更全面地测试系统并提高测试效率。

3. 确认输出与预期一致黑盒测试的测试人员应该检查所有输出结果是否与预期一致,并且足够准确。

4. 维护测试用例测试人员应该维护测试用例,并根据需求、设计文档和上一次测试的结果来更新。

软件测试中的黑盒测试技术与方法

软件测试中的黑盒测试技术与方法

软件测试中的黑盒测试技术与方法软件测试是在开发软件过程中对软件的功能、性能、安全等进行验证和确认的过程。

为了提高测试的有效性和全面性,软件测试中采用了不同的测试方法和技术。

本文将重点介绍软件测试中的黑盒测试技术与方法,以帮助读者更好地理解和应用这一重要的测试方法。

一、什么是黑盒测试黑盒测试是一种测试软件的方法,它关注的是软件的输入与输出,而不考虑内部的实现细节。

黑盒测试的目的是发现软件在各种输入情况下的功能缺陷、性能问题和安全隐患。

对于测试人员而言,他们并不需要了解软件的具体实现方式,只需关注软件的规格说明和需求文档。

二、黑盒测试技术与方法1. 等价类划分等价类划分是一种常用的黑盒测试技术,它将输入条件划分为若干个等价类,每个等价类代表了一组功能上等效的输入。

测试人员只需要从每个等价类中选择一个代表性的输入进行测试,以尽可能发现输入条件的问题。

2. 边界值分析边界值分析是一种基于等价类划分的黑盒测试技术,它将输入条件的边界值作为测试重点。

边界值往往是在输入条件的最小和最大边界上,以及临界点上的值。

测试人员通过测试边界值来检查软件在输入边界上的处理能力,以发现潜在的缺陷。

3. 决策表测试决策表是一种用于表示软件逻辑和条件的表格结构,它将输入条件、动作和输出结果进行关联。

决策表测试是通过分析和利用这个表格结构来设计测试用例的方法。

通过有效地设计和选择测试用例,可以覆盖不同条件和结果的组合,从而提高测试效率和覆盖率。

4. 指令覆盖指令覆盖是一种黑盒测试方法,它关注的是测试执行路径中的每条指令是否都被执行到。

通过设计测试用例,测试人员可以确保测试过程中每条指令都被执行到,以发现潜在的错误和异常情况。

5. 分支覆盖分支覆盖是一种黑盒测试方法,它关注的是测试执行路径中的每个分支是否都被覆盖到。

通过设计测试用例,测试人员可以确保每个分支都得到测试,以发现分支条件下的问题和错误。

6. 条件覆盖条件覆盖是一种黑盒测试方法,它关注的是测试条件的不同取值情况是否都得到覆盖。

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

实验二黑盒测试技术2
(决策表法)
1提交期限和方式
期限:第8周周三(2015-4-22)23:59 pm
方式:由学习委员收集所有学生的实验报告,以电子档的形式提交给任课教师(发邮箱:)。

2案例实践三:NextDate的第六次测试(决策表)
2.1初次决策表尝试
对于同样的问题,可以采取不同的角度来划分等价类,得到不同的决策表和不同的测试用例,产生的测试效果是不同的。

对于NextDate问题而言,不妨先采用实验一中的表2.4的等价类划分方式,从而得到经化简后的决策表2.7,请完成表2.7。

(提示:完整地决策表应包含30个测试用例,这与实验一中的强组合形式的等价类测试的用例规模一致,而经简化后,决策表应仅含11个测试用例,从而消除用例之间的冗余)
表2.4 NextDate问题的等价类划分(第二次划分尝试)
表2.7 NextDate问题的决策表(第一次决策表尝试)
\
2.2第二次决策表尝试
从初次决策表的尝试中可知,该决策表存在不确定的测试用例(如:满足M1,D5的条件中12月31日),说明等价类划分仍有问题,即等价类中的元素并非完全等价,因此,我们需进一步划分,最终可得到如表2.8所示的等价类集合(不考虑无效等价类),从而构成表2.9的新决策表,请完成第二次决策表的设计,并进行简化。

然后得到测试用例表2.10(提示:完整地决策表应包含40个测试用例,经简化后,决策表仅包含12个测试用例)
表2.8 NextDate问题的等价类划分(第三次划分尝试)
表2.9 NextDate问题的决策表(第二次决策表尝试)
表2.10 NextDate问题的决策表测试的测试用例(第二次决策表尝试)
2.3测试分析
从表2.10中的测试用例可以看出,闰年闰月的情况、年末和月末的情况都测试到了,且测试用例的规模也不大,因此,经过这么多次测试设计,至此得到的测试用例才是令人比较满意的结果。

所以,还是要将不同的测试方法结合起来使用,才能达到更好的测试效果。

2.4测试用例执行截图
根据表2.10中设计的测试用例执行测试,将执行结果的截图贴在下面:
测试用例ID为ND-DT-001的测试用例执行结果截图:
测试用例ID为ND-DT-002的测试用例执行结果截图:
软件测试
第11 页共11 页。

相关文档
最新文档