第6章软件测试.ppt

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

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档