软件测试知识

软件测试知识

只能发现软件错误,不能证明软件正确;不能评价软件质量,只能间接证明软件质量。

目的:尽可能发现多的软件错误。

动态测试

  • 黑盒测试
  • 白盒测试
  • 灰盒测试

静态测试

  • 桌前审查
  • 代码审查
  • 代码走查

黑盒测试法

  • 等价类划分:取区间内一个值
  • 边界值分析:取区间边界值,包括最大值、最小值、最大值+1、最小值-1
  • 错误推测:假设输入错误,看程序是否能检测出来
  • 因果图

白盒测试法

  • 基本路径测试
  • 循环覆盖测试
  • 逻辑覆盖测试
    • SC 语句覆盖:每个语句至少执行一次
    • DC 判定覆盖:每个判定的每个真假分支至少执行一次(if里的整体)
    • CC 条件覆盖:每个条件的每个逻辑条件至少执行一次(每个<>=!=表达式)
    • C/DC 条件判定覆盖:上面两者的结合
    • MCC 条件组合覆盖:每个条件的每个逻辑条件的每个组合至少执行一次(就是CC里的所有组合,同一个判断里的排列组合)
    • MC/DC 修正的条件判定覆盖
    • PC 路径覆盖:每条if的路径被执行一次

MC/DC 修正的条件判定覆盖

其他条件不变时,仅修改这个值,就能影响结果

例子: A && (B || C)

用例ABC结果ABC
10000
200106
301007
401108
5100076
6101125
7110135
811114

4条即可同时满足ABC的需求

测试阶段(级别)

  • 单元测试:白盒测试
  • 集成测试:白盒测试(如果某依赖模块没开发出来,测试人员需要开发模拟出来)
    • 一次性组装
    • 增量式组装
    • 自顶向下
    • 自底向上
    • 混合
  • 系统测试:灰盒测试(性能测试、压力测试)
  • 确认测试:黑盒测试(实际环境中测试,检查是否符合软件规格说明书,使用实际应用数据)

1 Comment

发表评论

您的电子邮箱地址不会被公开。