第8章软件测试高等教育.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8.1 软件测试的基本概念 一、软件测试的目的和重要性 因为开发工作的前期不可避免地会引入错误,测试的目的是为了发现和改正错误,这对于某些涉及人的生命安全或重要的军事、经济目标的项目显得尤其重要。 二、软件测试的特点 1. 软件测试的开销大 按照Boehm的统计,软件测试的开销大约占总成本的30%-50%。例如:阿波罗登月计划中,80%的经费用于软件测试。 3、软件测试难度大 根据上述分析,既然不能进行 “穷举”测试,又要查出尽可能多的错误,软件测试工作的难度大。只有选择 —— 三、软件测试的基本原则 3.充分注意测试中的群集现象。 四、测试的基本步骤 8.2 软件测试方法 软件测试方法分为两类:静态分析和动态测试 (1) 调用图 无论Y 为何值,都不能够调用子程序。即执行ABC后,是不可能执行路径CDE的。 (2)数据流分析图 节点 --表示单个语句。 有向边--表示控制结构。 d -- 定义 r -- 引用 u -- 未引用 二、动态测试方法 通过选择适当的测试用例,执行程序。 常用的方法:白盒法和黑盒法。 1.白盒法 分析程序的内部逻辑结构,注意选择适当的覆盖标准,设计测试用例,对主要路径进行尽可能多的测试。 白盒法 白盒法又称为逻辑覆盖法,其测试用例选择,是按照不同覆盖标准确定的。 白盒法步骤: 例:用白盒法测试以下程序段: IF (A1) AND (B=0) THEN X=X/A ; IF (A=2) OR (X1) THEN X=X+1 白盒法举例 IF(A1) AND (B=0) THEN X=X/A IF (A=2) OR (X1) THEN X=X+1 1. 语句覆盖 使得程序中每个语句至少都能被执行一次。 2. 判定覆盖 使得程序中每个判定至少为TRUE 或FALSE各一次。 3. 条件覆盖 4. 判定/条件覆盖 同时满足判断覆盖和条件覆盖。 5. 组合覆盖 使得每个判定中条件的各种可能组合都至少出现一次。 1. 等价分类法 基本思想:根据程序的I/O特性,将程序的定义域划分为有限个等价区段 --“等价类”,从等价类中选择出的用例,具有“代表性”。 2. 边值分析法 基本思想: 选择等价类的边缘值作为测试用例,让每个等价类的边界都得到测试,选择测试用例既考虑输入又考虑输出。 黑盒法应用实例 3.错误推测法 凭经验或直觉推测可能的错误,列出程序中可能有的错误和容易发生错误的特殊情况,选择测试用例。 4.因果图法 ⑴ 因果图的基本符号 0 - 表示“不出现” 1 - 表示“出现” 4.因果图法 对“与”、“或”函数的限制符号 ⑵ 因果图法的步骤 分析规范,即将问题分为若干个工作的步骤。 标识出规范中的原因与结果。 原因—输入条件 结果—输出或系统变换 ⑶ 因果图法应用举例 规范:文件名第一列字符必须为A或B,第二列字 符必须为数字。满足则修改文件。第一字符不正 确发出信息X12,第二个字符不正确发出信息X13。 ② 画出因果图 中间结点 是导出结果的进一步原因。 ③ 将因果图转换为判断表 8.3 软件测试的步骤 测试步骤及策略 所有测试过程都应采用综合测试策略;即先作静态分析,再作动态测试。并事先制订测试计划。测试过程通常可分4步进行: 一、模块测试(Module Testing) 1.测试内容 2.模块测试步骤 考虑到被测模块与其他模块的联系,因此测试时需要使用两类辅助模块来模拟其他模块。 二、组装测试(Integration Testing) 1.组装测试的任务 ①确定模块组装方案,将经过测试的模块组装为一个完整的系统。组装方案分为渐增式及非渐增式。 ②测试方法以黑盒法为主,按照组装方案进行 测试。 2.渐增式组装测试 渐增式是先进行模块测试,然后将这些模块逐步组装成较大的系统,每连接一个模块进行一次测试。两种方案: 自顶而下增值 自底而上增值 深度优先与宽度优先 无论是自顶而下增值还是自底而上增值,还可选择 深度优先或者宽度优先增值。 问 题 (1)自顶而下增值与自底而上增值各有何优、缺点? (2)为什么在实际的组装测试中,都应该采用混合增值的方法? (3)请自己设计 2~3个混合增值的测试方法。 确定集成过程的原则 自顶而下增值 优点:能够尽早发现系统主控方面的问题。 缺点:无法验证桩模块是否完全模拟了下属模块的功能。 自底而上增值 优点:驱动模块较容易编写桩模块,能够尽早查出底层涉及较复杂的算法和实际的I/O模块中的错误。 缺点:最后才能发现系统主控

文档评论(0)

didala + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档