li实验2黑盒测试(二)
- 格式:doc
- 大小:88.00 KB
- 文档页数:7
黑盒测试经典例题(精选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,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。
利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。
黑盒测试常见方法黑盒测试是一种软件测试方法,旨在检查软件系统的功能,而不考虑其内部结构或代码实现细节。
黑盒测试通过输入测试数据并检查系统输出来评估软件系统的正确性。
在本文中,我们将介绍一些常见的黑盒测试方法。
1. 等价类划分等价类划分是一种常见的黑盒测试方法,旨在有效地减少测试用例的数量,并覆盖系统的各种情况。
在等价类划分中,系统的输入被划分为多个等价类,每个等价类代表一组具有相同功能和行为的输入数据。
测试用例应该覆盖每个等价类至少一次,以确保系统能够正确处理各种情况。
2. 边界值分析边界值分析是一种黑盒测试方法,旨在测试系统对边界条件的处理能力。
在边界值分析中,测试用例被设计为测试系统在边界值上的行为。
通常情况下,系统在边界值处容易出现错误,因此边界值分析可以帮助发现潜在的问题并加以修复。
3. 因果图方法因果图方法是一种黑盒测试方法,通过绘制因果图来表示系统中各种因果关系,并从中推导出测试用例。
在因果图方法中,系统被分解为多个因果元素,并通过控制因果元素之间的关系来设计测试用例。
因果图方法可以帮助测试人员更好地理解系统的功能和逻辑,从而设计出有效的测试用例。
4. 决策表测试决策表测试是一种黑盒测试方法,通过分析系统的各种决策条件和可能的结果来设计测试用例。
在决策表测试中,系统的所有可能的决策条件和结果被列成一张决策表,测试用例则根据不同的决策条件组合而成。
决策表测试可以帮助测试人员全面地覆盖系统的各种决策情况,提高测试的全面性和有效性。
结语在软件开发过程中,黑盒测试是一种非常重要的测试方法,可以帮助发现系统中的潜在问题并提高系统的质量。
通过等价类划分、边界值分析、因果图方法和决策表测试等常见黑盒测试方法,测试人员可以设计出全面有效的测试用例,保证系统的正确性和稳定性。
希望本文介绍的黑盒测试方法能够对您有所帮助,让您在测试工作中取得更好的成果。
实验二:黑盒测试
一、实验目的
(1)熟练掌握黑盒测试方法中的边值分析方法和判定表驱动测试方法
(2)通过实验掌握如何应用黑盒测试方法设计测试用例
(3)运用所学理论,完成实验研究的基本训练过程
二、实验内容
1.用你熟悉的语言编写一个判断三角形问题的程序。
要求:读入代表三角形边长的三个整数A,B,C,取值范围为1-100,判断它们能否组成三角形。
如果能够,则输出三角形是等边、等腰、一般三角形和非三角形。
2.使用边值分析和判定表驱动测试方法设计测试用例。
三、实验步骤
(1)用你熟悉的语言编写上述源程序
(2)使用边值分析方法设计测试用例,并填写完成表1和表3
(3)使用判定表驱动测试方法建立判定表,完成测试用例的设计。
程序:
四、实验数据记录
1、边界值方法测试用例设计
2、判定表驱动测试设计测试用例
(1)确定规则个数。
(2)列出所有的条件桩和动作桩。
(3)填入输入项。
(4)填入动作项,得到初始判定表
(5)化简,合并相似规则后得到三角形问题的判定表。
化简后的判定表:
五、实验结果分析
六、心得体会。
黑盒测试实验二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();}。
软件测试基础与实践实验报告实验名称:黑盒测试实验二实验地点:机房实验日期:学生姓名:学生学号:一、实验目的(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. 确定测试目标在编写黑盒测试用例之前,需要明确测试的目标。
测试目标包括对软件功能、性能、易用性等方面的要求。
根据测试目标,确定需要覆盖的功能点和测试重点,以便更好地编写测试用例。
3. 识别测试场景识别测试场景是编写黑盒测试用例的重要步骤。
通过分析软件功能和用户需求,确定需要测试的各种情况和场景。
测试场景应覆盖软件的所有功能,并包括正常情况和异常情况。
4. 编写测试用例根据测试场景,编写黑盒测试用例。
测试用例应包括输入数据、预期输出、测试步骤等内容。
测试用例应覆盖所有功能点,尽可能地考虑各种情况和边界条件,以提高测试的覆盖率和有效性。
5. 执行测试用例在执行测试用例时,需要按照测试计划和测试目标进行。
测试人员应严格按照测试步骤和预期输出进行测试,记录测试结果并及时反馈给开发人员。
在执行测试用例过程中,需要注意记录测试过程中遇到的问题和挑战,以便后续优化测试用例。
6. 分析测试结果在执行完所有测试用例后,需要对测试结果进行分析。
分析测试结果时,需要对测试用例的覆盖率、缺陷数量、缺陷严重程度等指标进行评估。
根据测试结果,及时修复软件中的缺陷,并对测试用例进行优化和补充。
通过以上步骤,可以有效地编写和执行黑盒测试用例,提高软件的质量和稳定性。
在进行黑盒测试时,需要充分理解软件的功能和用户需求,注重测试用例的覆盖率和有效性,确保测试结果的准确性和可靠性。
大学
实验二
黑盒测试(二)
班级:
学号:姓名:
一、实验目的
理解黑盒测试的基本方法,掌握用判定表法、因果图法黑盒测试用例的设计方法。
二、实验准备
主流PC 机一套,要求安装windows 操作系统和Office 工具
三、实验内容
题目一:某软件的一个模块的需求规格说明书中描述:
a)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。
b)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。
请绘制出因果图和判定表,并给出相应的测试用例。
题目二:登陆功能说明书:(用户输入和密码输入)
1)管理员用户名为“admin”,密码为“123456”,正常登陆
2)用户名和密码输入为空,提示“用户和密码不允许为空”
在用户名和密码非空的情况下:
3)要求用户名必须输入字母,否则提示“输入非法”
4)要求密码必须输入数字,否则提示“输入非法”
在输入合法的情况下:
5)用户名错误,提示“用户名和密码输入错误”,用户名和密码清空
6)用户名正确,密码错误,提示“用户名和密码输入错误”,用户名保留,密码清空
请用因果图和判定表方法,设计出相应的测试用例。
四、实验步骤:
题目一:因果图法:
c1:年薪制员工11:非年薪制员工
c2:严重过失
c3:过失
e1:扣年终风险金的2%
e2:扣年终风险金的4% e3:扣当月薪资的4% e4:扣当月薪资的8%
~
E
测试用例:
判定表法:
条件 1:是否年薪制员工
条件2:是否为严重过失
员工 是否为年薪制员工 是否严重过失 是否过失 期望结果 谢一 是 是 是 扣年终风险金
的2%
谢二 是 否 否 扣年终风险金的4%
谢三 否 是 否 扣当月薪资的4%
谢四
否
否
是
扣当月薪资的8%
c1 e1
e2
e3
e4
11 c2 c3
判定表 年薪制员工? Y
Y N N 严重过失?
Y N Y N 过失?
N Y N Y 扣年终风险金的4%
√ 扣年终风险金的2%
√ 扣当月薪资的4%
√ 扣当月薪资的8%
√
测试用例:
题目二:
因果图法:
c1 用户名为空 F1 用户名不为空 c2密码为空 F2密码不为空
员工 是否为年薪制员工 是否严重过失 是否过失 期望结果 谢一 是 是 否 扣年终风险金
的4%
谢二 是 否 是 扣年终风险金的2%
谢三 否 是 否 扣当月薪资的4%
谢四 否
否
是
扣当月薪资的8%
c3用户名输入不合法 F3 用户名输入合法 c4密码输入不合法 F4密码输入合法
c5.用户名输入不正确 F5,用户名输入正确 c6 密码输入不正确 F6密码输入正确 A 用户和密码不允许为空 B 输入非法
C 用户名和密码输入错误,用户名和密码清空
D 用户名和密码输入错误”,用户名保留,密码清空
E 正常登录
11 输入都不为空12 输入都合法13 输入都正确 ~
~ ~ ~
~
~
~
判定表法:
条件1:用户名是否为空 条件2:密码是否为空 条件3:用户名是否非法
c1
F1 c2 F2 c3 F3 c4 F4
c5
F5 c6 F6 A
B
C
D
E
11 11 11 E E E
E
条件4:密码是否非法
条件5:用户名是否正确
条件6:密码是否正确
用户名是否为
空Y --- N N N N N
密码是否为空--- Y N N N N N
N 用户名是否非
法--- --- N --- N N
密码是否非法--- --- --- N N N N
Y 用户名是否正
确--- --- --- --- N ---
Y 密码是否正确---
--- --- --- --- N
√√
用户和密码不
允许为空
输入非法√√
√
用户名和密码
输入错误,用
户名保留,密
码清空
√
用户名和密码
输入错误,用
户名和密码清
空
正常登陆√
测试用例:
用户名密码期望结果
空123456 用户和密码不允许为空Admin 空用户和密码不允许为空
Admi1 123456 输入非法
Admin 123ad 输入非法
Admin 123456 用户名和密码输入错误,
用户名和密码清空
admin 12345 用户名和密码输入错
误”,用户名保留,密码
清空
admin 123456 正常登陆
总结:通过这次实验,我掌握了黑盒测试的基本方法,学会了用判定表法、因果图法黑盒测试用例的设计方法。