软件质量与测试课程设计实验报告样本.doc
《软件质量与测试课程设计实验报告样本.doc》由会员分享,可在线阅读,更多相关《软件质量与测试课程设计实验报告样本.doc(20页珍藏版)》请在咨信网上搜索。
华中科技大学文华学院 《软件质量与测试》课程设计 软件工程专业07级3班 姓名: 曹洪 学号全称: 时间: 11月12日 《软件质量与测试》课程设计 1、 实验目的 掌握软件测试用例的设计 掌握软件缺陷报告的设计 掌握软件缺陷修正报告的设计 2、 实验过程 程序preday的基本功能: 输入有效的年、 月、 日, 按[计算]按钮, 画面输出显示前1天的年, 月, 日; 能对日期非法输入的合理提示等。 2.1程序代码的编写 详见preday文件 2.2黑盒软件测试用例的设计 2.2.1等价类划分法 程序的有效输入日期为18 1月1日到2050年12月31日之间的有效日期。其中, 有效等价类为 18 1月1日到2050年12月3日之间的日期, 其中 年份为1800到2050之间的整数; 月份为1到12之间的整数; 当月份为1、 3、 5、 7、 8、 10、 12时, 日为1到31之间的整数, 当月份为4、 6、 9、 11时, 日为1到30之间的整数, 当年份为闰年元份为2时, 日为1到29之间的数值, 否则为1到28之间的数值。 无效等价类: 18 1月1日之前的日期; 2050年12月3日之后的日期; 18 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之间的数值, 否则为1到28之间的数值。 最简单的等价类划分直接以输入条件边界来划分, 得到的等价类集合见下表, 其中Y1-Y3,M1-M3,D1-D3分别是三个输入条件的相应的等价类的编号。 表1: preday问题的等价类划分 等价类 年份 月份 日期 有效等价类 Y1:1800≤年份≤2500 M1:1≤月份≤12 D1:1≤日期≤31 无效等价类 Y2:年份<1800 M2:月份<1 D2:日期<1 Y3:年份>2050 M3:月份>12 D3:日期>31 根据表1的等价类划分, 无效等价类测试能够得到如表2的测试用例, 而较为合理的有效等价类的划分如表3。三个输入各自具有不同的有效等价类数目, 若从每个等价类中选择一个典型值, 则年份、 月份和日期的取值个数分别为2、 4、 4, 这时将年份的水平值加以扩展, 即对于年份, 可在Y1和Y2中各选两个典型值。这样得到所有输入条件的取值如下: 年份: 1850、 1900、 、 月份: 1、 3、 5、 11 日期: 1、 29、 30、 31 此时, 构成的有效等价类测试用例如表4所示: 表2: Preday的无效等价类的测试用例 ID 输入日期 (年-月-日) 操作步骤 预期输出 实际输出 备注 ND-001 1700-6-15 输入年月日, 点击”计算”按钮 提示”请输入一个在1800和2500之间的整数” 请输入一个在1800和2500之间的整数 年份在Y2中 ND-002 3000-12-15 输入年月日, 点击”计算”按钮 提示”请输入一个在1800和2500之间的整数” 请输入一个在1800和2500之间的整数 年份在Y3中 ND-003 1989—1-15 输入年月日, 点击”计算”按钮 提示”请输入一个在1和12之间的整数” 请输入一个在1和12之间的整数 月份在M2中 ND-004 1989-13-12 输入年月日, 点击”计算”按钮 提示”请输入一个在1和12之间的整数” 请输入一个在1和12之间的整数 月份在M3中 ND-005 1989-4--2 输入年月日, 点击”计算”按钮 提示”请填入一个在1和31之间的整数” 请填入一个在1和31之间的整数 日期在D2中 ND-006 1989-4-32 输入年月日, 点击”计算”按钮 提示”请填入一个在1和31之间的整数” 请填入一个在1和31之间的整数 日期在D3中 表3: 较为合理的有效等价类的划分 等价类 年份 月份 日期 有效等价类 Y1:1800≤年份≤2050, 且为闰年 M1: 5、 7、 10、 12 D1:1≤日期≤28 Y2:1800≤年份≤2050, 且为非闰年 M2:2、 4、 6、 8、 9、 11 D2:29 M3:1 D3:30 M4:3 D4:31 表4: 有效等价类测试用例 ID 输入日期 (年-月-日) 操作步骤 预期输出 (年-月-日) 实际输出 (年-月-日) ND-007 1850-1-1 输入年月日, 点击”计算”按钮 1849-12-31 1849-12-31 ND-008 1850-3-29 同上 1850-3-28. 1850-3-28. ND-009 1850-5-30 同上 1850-5-29 1850-5-29 ND-010 1850-11-31 同上 输入日期不合法的合理提示 The month 11 Can not have 31 days. ND-011 1900-1-29 同上 1900-1-28 1900-1-28 ND-012 1900-3-30 同上 1900-3-29 1900-3-29 ND-013 1900-5-31 同上 1900-5-30 1900-5-30 ND-014 1900-11-1 同上 1900-10-31 1900-10-31 ND-015 -1-30 同上 -1-28 -1-28 ND-016 -3-31 同上 -3-30 -3-30 ND-017 -5-1 同上 -4-30 -4-30 ND-018 -11-29 同上 -11-28 -11-28 ND-019 -1-31 同上 -1-30 -1-30 ND-020 -2-1 同上 -1-31 -1-31 ND-021 -5-29 同上 -5-28 -5-28 ND-022 -11-30 同上 -11-29 -11-29 2.2.2边界值法 根据preday的有效输入日期能够设置边界值法的测试用例取值如下, 年份: 1800、 1801、 2049、 2050 月份: 1、 2、 11、 12 日期: 1、 2、 30、 31 此时, 构成的边界值法测试用例如表5所示。 表5: 边界值法测试用例 ID 输入日期 (年-月-日) 操作步骤 预期输出 (年-月-日) 实际输出 (年-月-日) ND-023 1800-1-1 输入年月日, 点击”计算”按钮 输入日期超出范围的合理提示 Reach the min date. ND-024 1800-2-1 同上 1800-1-31 1800-1-31 ND-025 1800-11-30 同上 1800-11-29 1800-11-29 ND-026 1800-12-31 同上 1800-12-30 1800-12-30 ND-027 1801-1-2 同上 1801-1-1 1801-1-1 ND-028 1801-2-30 同上 输入日期不合法的合理提示 The month 2 Can not have 30 days. ND-029 1801-11-31 同上 输入日期不合法的合理提示 The month 11 Can not have 31 days. ND-030 1801-12-1 同上 1801-11-30 1801-11-30 ND-031 2049-1-30 同上 2049-1-29 2049-1-29 ND-032 2049-2-31 同上 输入日期不合法的合理提示 The month 2 Can not have 31 days. ND-033 2049-11-1 同上 2049-10-31 2049-10-31 ND-034 2049-12-2 同上 2049-12-1 2049-12-1 ND-035 2050-1-31 同上 2050-1-30 2050-1-30 ND-036 2050-2-1 同上 2050-1-31 2050-1-31 ND-037 2050-11-2 同上 2050-11-1 2050-11-1 ND-038 2050-12-30 同上 2050-12-29 2050-12-29 2.2.2错误推测法 错误推测法是基于测试人员的经验和直觉来推测系统中可能存在的各种缺陷, 有针对地设计测试用例的方法。错误推法的基本思想是列举出系统中所有可能的缺陷和容易发生缺陷的特殊情况, 并根据她们选择测试用例。 程序preday错误推测法测试用例设计如表6所示。 表6: 错误推测法测试用例 ID 输入日期 (年-月-日) 操作步骤 预期输出 (年-月-日) 实际输出 (年-月-日) 备注 ND-039 无 无 所有的接文本框都清零 如图1 Ver1-Bug0001 ND-040 1800-12-0 输入年月日, 点击”计算”按钮 无 1800-11-30 Ver1-Bug0002 ND-041 1989-8-1 同上 1989-7-31 1989-7-30 Ver1-Bug0003 ND-042 1800-1-1 同上 最小输入日期的合理提示 输出”Reach the min date.” 经过 ND-043 2050-12-31 同上 2050-12-30 2050-12-30 经过 ND-044 -3-1 同上 -2-29 -2-29 经过 ND-045 -0-0 同上 无 --1-29 Ver1-Bug0004 2.3 黑盒软件测试用例的执行 2.3.1 Ver1-Bug0001 运行程序后, 界面上的年、 月、 日输入框内的数据没有清空。如图1所示: 2.3.2 Ver1-Bug0002 输入日期1800-12-0后, 会跳出输入日期不合法提示的警告信息, 如图2所示, 点击确定后能得到前一天的日期并显示在对话框内, 如图3所示: 2.3.3 Ver1-Bug0003 输入1989年8月1日后点击确定按钮后显示的日期是1989-7-30, 实际上7月是有31天的, 即程序显示的日期不正确, 程序运行如图4所示: 2.3.3 Ver1-Bug0004 输入日期 -0-0后, 会跳出”请填入一个在1和12之间的整数”的警告信息, 如图5所示, 点击确定后能在对话框内显示 —1-29, 如图6所示: 图1 图2 图3 图4 图5 图6 2.4 软件缺陷报告的设计 缺陷报告 缺陷名称: 显示错误的日期 缺陷编号ID: Ver1-Bug0003 报 告 人: 曹 洪 报告时间: -11-3 部 门: 营业部 客服B组 发 现 人: 曹 洪 发现时间: -11-1 部 门: 泉海潮公司 发现场所: 泉海潮公司 软件工具实验室501 软件系统名: preday 软件版本: preday 1.0版 发生阶段: 用户使用 再现率: 100% 严重级: 高 优先级: 高 处理决定 决定人: 曹 洪 -11-3, 缺陷报告提交给软件开发部门, 限 -11-5 18:00前修复。 -11-4上午, 质保部门修错验证测试; -11-4 下午, 与其它修复软件一起提交给版本发布部门 -11-5, 版本发布部门作为升级版Ver1.0SP1交付给用户。 缺陷现象 输入日期是1989-8-1, 点击确定按钮后显示的日期是1989-7-30, 实际上7月是有31天的, 即程序显示的日期不正确, 程序运行如图4所示: 缺陷再现步骤 1、 在线数据 d:\preday\Bug\Ver1\Ver1-Bug0003\Ver1-Bug0003.txt 2、 输入数据 3、 点击【计算】按钮 2.5 软件缺陷修正报告的设计 修错报告 缺陷名称: 显示错误的日期 缺陷编号ID: Ver1-Bug0003 报 告 人: 曹 洪 报告时间: -11-4 部 门: 软件开发部 preday 项目组 修 错 人: 宫毕克 修错时间: -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 ) 修正记号: Ver1-Bug0003 4.缺陷产生阶段 编码 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; } else{ preday = 28; } } else if(month == 1){ if( year == 1800 ) { AfxMessageBox( "Reach the min date.\n" ); bValid = false; } else { preday = 31; premonth = 12; preyear = year - 1; } } else{ preday = 31; premonth = month -1; } 2.6.1语句覆盖 利用语句覆盖设计测试用例时应保证程序的每一条可执行语句至少执行一次。从程序图上看, 其实等同于节点覆盖。 语句覆盖率的计算方式如下: 语句覆盖率 = 至少被执行一次的语句数量/可执行的语句总数 进行白盒测试的程序段的流程图如图2.6.1所示, 开始此段程序的条件是日期为1, 即在设计测试用例时所有的日期都必须为1时程序运行时才能运行选择的这段程序。 语句覆盖的测试用例如表2.6.1所示, 表中经过的路径为图2.6.1中所示的路径。 图2.6.1 逻辑覆盖的流程图 表2.6.1 语句覆盖的测试用例设计 ID 输入 预期输出 经过路径 语句覆盖 年份 月份 日期 年-月-日 LC-001 1989 5 1 1989-4-30 A 16.67℅ LC-002 1980 3 1 1980-2-29 BCD 16.67℅ LC-003 3 1 -2-28 BCE 16.67℅ LC-004 1800 1 1 Reach the min date. BFGH 16.67℅ LC-005 1801 1 1 1800-12-31 BFGI 25℅ LC-006 1988 6 1 1988-5-31 BFJ 16.67℅ 2.6.2判定覆盖 判定覆盖又称分支覆盖, 其含义是: 设计测试用例时应保证程序中每个判定节点的取真和去假分支至少执行一次。由于判定节点并非只有二值情况, 对于多分支的情况, 判定覆盖的含义为: 测试用例的设计应保证程序中每个判定节点取得每种可能的结果至少一个。从流程图来看, 判定覆盖等同于边覆盖。 判定覆盖率的计算公式如下: 判定覆盖率 = 判定结果被评价的次数 / 判定结果的总数 判定覆盖的测试用例设计 ID 输入 预期输出 经过路径 判定覆盖 年份 月份 日期 年-月-日 LC-007 1990 12 1 1990-11-30 A 20℅ LC-008 1898 3 1 1898-2-28 BCE 60℅ LC-009 3 1 -2-29 BCD 60℅ LC-010 1 1 -12-31 BFGI 80℅ LC-011 1800 1 1 Reach the min date. BFGH 80℅ LC-012 11 1 -10-31 BFJ 60℅ 2.6.3条件组合覆盖 条件组合覆盖的含义是: 测试用例的设计应满足每个判定节点中所有简单判定条件的各种的组合应至少执行一次。 条件组合覆盖率的计算方法如下: 条件组合覆盖率 = 条件操作数值至少被评价一次的数量 / 条件操作数值的所有组合总数 条件组合覆盖的测试用例设计表2.6.3, 其相应测试用例的简单判定条件的判定如简单判定条件表。 表: 2.6.3 条件组合覆盖的测试用例 ID 输入 预期输出 条件组合覆盖率 年份 月份 日期 年-月-日 LC-013 5 1 -4-30 12.5℅ LC-014 7 1 -6-30 25℅ LC-015 2033 10 1 2033-9-30 37.5℅ LC-016 12 1 -11-30 50℅ LC-017 1866 3 1 1866-2-28 62.5℅ LC-018 1804 3 1 1804-2-29 62.5℅ LC-019 1800 1 1 1800-4-30 87.5℅ LC-020 1999 1 1 1999-4-30 87.5℅ 简单判定条件判定表 ID 简单判定条件 Month ==5 Month ==7 Month ==10 Month == 12 Month ==3 Month ==1 Year ==1800 isLeapYear (year) LC-013 T LC-014 F T LC-015 F F T LC-016 F F F T LC-017 F F F F T F LC-018 F F F F T T LC-019 F F F F F T T LC-020 F F F F F T F 2.7 黑盒回归测试用例的设计 验证软件缺陷的修正 验证人: 曹洪 验证版本: Ver1.0SP1 1、 使用发生软件缺陷的测试用例( 1989-8-1) 输出结果: preday is: 1989-7-31. 判定: OK 输入日期1989-8-1。 点击[计算]按钮, 得到结果。 2、 做回归测试--检证因修错并未破坏原来正确的部分 发生Ver1-Bug0003错误的原因是再设计8月1日的日期时逻辑处理错误, 再选择回归测试的测试用例是主要是针对日期为1 , 月份为7或不为7、 年份任意的日期进行测试, 测试用例设计如下表: 回归测试测试用例表 ID 输入日期 操作步骤 预计输出 实际输出 备注 HG-001 1989-8-1 输入年月日, 点击”计算”按钮 1989-7-31 1989-7-31 经过 HG-002 1999-8-1 同上 1999-7-31 1999-7-31 经过 HG-003 2050-8-1 同上 2050-7-31 2050-7-31 经过 HG-004 1800-8-1 同上 1800-7-31 1800-7-31 经过 HG-005 1801-1-1 同上 1800-12-31 1800-12-31 经过 HG-006 1804-2-1 同上 1804-1-31 1804-1-31 经过 HG-007 1804-3-1 同上 1804-2-29 1804-2-29 经过 HG-008 1806-3-1 同上 1806-2-28 1806-2-28 经过 HG-009 1888-4-1 同上 1888-3-31 1888-3-31 经过 HG-010 1900-5-1 同上 1900-4-30 1900-4-30 经过 HG-011 1945-6-1 同上 1945-5-31 1945-5-31 经过 HG-012 1956-7-1 同上 1956-6-30 1956-6-30 经过 HG-013 1999-9-1 同上 1999-8-31 1999-8-31 经过 HG-014 -10-1 同上 -9-30 -9-30 经过 HG-015 2032-11-1 同上 2032-10-31 2032-10-31 经过 HG-016 2036-12-1 同上 2036-11-30 2036-11-30 经过- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 质量 测试 课程设计 实验 报告 样本
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文