测试方法

  • 白盒测试
    • 白盒测试又称玻璃盒测试、透明盒测试、开放盒测试、结构化测试、基于代码的测试、逻辑驱动测试等。
    • 白盒测试需要对系统内部的结构和工作原理有清晰的了解,并且一次来设计用例。
    • 使用白盒测试方法产生的测试用例能够:
      • 保证一个模块中的所有独立路径至少被执行一次
      • 对所有逻辑值均需测试 true 和 false
      • 在上下边界及可操作范围内运行所有循环
      • 检查内部数据结构以确保其有效性
    • 白盒测试的常用技术
      • 静态分析技术
        • 控制流分析技术
        • 数据流分析技术
        • 信息流分析技术
      • 动态分析技术
        • 逻辑覆盖率测试(分支测试、路径测试)
          • 语句覆盖
          • 判定覆盖
          • 条件覆盖
          • 判定条件覆盖
          • 路径覆盖
        • 程序插装
          • 程序插装是在程序中插入一些打印语句,通过这些信息了解执行过程中程序的一些动态属性。如程序的实际执行路径、特定变量在特定时刻的取值
    • 白盒测试的优缺点
      • 优点
        • 迫使测试人员仔细的思考软件的实现
        • 检查代码中的每条分支和路径
        • 揭示隐藏在代码中的错误
        • 对代码测试比较彻底
        • 最优化
      • 缺点
        • 昂贵
        • 无法检查代码中遗漏的路径和数据敏感性错误
        • 不验证规格的正确性
  • 黑盒测试
    • 黑盒测试又叫功能测试,主要关注被测软件的内部实现而不是内部逻辑
    • 黑盒测试的常用技术
      • 没有用户参与的黑盒测试
        • 功能性测试
        • 容量测试
        • 安全性测试
        • 负载测试
        • 恢复性测试
        • 标杆测试(考虑硬件和软件的结合,关注特定操作的量化数据,有些也考虑用户测试,比较不同软件系统作为标杆测试的有效性)
        • 稳定性测试
        • 可靠性测试
      • 有用户参与的黑盒测试
        • 外场测试
        • 实验室测试
    • 黑盒测试的优缺点
      • 优点
        • 对于更大的代码单元来说,比白盒测试效率更高
        • 测试人员不需要了解实现的细节,包括特定的编程语言
        • 测试人员和开发人员彼此独立
        • 从用户的角度测试,更容易被理解和接受
        • 有助于暴露任何规格不一致或有歧义的问题
        • 测试用例可以在规格完成之后马上进行
      • 缺点
        • 只有小部分可能的输入被测试到,要测试每个可能的输入几乎是不可能的
        • 若没有清晰和简明的规格,测试用例很难设计
        • 如果没有告诉测试人员开发已经执行过的测试用例,在测试数据上会存在不必要的重复
        • 会有很多程序路径没有被测试到
  • 灰盒测试
    • 介于白盒测试和黑盒测试之间的测试,常见的灰盒测试是集成测试
  • 静态测试
    • 静态测试是一种不通过执行程序而进行测试的技术
    • 主要有三种不同的程序测试可能性
      • 程序内部检查完整性和一致性
      • 考虑预定义规则
      • 把程序和其响应的规格和文档进行比较
    • 静态分析
      • 手工
        • 检视:一般根据检查表进行
        • 走读:目标是对源代码背后的逻辑和基本假设进行质疑
      • 自动
        • 静态验证
        • 语法分析器
        • 符号执行器
  • 动态测试
    • 主要特点是在模拟或真实的环境中执行之前、之中或之后对软件系统行为的分析。
    • 动态分析工具
      • 测试覆盖率分析:测试白盒测试技术对代码的检测范围
      • 跟踪:跟踪程序执行期间的所有路径,例如所有变量的值
      • 调整:度量程序执行过程中使用的资源
      • 模拟:模拟系统的部分,例如无法获得的代码或硬件
      • 断言检查:测试在复杂逻辑结构中是否某个条件已经被给出
    • 常用的白盒动态测试工具
      • 运行态错误检测:DevPartner(BoundChecker、SmartChecker、Jchecker、FailSafe)、Pure
      • 覆盖率分析:DevPartner(TrueCoverage)、Pure、Logiscopre、WCantC/C++
      • 基于源代码的性能分析:DevPartner(TrueTime)、Pure
      • 嵌入式代码性能分析测试工具:CodeTest
    • 常用的黑盒动态测试工具
      • 功能测试:QARun、Robot、QTP、SilkTest
      • 性能测试:LoadRunner、SilkPerformer、Robot

欢迎扫码关注微信公众号「一朵儿的软件测试之旅」一起学习交流
测试方法_第1张图片

你可能感兴趣的:(软件测试基础)