软件测试流程及方法详解( 四 )

  • 方法:黑盒测试
  • 内容:易用性、国际化本地化、性能、功能、界面、兼容性、安全性、文档、安装
  • 白盒测试用例设计方法1.基本路径测试
    2.边界值分析
    3.逻辑覆盖率测试(分支测试、路径测试)
    4.循环测试
    5.数据流分析技术测试
    6.程序插桩测试
    7.变异测试
    8.控制流分析技术测试
    9.信息流分析技术测试
    依据:详细设计说明书及其代码构架 。
    优点:1.迫使测试人员去仔细的思考软件的实现;2.可以检测代码中的每条分支和路径;3.揭示隐藏在代码中的错误;4.对代码的测试比较彻底;5.实现代码最优化 。
    缺点:1.价格昂贵;2.无法检测代码中遗漏的路径和数据敏感性错误;3.不验证规格的正确性 。
    注:
    1.逻辑覆盖
    语句覆盖->判定覆盖->判定/条件覆盖->条件组合覆盖->路径覆盖 _条件覆盖/
    • 语句覆盖:每条语句执行一次
    • 判定覆盖:每个判定分支至少执行一次
    • 条件覆盖:每个判定条件应取到各种可能的值
    • 判定/条件覆盖:同时满足判定和条件
    • 条件组合覆盖:每个判定条件的每一种组合各出现一次
    • 路径覆盖:每一条可能的路径至少执行一次
    关系:
    • 条件组合覆盖>判定覆盖>语句覆盖(即如果达到条件组合覆盖,就达到判定覆盖和语句覆盖:如果达到判定覆盖,就达到语句覆盖,下面类似理解) 。
    • 条件组合覆盖>条件覆盖 。
    • 条件覆盖不一定包含判定覆盖、语句覆盖 。
    • 判定覆盖不一定包含条件覆盖 。
    • 路径覆盖,判定覆盖>语句覆盖 。
    2.基本路径测试
    • 基于程序圈复杂度产生的测试方法,画出控制流程图,算圈复杂度,找到独立路径并压缩为基本路径集合,根据集合中每条路径设计用例 。把复合逻辑表达式拆成单个表达式
    • 圈复杂度用于计算程序的基本的独立路径数目(每条新的独立路径都必须包含一条新的有向边,从入口到出口互不相同的路径数)
    • 圈复杂的V(G) = e - n + 2p【边-节点+2*连接区域数,连接区域p通常为1】=P+1【判定节点数+1】
    • 一般来说,一个单元模块的最大复杂度V(G)<10
    • 如果把覆盖的路径数压缩到一定限度内,例如程序中的循环体只执行0次和1次,就成为基本路径测试,通过导出基本路径集合,从而设计测试用例,保证这些路径至少通过一次
    3.基于数据流的测试
    • 基于真的数据定义到数据的使用来进行测试,需要找到定义的节点(包括赋值的和比较的)和使用的节点 。
    • 定义节点DEF:输入语句、赋值语句、循环语句和过程调用;变量的值会发生变化的语句
    • 使用节点USE:数出语句、赋值语句、条件语句、循环控制语句、过程调用
    • 需要找到所有这段功能代码从哪里开始定义,到哪里开始执行,把路径找出来 。什么是定义使用路径(某一变量在最初节点定义到最终节点被使用)、定义清除路径(某一个变量从它的定义节点到使用节点这个过程中没有对这个变量进行二次定义)
    4.循环测试
    • 前提是程序是结构化的 。
    • 简单循环测试
    • 0次通过循环
    • 1次通过循环
    • 2次通过循环
    • m次通过循环(m<=循环最大次数)
    • m-1,m,m+1次通过循环
    黑盒测试用例设计方法1.基于用于需求的测试
    2.功能图分析方法
    3.等价类划分方法
    4.边界值分析方法
    5.错误推测方法
    6.因果图方法
    6.判定表驱动分析方法
    7.正交试验设计方法
    依据:用户需求规格说明书和详细设计说明书
    注:
    1.常见的边界值
    • 16bit整数32767~-32768
    • 报表第一行和最后一行
    • 屏幕光标最左上和最右下
    • 数组的第一个和最后一个
    • 循环的第0、1、倒数第一、倒数第二次
    2.决策表
    适合于问题有多个条件,条件有多种组合执行不同操作
    判定表| 条件桩 | 条件项 | ... | 动作项 || 动作桩 | 动作项 | ... | 动作项 |规则:条件的任意组合,判定表中的一列(贯穿条件项和动作项) 。判定表有多少列就代表有多少条规则 。
    规则的化简:有的规则相互包含,可以化简
    3.因果图
    找出所有的原因,找出结果,可能还有中间结果的产生,在画因果图时注意 。
    从输入考虑
    I:连虚线出去,如连到ab,表示ab中至少有一个必须成立
    E:连虚线出去,如连到ab,表示ab不能同时成立


    推荐阅读