实验一 黑盒测试法——等价类划分法
实验目的:1.掌握等价类划分的方法
2.掌握按等价类方法设计测试用例 实验内容:
1、请用等价类划分法为三角形问题划分等价类,并设计相应的测试用例,测试下面三角形问题程序,找出缺陷并改正,给出缺陷报告。 #include \void main(){ int a,b,c; }
cout<<\请输入三角形的三条边(界于1-100之间)\ cin>>a>>b>>c;
if(a<=1||a>=100)cout<<\的值超过允许的范围!\ if(b<=1||b>=100)cout<<\的值超过允许的范围!\ if(c<=1||c>=100)cout<<\的值超过允许的范围!\
if(a+b>c||a+c>b||b+c>a)cout<<\的值不能构成三角形!\ if(a==b&&b==c)cout<<\是等边三角形!\
if(a==b||b==c||a==c)cout<<\是等边三角形!\ if(a<>b&&b<>c&&c<>a)cout<<\一般三角形!\
三角形问题:划分等价类 输 入 条 件 输入三个整数 有效等价类 号码 无效等价类 整数 1 a为非整数 一边为非整数 b为非整数 c为非整数 a,b为非整数 两边为非整数 b,c为非整数 a,c为非整数 三边a,b,c均为非整数 2 只给a 只给一边 只给b 只给c 只给a,b 只给两边 只给b,c 只给a,c 号码 12 13 14 15 16 17 18 三个数 19 20 21 22 23 24 给出三个以上 25 非零数 3 a为0 一边为零 b为0 c为0 a,b为0 两边为零 b,c为0 a,c为0 三边a,b,c均为0 a<0 一边<0 b<0 c<0 a<0且b<0 二边<0 a<0且c<0 b<0且c<0 三边均<0:a<0且b<0且c<0 a+b
1、覆盖有效等价类的测试用例
8 9 10 11 用例ID a b c 预期输出 1 2 3 4 5 3 4 4 5 4 4 4 5 4 4 覆盖等价类号码 5 一般三角形 1—7 5 等腰三角形 1—7,8 5 等腰三角形 1—7,9 5 等腰三角形 1—7,10 4 等边三角形 1—7,11 2、覆盖无效等价类的测试用例 用例a b c ID 6 7 8 覆盖等价类号码 2.5 4 5 12 3 4.5 5 13 3 4 5.5 14 预期输用例a b c 覆盖等 预期输出 ID 价类号出 码 无效输23 0 0 5 29 无效输入 24 3 0 0 30 入 无效输25 0 4 0 31 无效输入 26 0 0 0 32 入 无效输无效输入 入 无效输入 无效输27 -3 4 5 33 无效输入 28 3 -4 5 34 入 无效输29 3 4 -5 35 无效输入 入 无效输无效输入 入 无效输入 无效输30 -3 -4 5 36 无效输入 31 -3 4 -5 37 入 无效输32 3 -4 -5 38 无效输入 33 -3 -4 -5 39 入 无效输无效输入 入 无效输入 无效输34 3 1 5 40 非三角入 35 3 2 5 41 形 无效输36 3 1 1 42 非三角入 37 3 2 1 43 形 无效输非三角入 形 无效输非三角入 形 无效输38 1 4 2 44 非三角入 39 3 4 1 45 形 无效输非三角入 形 9 10 11 12 3.5 4.5 5 3 4.5 5.5 3.5 4 5.5 3.5 4.5 5.5 15 16 17 18 13 3 14 4 15 5 19 20 21 16 3 4 17 4 5 18 3 5 19 3 4 5 6 22 23 24 25 20 0 4 5 21 3 0 5 22 3 4 0 26 27 28 无效输入 缺陷报告:
缺陷编号 1 用例编号 40 缺陷类型 代码错误 严重级别 严重 优先级 优先 缺陷状态 New 测试阶段 单元 □ 集成 □ 系统 □ 验收 □ 其可重现性 是 □否 它( ) BUG原因 □需求分析 基本设计□ 详细设计□ 设计式样理解□ 编程 □数据库设计 □ 环境配置□ 其它 ( ) 缺陷描述 程序无法正常执行 预期结果 程序能运行,并且有运行的结果 重现步骤 备注 打开vc++6.0,运行以下源代码。 #include \ void main(){ int a,b,c; cout<<\请输入三角形的三条边(界于1-100之间)\ cin>>a>>b>>c; if(a<=1||a>=100)cout<<\的值超过允许的范围!\ if(b<=1||b>=100)cout<<\的值超过允许的范围!\ if(c<=1||c>=100)cout<<\的值超过允许的范围!\ if(a+b>c||a+c>b||b+c>a)cout<<\的值不能构成三角形!\ if(a==b&&b==c)cout<<\是等边三角形!\ if(a==b||b==c||a==c)cout<<\是等边三角形!\ if(a<>b&&b<>c&&c<>a)cout<<\一般三角形!\} 发现错误,无法执行。 以下部分由BUG修改人填写 缺陷修改描述 将if语句的“<>”改成“!=” 测试 人
修正人 确认人 修正日期 年 月 日 缺陷编号 2 用例编号 1 缺陷类型 代码错误 严重级别 严重 优先级 优先 缺陷状态 New 测试阶段 单元 □ 集成 □ 系统 □ 验收 □ 其可重现性 是 □否 它( ) BUG原因 □需求分析 基本设计□ 详细设计□ 设计式样理解□ 编程 □数据库设计 □ 环境配置□ 其它 ( ) 缺陷描述 输入正确的三个数,不能进行正确的判断三角形的类型 预期结果 是一般三角形! 重现步骤 备注 1、 在VC++6.0中运行源程序 输入数据如图所示: 以下部分由BUG修改人填写 缺陷修改描述 将以下代码 if(a+b>c||a+c>b||b+c>a)cout<<\的值不能构成三角形!\改成 if(a+b