




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一黑盒测试法——等价类划分法实验目的:1.掌握等价类划分的方法2.掌握按等价类方法设计测试用例实验内容:1、请用等价类划分法为三角形问题划分等价类,并设计相应的测试用例,测试下面三角形问题程序,找出缺陷并改正,给出缺陷报告。#include"iostream.h"voidmain(){ inta,b,c; cout<<"请输入三角形的三条边(界于1-100之间)"<<endl; cin>>a>>b>>c; if(a<=1||a>=100)cout<<"a的值超过允许的范围!"; if(b<=1||b>=100)cout<<"b的值超过允许的范围!"; if(c<=1||c>=100)cout<<"c的值超过允许的范围!"; if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c的值不能构成三角形!"; if(a==b&&b==c)cout<<"是等边三角形!"; if(a==b||b==c||a==c)cout<<"是等边三角形!"; if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";}三角形问题:划分等价类有效等价类号码无效等价类号码输入条件输入三个整数整数1a为非整数一边为非整数b为非整数c为非整数a,b为非整数两边为非整数b,c为非整数a,c为非整数三边a,b,c均为非整数12131415161718三个数2只给a只给一边只给b只给c只给a,b只给两边只给b,c只给a,c给出三个以上19202122232425非零数3a为0一边为零b为0c为0a,b为0两边为零b,c为0a,c为0三边a,b,c均为026272829303132正数4a<0一边<0b<0c<0a<0且b<0二边<0a<0且c<0b<0且c<0三边均<0:a<0且b<0且c<033343536373839输出条件构成一般三角形a+b>cb+c>aa+c>b567a+b<ca+b=cb+c<ab+c=aa+c<ba+c=b404142434445构成等腰三角形a=b且两边之b=c和大于a=c第三边8910构成等边三角形a=b=c11测试用例:1、覆盖有效等价类的测试用例用例IDabc预期输出覆盖等价类号码12345345445455545444一般三角形等腰三角形等腰三角形等腰三角形等边三角形1—71—7,81—7,91—7,101—7,112、覆盖无效等价类的测试用例用例IDabc覆盖等价类号码预期输出用例IDabc覆盖等价类号码预期输出6782.54534.55345.5121314无效输入无效输入无效输入2324252600530004000029303132无效输入无效输入无效输入无效输入91011123.54.5534.55.53.545.53.54.55.515161718无效输入无效输入无效输入无效输入272829-3453-4534-5333435无效输入无效输入无效输入131415345192021无效输入无效输入无效输入30313233-3-45-34-53-4-5-3-4-536373839无效输入无效输入无效输入无效输入16171819344535345622232425无效输入无效输入无效输入无效输入3435363731532531132140414243非三角形非三角形非三角形非三角形202122045305340262728无效输入无效输入无效输入38391423414445非三角形非三角形缺陷报告:缺陷编号1用例编号40缺陷类型代码错误严重级别严重优先级优先缺陷状态New测试阶段EQ\o\ac(□,√)单元□集成□系统□验收□其它〔〕可重现性EQ\o\ac(□,√)是□否BUG原因□需求分析EQ\o\ac(□,√)根本设计□详细设计□设计式样理解□编程□数据库设计□环境配置□其它〔〕缺陷描述程序无法正常执行预期结果程序能运行,并且有运行的结果重现步骤备注翻开vc++6.0,运行以下源代码。#include"iostream.h"voidmain(){ inta,b,c; cout<<"请输入三角形的三条边(界于1-100之间)"<<endl; cin>>a>>b>>c; if(a<=1||a>=100)cout<<"a的值超过允许的范围!"; if(b<=1||b>=100)cout<<"b的值超过允许的范围!"; if(c<=1||c>=100)cout<<"c的值超过允许的范围!"; if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c的值不能构成三角形!"; 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测试阶段EQ\o\ac(□,√)单元□集成□系统□验收□其它〔〕可重现性EQ\o\ac(□,√)是□否BUG原因□需求分析EQ\o\ac(□,√)根本设计□详细设计□设计式样理解□编程□数据库设计□环境配置□其它〔〕缺陷描述输入正确的三个数,不能进行正确的判断三角形的类型预期结果是一般三角形!重现步骤备注在VC++6.0中运行源程序输入数据如下图:以下局部由BUG修改人填写缺陷修改描述将以下代码if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c的值不能构成三角形!";改成if(a+b<c||a+c<b||b+c<a)cout<<"a,b,c的值不能构成三角形!";测试人修正人确认人修正日期年月日缺陷编号3用例编号2~4缺陷类型严重级别严重优先级优先缺陷状态New测试阶段EQ\o\ac(□,√)单元□集成□系统□验收□其它〔〕可重现性EQ\o\ac(□,√)是□否BUG原因□需求分析EQ\o\ac(□,√)根本设计□详细设计□设计式样理解□编程□数据库设计□环境配置□其它〔〕缺陷描述输入正确的三个数,不能正确判断三角形的类型预期结果等腰三角形重现步骤备注在VC++6.0中运行源程序输入数据如图所以:以下局部由BUG修改人填写缺陷修改描述将以下代码: if(a==b&&b==c)cout<<"是等边三角形!";改为:if((a==b&&b!=c)||(a==c&&c!=b)||(b==c&&a!=c))cout<<"是等腰三角形!";测试人修正人确认人修正日期年月日缺陷编号4用例编号6~12,20~39缺陷类型严重级别严重优先级优先缺陷状态New测试阶段EQ\o\ac(□,√)单元□集成□系统□验收□其它〔〕可重现性EQ\o\ac(□,√)是□否BUG原因□需求分析EQ\o\ac(□,√)根本设计□详细设计□设计式样理解□编程□数据库设计□环境配置□其它〔〕缺陷描述输入无效数据,不能判定能否构成三角形预期结果给出提示判断是否为有效的输入重现步骤备注在VC++6.0中运行源程序输入数据如下图:以下局部由BUG修改人填写缺陷修改描述将以下代码:if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";改为: if((a>0&&a<=100)&&(b>0&&b<=100)&&(c>0&&c<=100)) { if(a!=b&&b!=c&&c!=a)cout<<"一般三角形!"; }测试人修正人确认人修正日期年月日缺陷编号5用例编号40~45缺陷类型严重级别严重优先级优先缺陷状态New测试阶段EQ\o\ac(□,√)单元□集成□系统□验收□其它〔〕可重现性EQ\o\ac(□,√)是□否BUG原因□需求分析EQ\o\ac(□,√)根本设计□详细设计□设计式样理解□编程□数据库设计□环境配置□其它〔〕缺陷描述输入不能构成三角形的有效数据,不能判定是否为三角形预期结果不能构成三角形重现步骤备注在VC++6.0中运行源程序输入数据如下图:以下局部由BUG修改人填写缺陷修改描述将以下代码:if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";改为: if((a>0&&a<=100)&&(b>0&&b<=100)&&(c>0&&c<=100)) { if((a!=b&&b!=c&&c!=a)&&(a+b>c&&a+c>b&&b+c>a))cout<<"一般三角形!"; }测试人修正人确认人修正日期年月日缺陷编号6用例编号13~19缺陷类型严重级别严重优先级优先缺陷状态New测试阶段EQ\o\ac(□,√)单元□集成□系统□验收□其它〔〕可重现性EQ\o\ac(□,√)是□否BUG原因□需求分析EQ\o\ac(□,√)根本设计□详细设计□设计式样理解□编程□数据库设计□环境配置□其它〔〕缺陷描述只输入三角形的一边或两边,程序进入等待的状态,没有提示。预期结果给出提示判断是否为有效的输入重现步骤备注在VC++6.0中运行源程序输入数据如下图:以下局部由BUG修改人填写缺陷修改描述测试人修正人确认人修正日期年月日2、某城市号码由三局部组成,分别是:地区码:以0开头的三位或者四位数字〔包括0〕;号码:以非0、非1开头的七位或者八位数字。假定被测程序能接受一切符合上述规定的号码,拒绝所有不符合规定的号码。要求:〔1〕请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法的步骤,给出测试用例表。〔2〕如果所生成的测试用例不够全面,请考虑用别的测试方法生成一些补充的测试用例。解:〔1〕采用等阶类划分法,因为等阶类划分把输入域分成假设干局部,然后从每个局部选取少数代表性的数据当做测试用例。〔2〕步骤:划分等阶类,列出等阶类表,确定测试用例。等价类表:输入条件有效等价类号码无效等价类号码地区码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测试用例表:用例ID测试数据期望结果覆盖等价类地区码号码102235688接受〔有效〕1,42022347789接受〔有效〕1,530872235688接受〔有效〕2,4408722347789接受〔有效〕2,5502342235688接受〔有效〕3,46023422347789接受〔有效〕3,5704A32235688拒绝〔无效〕681222235688拒绝〔无效〕7912232235688拒绝〔无效〕810022235688拒绝〔无效〕911022342235688拒绝〔无效〕1012122235688拒绝〔无效〕1113123452235688拒绝〔无效〕12140782334AA4拒绝〔无效〕1315078234567拒绝〔无效〕1416078723467890拒绝〔无效〕15170780234455拒绝〔无效〕16180781234546拒绝〔无效〕173、请尝试编写NextDate函数,考虑闰年,2月等特殊情况,并划分等价类,按强一般等价类划分法设计测试用例,并进行测试,要求给出局部测试用例截图,撰写测试报告〔模版见附录3〕。测试报告一、实验目的1.掌握等价类划分的方法2.掌握按等价类方法设计测试用例二、实验内容2.1实验问题描述:请尝试编写NextDate函数,考虑闰年,2月等特殊情况,并划分等价类,按强一般等价类划分法设计测试用例,并进行测试,要求给出局部测试用例截图2.2测试环境与配置:在xp系统下运行VC++6.0的Win32控制台应用程序,执行c++源程序。2.3源程序:2.1测试程序源代码#include<iostream>usingnamespacestd;voidNextDate(intyear,intmonth,intday);voidmain(){ intyear=0,month=0,day=0; NextDate(year,month,day);}voidNextDate(intyear,intmonth,intday){ cout<<"请输入年份:"<<endl; cin>>year; while(!(year>=1811&&year<=2023)) { cout<<"年份超过界限,请重新输入"<<endl; cin>>year; } cout<<"请输入月份:"<<endl; cin>>month; while(month>12||month<1) { cout<<"月份输入有误,请重新输入"<<endl; cin>>month; } cout<<"请输入日期:"<<endl; cin>>day; while(day>31||day<1) { cout<<"日期输入有误,请重新输入"<<endl; cin>>day; }if((year%4==0&&year%100!=0)||(year%400==0))//检查闰年; { inti=0; i=day-29; while(month==2&&i>0) { cout<<"本月是闰月,请在1-29之间从新输入日期"<<endl; cin>>day; } if(month==2&&day==29) { month=3; day=1; } elseday++; } elseday++; //月底计算; switch(month) { case1: case3: case5: case7: case8: case10: if(day==32) { month++; day=1; cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl; } break; case2: if(day==29) { month=3; day=1; } break; case4: case6: case9: case11: if(day==31) { month++; day=1; cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl; } break; case12: if(day==32) { year++; month=1; day=1; cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl; } break; } cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}2..4程序思路说明:1、判断输入年是否在1812——2023范围内。2、判断输入月是否在1——12范围内。3、判断输入日期是否在1——31范围内。4、考虑年份是否为闰年,月份是否为2月。三、测试方法3.1等价类划分有效等价类:month变量的有效等价类:M1:{month=4,6,9,11}M2:{month=1,3,5,7,8,10}M3:{month=12}M4:{month=2}day变量的有效等价类:D1:{1≤day≤27}D2:{day=28}D3:{day=29}D4:{day=30}D5:{day=31}year变量的有效等价类:Y1:{year是闰年}Y2:{year不是闰年}无效等价类:M5={月份:月份<1}M6={月份:月份>12}D6={日期.:日期<1}D7={日期:日期>31}Y3={年:年<1812}Y4={年:年>2023}3.2测试用例设计用例ID月份日期年预期输出141020012001年4月11日241020042004年4月11日342820012001年4月29日442820042004年4月29日542920012001年4月30日642920042004年4月30日743020012001年5月1日843020042004年5月1日94312001无效输入104312004无效输入1111020012001年1月11日1211020042004年1月11日1312820012001年1月29日1412820042004年1月29日1512920012001年1月30日1612920042004年1月30日1713020012001年1月31日1813020042004年1月31日1913120012001年2月1日2013120042004年2月1日21121020012001年12月11日22121020042004年12月11日23122820012001年12月29日24122820042004年12月29日25122920012001年12月30日26122920042004年12月30日27123020012001年12月31日28123020042004年12月31日29123120012002年1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit 2 Learning English is fun!(教学设计)-2024-2025学年冀教版(2024)初中英语七年级上册
- 2025业务员总结范文(22篇)
- 第六单元实验活动2 二氧化碳的实验室制取与性质 教学设计-2023-2024学年九年级化学人教版上册
- 2025届江苏苏锡常镇四市高三一模生物试卷试题(含答案详解)
- 突出美容师考试重要知识点的制定策略试题及答案
- 毕业实习总结应届毕业生(3篇)
- 2025至2030年中国塑料糖果罐数据监测研究报告
- 汽车美容师考试特色服务与市场细分分析试题及答案
- 家长会代表发言稿大全(素材下载8篇)
- 2025年中国车载台稳压电源市场调查研究报告
- 钢筋优化技术创效手册(2022年)
- 基于微信小程序的音乐播放的设计与实现
- 宣传册设计教学课件
- 授权查档的授权委托书
- 【基于Java的水果商城购物系统设计与实现10000字(论文)】
- 置业顾问销售逼单技巧培训
- 医院处方笺模板
- 【工程项目施工阶段造价的控制与管理8100字(论文)】
- XX学校推广应用“国家中小学智慧教育平台”工作实施方案
- 非遗文化创意产品设计 课件全套 第1-5章 概述- 非遗文创产品设计案例解析
- 法律尽职调查所需资料清单
评论
0/150
提交评论