软件测试基础之软件测试分类

按测试阶段划分

  • 单元测试(多由开发负责)
  • 集成测试(组装测试, 主要是开发负责, 测试人员可以少量参与[接口])
  • 系统测试(测试人员负责)
  • 验收测试(团队内部,客户,客户委托第三方)
    • α测试(内测)
    • β测试(公测)
    • γ测试(正式版候选版本)

按是否覆盖源代码

  • 黑盒测试(完全不关注代码, 只关注客户需求)

    • 优点:
      • 简单, 设计测试比较简单, 只关注需求, 不关注代码
      • 不会被代码的思路干扰, 只关注最终需求, 更容易发现不满足需求的问题
    • 缺点:
      • 对于没有执行到的代码, 无法进行覆盖(比如预留后门)
    • 分类
      • 功能测试
        • 逻辑功能测试
        • 界面测试
        • 安装升级卸载测试
      • 性能测试
        • 时间性能测试
        • 稳定性测试
        • 负载测试
        • 压力测试
    • 白盒测试(关注实现细节, 对代码层面进行测试)
      • 优点:
        • 能够关注到代码实现的规范(代码的静态检查), 合理性
        • 能够精确测试
      • 缺点:
        • 只关注白盒的情况, 会忽略到客户的最终需求
  • 灰盒测试(介于黑盒和白盒之间,即关注需求又关注代码,多用于集成测试阶段)

是否运行

  • 静态测试

    指不运行代码/程序的测试, 可以检查代码的规范

  • 动态测试

    代码运行起来的测试

是否自动化

  • 人工测试(手工测试)
  • 自动化测试(利用代码和工具进行测试)

其他

  • 冒烟测试 (执行大面积测试之前, 先测试最基本的功能能否实现, 有效避免测试资源浪费)
  • 回归测试 (再次执行测试用例, 回归已经修复的软件缺陷)
  • 随机测试 (没有逻辑, 没有目的的自由的测试)
  • 探索性测试 (有目的进行探索式的测试)

猜你喜欢

转载自www.cnblogs.com/hellomrr/p/10700854.html