《软件工程》第9章软件测试.ppt

  1. 1、本文档共136页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9.5.1 软件排错的概念 排错的过程亦称为调试。软件调试是在进行了成功的测试之后才开始的工作。它与软件测试不同,调试的任务是进一步诊断和改正程序中潜在的错误。调试是软件开发中最难的技术之一,一般与测试同步进行。 调试主要包括如下三个内容: 1、找出错误的性质和位置; 2、纠正错误; 3、进行回归测试。 调试是一个具有很强技巧性的工作 软件运行失效或出现问题,往往只是潜在错误的外部表现,而外部表现与内在原因之间常常没有明显的联系。如果要找出真正的原因,排除潜在的错误,不是一件易事。 可以说,调试是通过现象,找出原因的一个思维分析的过程。 从技术角度来看,查找错误的难度在于: 现象与原因所处的位置可能相距甚远。 当其它错误得到纠正时,这一错误所表现出的现象可能会暂时消失,但并未实际排除。 现象实际上是由一些非错误原因(例如,舍入不精确)引起的。 现象可能是由于一些不容易发现的人为错误引起的。 错误是由于时序问题引起的,与处理过程无关。 现象是由于难于精确再现的输入状态(例如,实时应用中输入顺序不确定)引起。 现象可能是周期出现的。在软、硬件结合的嵌入式系统中常常遇到。 9.5.2 排错方法 1. 直接排错:其排错效果取决于使用人员的经验和技术水平。 ⑴转储方法 ⑵设置打印语句 ⑶单步跟踪(早期),用工具软件较好。 2. 回溯探究: 发现某点已经有错,先分析错误征兆,确定最先发现“症状”的位置。然后,人工沿程序的控制流程,回溯程序执行过程,直到找到错误根源或找出错误位置。 此法对小程序很实用。 9.5.2 排错方法(续) 3. 逻辑排错:使用逻辑学中的归纳与演绎的思维方法,来排除错误。 ⑴归纳:从个别推断一般的方法: 不能 能 不能 收集线索 (错误征兆) 组织 线索 研究线 索间关系 提出 假设 纠正 错误 证明 假设 因果 9.5.2 排错方法 ⑵演绎:从一般原理或前提出发,运用排除和思维推理过程逐步导出结论。 有剩余 能 不能 无剩余 列举可能 的原因 证明 是病因 纠正 错误 列举可能 的错误原因 排除不会 发生的原因 收集更多的 测试结果 9.5.2 排错方法(续) 4. 智能化辅助排错工具(Debug程序) 9.5.3 排错的几条指导原则 软件排错的工作质量更多的影响不仅来自于技术方面,而且来自于心理方面。以下几条原则是有指导意义的: 认真分析错误的相关信息,勤于思考问题的前因后果。 避开死胡同。排错中不要走极端,一旦发现排错陷入可困境应及时退回,不要一意孤行。良好的心态是排错工作成功的保证。 不要迷信排错工具。只把调试工具当做辅助手段来使用。利用调试工具,可以帮助思考,但不能代替思考。 9.5.3 排错的几条指导原则 错误的出现也满足局部化原则,即错误的群集现象。在出现错误的地方,很可能还有别的错误。 修改错误的一个常见失误是只修改了这个错误的征兆或这个错误的表现,而没有修改错误的本身。 当心修正一个错误的同时有可能会引入新的错误。 修改源代码程序,不要改变目标代码。 * * * * * * * * * 在单元测试时,测试者需要依据详细设计说明书和源程序清单,了解该模块的I/O条件和模块的逻辑结构,主要采用白盒测试的测试用例,辅之以黑盒测试的测试用例,使之对任何合理的输入和不合理的输入,都能鉴别和响应。 1.单元测试的内容 单元测试的内容图示 (1) 模块接口测试 在单元测试的开始,应对通过被测模块的数据流进行测试。测试项目包括: 调用本模块的输入参数是否正确; 本模块调用子模块时输入给子模块的参数是否正确; 全局量的定义在各模块中是否一致; 在做内外存交换时要考虑: 文件属性是否正确; OPEN与CLOSE语句是否正确; 缓冲区容量与记录长度是否匹配; 在进行读写操作之前是否打开了文件; 在结束文件处理时是否关闭了文件; 正文书写/输入错误, I/O错误是否检查并做了处理。 (2) 局部数据结构测试 对于一个模块来说,局部数据结构是常见的错误来源 局部数据结构测试发现下列类型的错误: 不正确或不一致的数据类型说明 使用尚未赋值或尚未初始化的变量 错误的初始值或错误的缺省值 变量名拼写错或书写错 不一致的数据类型 全局数据对模块的影响 (3) 路径测试 选择适当的测试用例,对模块中重要的执行路径进行测试。选择测试执行路径,是单元测试期间的基本任务。 应当设计测试用例查找由于错误的计算、不正确的比较或不正常的控制流而导致的错误。 测试执行路径可以发现如下种类的错误: 运算符优先级误解或次序不正确; 混合运算中运算对象的类型彼此不相容; 逻辑运算不正确或优先次序不正确; 循环中止条件不正确。 (4) 错误处理测试 有意识地进行不合理输入,而使程序出错,从而检查程序的错误处理能力,并检查是否出现如下错误:

文档评论(0)

精品家园 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档