- 1、本文档共116页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程07-实现-黑白
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 例: 假设有一个把数字串转变成整数的函数。运行程序的计算机字长16位,用二进制补码表示整数. 分析这个程序的规格说明,划分出如下等价类: 合法输出的等价类有 (9) 在计算机能表示的最小负整数和零之间的负整数 -32768 ~ 0 (10) 零;0 (11) 在零和计算机能表示的最大正整数之间的正整数 0 ~ 32768 非法输出的等价类有 (12) 比计算机能表示的最小负整数还小的负整数-32769 (13) 比计算机能表示的最大正整数还大的正整数32768 个人成果,妥善保存,请勿传播 边界值分析 处理边界情况时程序最容易发生错误 设计使程序运行在边界情况附近的测试方案,暴露出程序错误的可能性更大一些 边界值分析法,应该选取刚好等于、稍小于和稍大于等价类边界值的数据作为测试数据 通常设计测试方案时总是联合使用等价划分和边界值分析两种技术 个人成果,妥善保存,请勿传播 边界值分析 例如,为了测试前述的把数字串转变成整数的程序,除了上一小节已经用等价划分法设计出的测试方案外,还应该用边界值分析法再补充下述测试方案: (12) 使输出刚好等于最小的负整数 输入:‘-32768’ 预期的输出为:-32768 (13) 使输出刚好等于最大的正整数 输入:‘ 32767’ 预期的输出:32767 (14) 使输出刚刚小于最小的负整数 输入:‘-32769’ 预期的输出;“错误—无效输入” (15) 使输出刚刚大于最大的正整数 输入:‘ 32768’ 预期的输出:“错误—无效输入” 个人成果,妥善保存,请勿传播 错误推测 错误推测法在很大程度上靠直觉和经验进行 基本想法 是列举出程序中可能有的错误和容易发生错误的特殊情况,并且根据它们选择测试方案 经验表明,在一段程序中已经发现的错误数目往往和尚未发现的错误数成正比 因此,在进一步测试时要着重测试那些已发现了较多错误的程序段 个人成果,妥善保存,请勿传播 错误推测 思路 列出可能有的错误 列出容易发生错误的特殊情况 以此为基础设计测试方案 根据 直觉、经验 工具 常见错误清单、判定表等 个人成果,妥善保存,请勿传播 实用策略 :黑盒设计 + 白盒补充 在任何情况下都应该使用边界值分析的方法; 必要时用等价划分法补充; 必要时再用错误推测法补充; 对照程序逻辑,检查测试方案。 可根据对程序可靠性的要求采用不同的逻辑覆盖标准,必要时补充一些测试方案。 注: 即使用上述综合策略设计测试方案,仍不能保证发现一切错误。例如Lucent公司经过包括逐行检查源代码在内的多方面测试之后,其软件能达标运行的成功率为80% 个人成果,妥善保存,请勿传播 第7章:“实现” 编码 软件测试基础 单元测试、集成测试、确认测试 白盒测试技术 黑盒测试技术 调试 软件可靠性 个人成果,妥善保存,请勿传播 调试 是在测试发现错误之后排除错误的过程 软件错误的外部表现和它的内在原因之间可能并没有明显的联系,调试就是把症状和原因联系起来的尚未被人深入认识的智力过程 调试过程 调试过程从执行一个测试用例开始 评估测试结果,如果发现实际结果与预期结果不一致,则这种不一致就是一个症状,它表明在软件中存在着隐藏的问题 调试过程试图找出产生症状的原因,以便改正错误 个人成果,妥善保存,请勿传播 个人成果,妥善保存,请勿传播 第1步:确定错误的位置(95%工作量); 第2步:改正错误。 Failure(外错误)通常是由系统设计产生的. Fault(故障、内错误、error、bug)起因于软件生产中的人为错误. 程序的 failure 通常有一个清晰的表现特征,但是 fault 往往很难被发现。 个人成果,妥善保存,请勿传播 执行测试用例 测试 用例 结果 Debugging 附加测试 被怀疑的 原因 已识别的原因 纠正 回归测试 Debugging 调试过程 调试过程总会有以下两种结果之一 找到了问题的原因并把问题改正和排除掉 没找出问题的原因 猜测一个原因-》用例验证假设-》重复... 调试困难与软件错误的特征 症状和产生症状的原因可能在程序中相距甚远,紧耦合的程序结构更加剧了这种情况 当改正了另一个错误之后,症状可能暂时消失了 症状可能实际上并不是由错误引起的(例,舍入误差) 个
文档评论(0)