




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、华中科技大学文华学院软件质量与测试课程设计软件工程专业07级3班姓名:曹洪学号全称:070107031101时间:2010年11月12日软件质量与测试课程设计1、实验目的掌握软件测试用例的设计掌握软件缺陷报告的设计掌握软件缺陷修正报告的设计2、实验过程程序preday的基本功能:输入有效的年、月、日,按计算按钮,画面输出显示前1天的年,月,日;能对日期非法输入的合理提示等。2.1程序代码的编写 详见preday文件2.2黑盒软件测试用例的设计 等价类划分法程序的有效输入日期为1800年1月1日到2050年12月31日之间的有效日期。其中,有效等价类为1800年1月1日到2050年12月3日之间
2、的日期,其中年份为1800到2050之间的整数;月份为1到12之间的整数;当月份为1、3、5、7、8、10、12时,日为1到31之间的整数,当月份为4、6、9、11时,日为1到30之间的整数,当年份为闰年元份为2时,日为1到29之间的数值,否则为1到28之间的数值。无效等价类:1800年1月1日之前的日期;2050年12月3日之后的日期;1800年1月1日到2050年12月31日之间的日期,但是月份不为1到12之间的整数;或者当月份为1、3、5、7、8、10、12时,日不为1到31之间的整数,当月份为4、6、9、11时,日不为1到30之间的整数,当年份为闰年元份为2时,日为1到29之间的数值,
3、否则为1到28之间的数值。最简单的等价类划分直接以输入条件边界来划分,得到的等价类集合见下表,其中Y1-Y3,M1-M3,D1-D3分别是三个输入条件的相应的等价类的编号。表1:preday问题的等价类划分等价类年份月份日期有效等价类Y1:1800年份2500M1:1月份12D1:1日期31无效等价类Y2:年份<1800M2:月份<1D2:日期<1Y3:年份>2050M3:月份>12D3:日期>31根据表1的等价类划分,无效等价类测试可以得到如表2的测试用例,而较为合理的有效等价类的划分如表3。三个输入各自具有不同的有效等价类数目,若从每个等价类中选择一个典
4、型值,则年份、月份和日期的取值个数分别为2、4、4,这时将年份的水平值加以扩展,即对于年份,可在Y1和Y2中各选两个典型值。这样得到所有输入条件的取值如下:年份:1850、1900、2000、2004月份:1、3、5、11日期:1、29、30、31此时,构成的有效等价类测试用例如表4所示:表2:Preday的无效等价类的测试用例ID输入日期(年-月-日)操作步骤预期输出实际输出备注ND-0011700-6-15输入年月日,点击“计算”按钮提示“请输入一个在1800和2500之间的整数”请输入一个在1800和2500之间的整数年份在Y2中ND-0023000-12-15输入年月日,点击“计算”按
5、钮提示“请输入一个在1800和2500之间的整数”请输入一个在1800和2500之间的整数年份在Y3中ND-00319891-15输入年月日,点击“计算”按钮提示“请输入一个在1和12之间的整数”请输入一个在1和12之间的整数月份在M2中ND-0041989-13-12输入年月日,点击“计算”按钮提示“请输入一个在1和12之间的整数”请输入一个在1和12之间的整数月份在M3中ND-0051989-4-2输入年月日,点击“计算”按钮提示“请填入一个在1和31之间的整数”请填入一个在1和31之间的整数日期在D2中ND-0061989-4-32输入年月日,点击“计算”按钮提示“请填入一个在1和31之
6、间的整数”请填入一个在1和31之间的整数日期在D3中表3:较为合理的有效等价类的划分等价类年份月份日期有效等价类Y1:1800年份2050,且为闰年M1: 5、7、10、12D1:1日期28Y2:1800年份2050,且为非闰年M2:2、4、6、8、9、11D2:29M3:1D3:30M4:3D4:31表4:有效等价类测试用例ID输入日期(年-月-日)操作步骤预期输出(年-月-日)实际输出(年-月-日)ND-0071850-1-1输入年月日,点击“计算”按钮1849-12-311849-12-31ND-0081850-3-29同上1850-3-28.1850-3-28.ND-0091850-5
7、-30同上1850-5-291850-5-29ND-0101850-11-31同上输入日期不合法的合理提示The month 11 Can not have 31 days.ND-0111900-1-29同上1900-1-281900-1-28ND-0121900-3-30同上1900-3-291900-3-29ND-0131900-5-31同上1900-5-301900-5-30ND-0141900-11-1同上1900-10-311900-10-31ND-0152000-1-30同上2000-1-282000-1-28ND-0162000-3-31同上2000-3-302000-3-30N
8、D-0172000-5-1同上2000-4-302000-4-30ND-0182000-11-29同上2000-11-282000-11-28ND-0192004-1-31同上2004-1-302004-1-30ND-0202004-2-1同上2004-1-312004-1-31ND-0212004-5-29同上2004-5-282004-5-28ND-0222004-11-30同上2004-11-292004-11-292.2.2边界值法根据preday的有效输入日期可以设置边界值法的测试用例取值如下,年份:1800、1801、2049、2050月份:1、2、11、12日期:1、2、30、3
9、1此时,构成的边界值法测试用例如表5所示。表5:边界值法测试用例ID输入日期(年-月-日)操作步骤预期输出(年-月-日)实际输出(年-月-日)ND-0231800-1-1输入年月日,点击“计算”按钮输入日期超出范围的合理提示Reach the min date.ND-0241800-2-1同上1800-1-311800-1-31ND-0251800-11-30同上1800-11-291800-11-29ND-0261800-12-31同上1800-12-301800-12-30ND-0271801-1-2同上1801-1-11801-1-1ND-0281801-2-30同上输入日期不合法的合理
10、提示The month 2 Can not have 30 days.ND-0291801-11-31同上输入日期不合法的合理提示The month 11 Can not have 31 days.ND-0301801-12-1同上1801-11-301801-11-30ND-0312049-1-30同上2049-1-292049-1-29ND-0322049-2-31同上输入日期不合法的合理提示The month 2 Can not have 31 days.ND-0332049-11-1同上2049-10-312049-10-31ND-0342049-12-2同上2049-12-12049
11、-12-1ND-0352050-1-31同上2050-1-302050-1-30ND-0362050-2-1同上2050-1-312050-1-31ND-0372050-11-2同上2050-11-12050-11-1ND-0382050-12-30同上2050-12-292050-12-292.2.2错误推测法错误推测法是基于测试人员的经验和直觉来推测系统中可能存在的各种缺陷,有针对地设计测试用例的方法。错误推法的基本思想是列举出系统中所有可能的缺陷和容易发生缺陷的特殊情况,并根据他们选择测试用例。程序preday错误推测法测试用例设计如表6所示。表6:错误推测法测试用例ID输入日期(年-月
12、-日)操作步骤预期输出(年-月-日)实际输出(年-月-日)备注ND-039无无所有的接文本框都清零如图1Ver1-Bug0001ND-0401800-12-0输入年月日,点击“计算”按钮无1800-11-30Ver1-Bug0002ND-0411989-8-1同上1989-7-311989-7-30Ver1-Bug0003ND-0421800-1-1同上最小输入日期的合理提示输出“Reach the min date.”通过ND-0432050-12-31同上2050-12-302050-12-30通过ND-0442000-3-1同上2000-2-292000-2-29通过ND-0452000
13、-0-0同上无2000-1-29Ver1-Bug00042.3 黑盒软件测试用例的执行 Ver1-Bug0001运行程序后,界面上的年、月、日输入框内的数据没有清空。如图1所示: Ver1-Bug0002输入日期1800-12-0后,会跳出输入日期不合法提示的警告信息,如图2所示,点击确定后能得到前一天的日期并显示在对话框内,如图3所示: Ver1-Bug0003输入1989年8月1日后点击确定按钮后显示的日期是1989-7-30,实际上7月是有31天的,即程序显示的日期不正确,程序运行如图4所示: Ver1-Bug0004输入日期2000-0-0后,会跳出“请填入一个在1和12之间的整数”的
14、警告信息,如图5所示,点击确定后能在对话框内显示20001-29,如图6所示:图1图2图3图4图5图62.4 软件缺陷报告的设计 缺陷报告缺陷名称:显示错误的日期 缺陷编号ID: Ver1-Bug0003报 告 人:曹 洪 报告时间: 2010-11-3部 门:营业部 客服B组发 现 人:曹 洪 发现时间: 2010-11-1部 门:泉海潮公司发现场所:泉海潮公司 软件工具实验室501 软件系统名: preday 软件版本: preday 1.0版发生阶段: 用户使用再现率: 100%严重级: 高优先级: 高处理决定决定人:曹 洪2010-11-3,缺陷报告提交给软件开发部门,限2010-11
15、-5 18:00前修复。2010-11-4上午,质保部门修错验证测试;2010-11-4 下午,与其他修复软件一起提交给版本发布部门2010-11-5,版本发布部门作为升级版Ver1.0SP1交付给用户。缺陷现象输入日期是1989-8-1,点击确定按钮后显示的日期是1989-7-30,实际上7月是有31天的,即程序显示的日期不正确,程序运行如图4所示:缺陷再现步骤1、 在线数据d:predayBugVer1Ver1-Bug0003Ver1-Bug0003.txt2、 输入数据3、 点击【计算】按钮2.5 软件缺陷修正报告的设计修错报告缺陷名称:显示错误的日期 缺陷编号ID: Ver1-Bug0
16、003报 告 人:曹 洪 报告时间: 2010-11-4部 门:软件开发部 preday 项目组修 错 人:宫毕克 修错时间: 2010-11-4部 门:软件开发部 preday 项目组1.缺陷原因表面原因:将7月的天数错误的设置为30天,实际应是31天。实质原因:在设置日期为1、月份为8时,选择处理的逻辑错误。2.缺陷对策重新设置8月1日的逻辑处理。3.对策函数名predayDlg.cpp的void Preday1( const int& year, const int& month, const int& day, CString& strpreday )修
17、正记号:Ver1-Bug00034.缺陷产生阶段编码5.修正后结果2.6 白盒软件测试用例的设计修正的代码:if(month = 5 | month = 7 | month = 10 | month = 12)preday = 30;premonth = month - 1;else if (month = 3)premonth = month -1;if(isLeapYear(year)preday = 29;elsepreday = 28;else if(month = 1)if( year = 1800 )AfxMessageBox( "Reach the min date.n
18、" );bValid = false;elsepreday = 31;premonth = 12;preyear = year - 1;elsepreday = 31;premonth = month -1;语句覆盖利用语句覆盖设计测试用例时应保证程序的每一条可执行语句至少执行一次。从程序图上看,其实等同于节点覆盖。语句覆盖率的计算方式如下:语句覆盖率 = 至少被执行一次的语句数量/可执行的语句总数进行白盒测试的程序段的流程图如图所示,开始此段程序的条件是日期为1,即在设计测试用例时所有的日期都必须为1时程序运行时才能运行选择的这段程序。语句覆盖的测试用例如表所示,表中通过的路径为图
19、2.6.1中所示的路径。图 逻辑覆盖的流程图表 语句覆盖的测试用例设计ID输入预期输出通过路径语句覆盖年份月份日期年-月-日LC-0011989511989-4-30A16.67LC-0021980311980-2-29BCD16.67LC-0032002312002-2-28BCE16.67LC-004180011Reach the min date.BFGH16.67LC-0051801111800-12-31BFGI25LC-0061988611988-5-31BFJ16.67判定覆盖判定覆盖又称分支覆盖,其含义是:设计测试用例时应保证程序中每个判定节点的取真和去假分支至少执行一次。由于
20、判定节点并非只有二值情况,对于多分支的情况,判定覆盖的含义为:测试用例的设计应保证程序中每个判定节点取得每种可能的结果至少一个。从流程图来看,判定覆盖等同于边覆盖。判定覆盖率的计算公式如下:判定覆盖率 = 判定结果被评价的次数 / 判定结果的总数 判定覆盖的测试用例设计ID输入预期输出通过路径判定覆盖年份月份日期年-月-日LC-00719901211990-11-30A20LC-0081898311898-2-28BCE60LC-0092004312004-2-29BCD60LC-0102007112006-12-31BFGI80LC-011180011Reach the min date.B
21、FGH80LC-01220111112011-10-31BFJ60条件组合覆盖条件组合覆盖的含义是:测试用例的设计应满足每个判定节点中所有简单判定条件的各种的组合应至少执行一次。条件组合覆盖率的计算方法如下:条件组合覆盖率 = 条件操作数值至少被评价一次的数量 / 条件操作数值的所有组合总数条件组合覆盖的测试用例设计表,其相应测试用例的简单判定条件的判定如简单判定条件表。表: 条件组合覆盖的测试用例ID输入预期输出条件组合覆盖率年份月份日期年-月-日LC-0132011512011-4-3012.5LC-0142012712012-6-3025LC-01520331012033-9-3037.
22、5LC-01620001212000-11-3050LC-0171866311866-2-2862.5LC-0181804311804-2-2962.5LC-0191800111800-4-3087.5LC-0201999111999-4-3087.5简单判定条件判定表ID简单判定条件Month=5Month=7Month=10Month= 12Month=3Month=1Year=1800isLeapYear(year)LC-013TLC-014FTLC-015FFTLC-016FFFTLC-017FFFFTFLC-018FFFFTTLC-019FFFFFTTLC-020FFFFFTF2.7 黑盒回归测试用例的设计 验证软件缺陷的修正验证人:曹洪验证版本:Ver1.0SP11、 使用发生软件缺陷的测试用例(1989-8-1)输出结果:preday is: 1989-7-31.判定:OK输入日期1989-8-1。点击计算按钮,得到结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025山东东营众邦人力资源有限责任公司招聘43人笔试参考题库附带答案详解
- 四川传媒学院《影视后期合成基础》2023-2024学年第二学期期末试卷
- 阿克苏工业职业技术学院《能源化工概论》2023-2024学年第二学期期末试卷
- 贵州电子商务职业技术学院《人机工学》2023-2024学年第二学期期末试卷
- 安庆师范大学《插花与茶艺》2023-2024学年第二学期期末试卷
- 成都中医药大学《户外救援》2023-2024学年第二学期期末试卷
- 青海交通职业技术学院《高层建筑给排水》2023-2024学年第二学期期末试卷
- 德州职业技术学院《大学生创新创创业基础》2023-2024学年第二学期期末试卷
- 德州学院《机器学习初步》2023-2024学年第二学期期末试卷
- 楚雄医药高等专科学校《幼儿园教育环境创设》2023-2024学年第二学期期末试卷
- 甲醛基础知识
- 污水处理与再生利用
- 机车检修管理
- 输煤栈桥安全施工方案
- 闸门维修施工方案
- 2024燃气安全监管信息化平台建设与维护服务合同3篇
- 卫生院三基三严培训计划
- 中央空调改造项目施工方案
- 2025年巴中发展控股集团限公司招聘高频重点提升(共500题)附带答案详解
- (工作总结)业扩报装技术工作总结范文
- 年产10万吨高盐稀态发酵酱油车间设计
评论
0/150
提交评论