软件测试理论知识学习记录精编.doc

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、测试方法分类: (1)静态测试技术 常用静态测试方法: 代码复查 代码检查(Code Inspection) 代码走查(Walkthrough) 桌面检查(Desk Checking) 代码审查(Code Review) 静态分析(主要由软件工具自动进行) (2)动态测试技术 白盒(覆盖率)测试 已知产品内部工作流程,通过测试来检测产品的内部动作是否按照详细设计规格说明的规定正常进行,而不管它的功能; 也称为结构测试或逻辑驱动测试; 目标是对所有逻辑路径进行测试,穷举路径; 依据详细设计规范; 一种验证技术。 基本覆盖 基于控制流的测试 语句覆盖 程序中每条可执行语句至少被执行一次; C1覆盖、行覆盖、段覆盖、基本块覆盖; 语句覆盖的盲点(=0;循环;条件); 语句覆盖是最起码的测试要求; 分支(判定)覆盖 程序中的每一个判定的取真分支和取假分支至少通过一次; C2覆盖、决策覆盖; 分支覆盖的盲点: 短路估值使分支覆盖不必考虑所有条件; 忽略了从复合谓词引出的隐含路径; 分支覆盖不能保证所有入口-出口路径都被执行; 条件覆盖 每个判定的每个条件的可能取值至少评价一次 不要求测试所有可能的分支 条件/判定覆盖 设计足够多的测试用例,使得判定语句中每个条件的所有可能取值至少评价一次,同时每个判定语句本身的所有可能分支也至少评价一次。 条件组合覆盖 每个判定的所有可能条件取值组合至少执行一次。 达到了条件组合覆盖,所有的语句、分支和条件都将覆盖,但不保证路径覆盖。 在实际测试中,由于谓词表达式的短路估值和排它性条件使得达到所有条件组合不可能。 基本路径覆盖:设计足够多的测试用例,执行程序中所有可能的路径。 圈复杂度C=e-n+2 基本路径覆盖要求测试C条不同的入口-出口路径 在某些程序中,分支覆盖可在少于C条路径的情况下获得 基本路径覆盖可能既没有获得语句覆盖也没有获得分支覆盖。 循环覆盖 每种循环结构都有一个不同的控制流图 简单循环、嵌套循环、顺序循环、面条循环 从最内层循环开始测试,直到最外层 数据流覆盖 通过一定的覆盖准则检查程序中每个数据对象的每次定义、使用和消除。 数据流模型(DUK) 数据流覆盖策略 变元覆盖(mutation coverage) 测试覆盖被测实现的指定的变体,如测试探测到变元,则变体“退役”,如测试探测不到变元,则修正测试包。 变元是指为程序植入小的变化,一般是常出现的错误,如将=改写成。 用于检查系统的容错能力和测试套件的充分性。 覆盖分析器 覆盖分析器是分析测试覆盖率的工具 覆盖分析器工作原理: 通过对源代码的词法分析,插入可跟踪代码,再编译连接; 当装配过可跟踪代码的软件执行时,就会产生一个跟踪文件; 测试完成后,利用跟踪文件生成覆盖报告; 覆盖率的作用 不可执行的路径或条件 不可能到达或冗余的代码 不充分的测试用例集 覆盖率与缺陷查找 覆盖与发现缺陷之间没有必然联系 获得任何覆盖目标都不意味着没有缺陷: 需求相关的缺陷; 丢失的代码; 中断相关的缺陷; 兼容性/配置相关的缺陷; 路径测试(Book70) 分支结构的路经测试 嵌套型分支结构和串联型分支结构 循环结构的路径测试 黑盒测试 已知软件产品应该具有的功能,通过测试来检测每个功能是否都能正常使用; 黑盒法着眼于程序外部结构,不考虑内部逻辑结构; 穷举输入/状态测试,测试情况有无穷多个; 依据需求规范; 检查程序实现的功能,是一种确认技术; 也称为功能测试或数据驱动测试。 黑盒测试的不彻底性: 不可能测试所有的输入 有效的输入 无效的输入 输入的编辑特性 输入时间的考虑 不可能测试多个输入的所有组合 黑盒测试的常用方法: 边界值分析(boundary analysis) 边界值测试 任何程序都可以看做是一个函数,程序的输入构成函数的定义域,程序的输出构成函数的值域。可基于定义域或值域进行边界值测试; 边界值测试更适合于非强类型语言,如C; 边界区域是错误高发区; 边界值测试融入了一定程度的否定测试设计; 边界值测试通过边界值分析获得测试用例。 基本思想 最小值、略高于最小值、正常值、略低于最大值、最大值 等价类划分(equivalence class partitioning) 含义:把输入域划分成若干部分,从每个部分中选取有代表性的数据作为测试用例。 选择有限子集来“代表”所有可能的输入全集; 将被测软件的输入和输出分成区许多区域,对于一个区中的任何值,软件的行为是等价的; 等价类划分假设任何单一区内的所有值具有相同的测试目的,因此,每个区测试一个值; 等价类划分属于肯定类测试设计技术; 等价类划分受测试者主观因素的影响。 等价类划分步骤: 划

文档评论(0)

贪玩蓝月 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档