《实验3_黑盒测试等价类划分.doc》由会员分享,可在线阅读,更多相关《实验3_黑盒测试等价类划分.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、优质文本实验3 墨盒测试法等价类划分法实验目的:1.掌握等价类划分的方法 2.掌握按等价类测试用例实验内容:1、请用等价类划分法为三角形问题划分等价类,并设计相应的测试用例,测试下面三角形问题程序,找出缺陷并改正。#include iostream.hvoid main()int a,b,c;cout请输入三角形的三条边(界于1-100之间)abc;if(a=100)couta的值超过允许的范围!;if(b=100)coutb的值超过允许的范围!;if(c=100)coutc|a+cb|b+ca)couta,b,c的值不能构成三角形!;if(a=b&b=c)cout是等边三角形!;if(a=b
2、|b=c|a=c)cout是等腰三角形!;if(ab&bc&ca)coutc 5a+bb 6a+ca 7b+ca 41b+c=a构成一个等腰三角形且两边之和大于第三遍a=b 8a=c 9b=c 10构成一个等边三角形a=b=c 11测试用例1. 覆盖有效类的测试用例用例IDa b c预期输出覆盖等价类号码13 4 5一般三角形1724 4 5等腰三角形17,834 5 5等腰三角形17,945 4 5等腰三角形17,1054 4 4等边三角形17,112. 覆盖无效类的测试用例用例IDa b c覆盖等价类号码预期输出用例IDa b c覆盖等价类号码预期输出62.5 4 512无效输入230 0
3、 529无效输入73 4.5 513无效输入243 0 030无效输入83 4 5.514无效输入250 4 031无效输入260 0 032无效输入93.5 4.5 515无效输入27-3 4 533无效输入103 4.5 5.516无效输入283 -4 534无效输入113.5 4 5.517无效输入293 4 -535无效输入123.5 4.5 5.518无效输入13319无效输入30-3 -4 536无效输入14420无效输入31-3 4 -537无效输入15 521无效输入323 -4 -538无效输入33-3 -4 -539无效输入163 422无效输入343 1 540非三角形1
4、74 523无效输入353 2 541非三角形183 524无效输入363 1 142非三角形1925无效输入373 2 143非三角形200 4 526无效输入381 4 244非三角形213 0 527无效输入393 4 145非三角形223 4 028无效输入缺陷报告:缺陷编号1用例编号40缺陷类型代码错误严重级别严重优先级优先缺陷状态New测试阶段单元 集成 系统 验收 其它 可重现性是 否BUG原因需求分析 根本设计 详细设计 设计式样理解 编程 数据库设计 环境配置 其它 缺陷描述程序无法正常执行预期结果程序能运行,并且有运行的结果重现步骤备注翻开+6.0,运行以下源代码。#inc
5、lude iostream.hvoid main()int a,b,c;cout请输入三角形的三条边(界于1-100之间)abc;if(a=100)couta的值超过允许的范围!;if(b=100)coutb的值超过允许的范围!;if(c=100)coutc|a+cb|b+ca)couta,b,c的值不能构成三角形!;if(a=b&b=c)cout是等边三角形!;if(a=b|b=c|a=c)cout是等边三角形!;if(ab&bc&ca)coutc|a+cb|b+ca)couta,b,c的值不能构成三角形!;改成if(a+bc|a+cb|b+ca)couta,b,c的值不能构成三角形!;测试
6、人修正人确认人修正日期年 月 日 缺陷编号3用例编号24缺陷类型严重级别严重优先级优先缺陷状态New测试阶段单元 集成 系统 验收 其它 可重现性是 否BUG原因需求分析 根本设计 详细设计 设计式样理解 编程 数据库设计 环境配置 其它 缺陷描述输入正确的三个数,不能正确判断三角形的类型预期结果等腰三角形重现步骤备注在VC+6.0中运行源程序输入数据如图所以:以下局部由BUG修改人填写缺陷修改描述将以下代码:if(a=b&b=c)cout是等边三角形!;改为:if(a=b&b!=c)|(a=c&c!=b)|(b=c&a!=c)cout是等腰三角形!;测试人修正人确认人修正日期年 月 日 缺陷
7、编号4用例编号612,2039缺陷类型严重级别严重优先级优先缺陷状态New测试阶段单元 集成 系统 验收 其它 可重现性是 否BUG原因需求分析 根本设计 详细设计 设计式样理解 编程 数据库设计 环境配置 其它 缺陷描述输入无效数据,不能判定能否构成三角形预期结果给出提示判断是否为有效的输入重现步骤备注在VC+6.0中运行源程序输入数据如下图:以下局部由BUG修改人填写缺陷修改描述将以下代码:if(ab&bc&ca)cout0&a0&b0&c=100) if(a!=b&b!=c&c!=a)cout一般三角形!;测试人修正人确认人修正日期年 月 日 缺陷编号5用例编号4045缺陷类型严重级别严
8、重优先级优先缺陷状态New测试阶段单元 集成 系统 验收 其它 可重现性是 否BUG原因需求分析 根本设计 详细设计 设计式样理解 编程 数据库设计 环境配置 其它 缺陷描述输入不能构成三角形的有效数据,不能判定是否为三角形预期结果不能构成三角形重现步骤备注在VC+6.0中运行源程序输入数据如下图:以下局部由BUG修改人填写缺陷修改描述将以下代码:if(ab&bc&ca)cout0&a0&b0&cc&a+cb&b+ca)cout一般三角形!;测试人修正人确认人修正日期年 月 日 缺陷编号6用例编号1319缺陷类型严重级别严重优先级优先缺陷状态New测试阶段单元 集成 系统 验收 其它 可重现性
9、是 否BUG原因需求分析 根本设计 详细设计 设计式样理解 编程 数据库设计 环境配置 其它 缺陷描述只输入三角形的一边或两边,程序进入等待的状态,没有提示。预期结果给出提示判断是否为有效的输入重现步骤备注在VC+6.0中运行源程序输入数据如下图:以下局部由BUG修改人填写缺陷修改描述测试人修正人确认人修正日期年 月 日 2、城市的 号码由两局部组成。这两局部的名称和内容分别是:1) 地区码:以0开头的三位或者四位数字包括0;2) 号码:以非0、非1开头的七位或者八位数字。假定被调试的程序能接受一切符合上述规定的 号码,拒绝所有不符合规定的号码,就可用等价分类法来设计它的调试用例。等价类表:输
10、入条件有效等价类号码无效等价类号码地区码0以0开头的3位数以0开头的4位数123非数字字符非0开头的3位数非0开头的4位数0开头且少于3位数字0开头且多于4位数字非0开头且少于3位数非0开头且多于4位数6789101112 号码非0、非1开头的7位数非0、非1开头的8位数45有非数字字符少于7位数多于8位数起始位为0起始位为11314151617请按照上述等价类的划分为此程序设计测试用例,参考答案如下:序号测试数据期望结果覆盖范围实际输出1010 23145678显示有效输入1、8 无反响 2023 2234567显示有效输入1、7无反响30851 3456789显示有效输入2、7无反响408
11、51 23145678显示有效输入2、8无反响50a34 23456789显示无效输入3无反响605 23456789显示无效输入4区号错误701234 23456789显示无效输入5区号错误82341 23456789显示无效输入6区号错误9028 01234567显示无效输入9 号错误10028 12345678显示无效输入10 号错误11028 qw123456显示无效输入11无反响12028 623456显示无效输入12 号错误13028 886234569显示无效输入13 号错误3NextDate问题NextDate 函数包含三个变量 month、day和year,函数的输出为输入日
12、期后一天的日期。 例如,输入为1989年5月16日,那么函数的输出为1989年5月17日。 要求输入变量 month、 day和year均为整数值,并且满足以下条件,也就是有效等价类:1 month12 1day31 1812year2012假设条件13中任何一个条件失效,那么 NextDate 函数都会产生一个输出,指明相应的变量超出取值范围,比方 “month 的值不在 1-12 范围当中。显然还存在着大量的 year、month、day 的无效组合,我们可以给出以下无效等价类: month12 day31 year2012 请根据划分好的等价类设计测试用例。有效等价类:month变量的有
13、效等价类:M1: month=4,6,9,11 M2: month=1,3,5,7,8,10 M3: month=12 M4: month=2day变量的有效等价类:D1: 1day27 D2: day=28 D3: day=29 D4: day=30 D5: day=31 year变量的有效等价类:Y1: year是闰年 Y2: year不是闰年无效等价类: M5= 月份:月份12D6= 日期:日期31Y3= 年:年201250等价类表有效等价类无效等价类year是闰年month=4、6、9、111day271month135day=293day3137month=1、3、5、7、8、101
14、day275year201639day=297month1 day140day=308month3141day=319month1 day1 day3143day=2811month1year181244day=2912month201645day=3013month1year1year201647month=21day2715day1 year181248day=2816day201649day31 year31 year2016 51day=2818month1 day1 year1 day1 year181253day=3020month31 year1 day31 year181255
15、day=2822month1 day201656day=2923month1 day201657day=3024month31 year201658day=3125month1 day31 year201659month=121day2726Year不是闰年 month=2 day=2960day=2827day=2928Year不是闰年 month=2 day=3061day=3029day=3130Year不是闰年 month=2 day=3162month=21day2731Year是闰年 month=2 day=3063day=2832day=2933Year是闰年 month=2 d
16、ay=3164测试用例设计用例ID月份日期年预期输出覆盖号码141020012001年4月11日1241020042004年4月11日17342820012001年4月29日2442820042004年4月29日18542920012001年4月30日3642920042004年4月30日19743020012001年5月1日4843020042004年5月1日2094312001无效输入37104312004无效输入371111020012001年1月11日51211020042004年1月11日211312820012001年1月29日61412820042004年1月29日2215129
17、20012001年1月30日71612920042004年1月30日231713020012001年1月31日81813020042004年1月31日241913120012001年2月1日92013120042004年2月1日2521121020012001年12月11日1022121020042004年12月11日2623122820012001年12月29日1124122820042004年12月29日2725122920012001年12月30日1226122920042004年12月30日2827123020012001年12月31日1328123020042004年12月31日2929123120012002年1月1日1430123120042005年1月1日303121020012001年2月11日153221020042004年2月11日313322820012001年3月1日163422820042004年2月29日32352292001无效输入603622920042004年3月1日33372302001无效输入61382302004无效输入63392312001无效输入62402312004无效输入6412 / 12
限制150内