第五章-进阶(1)特殊软件测试方法

  • 由于时间关系,暂时停止本仓库的更新。课程后半部分会介绍一系列的特殊测试方法,这部分测试方法相对冷门,可能只有少部分小伙伴会对其感兴趣。如果你对他们感兴趣,可以提issue或者给我的邮箱发邮件催更。这些方法包括:

    • 随机测试、自适应随机测试、组合测试

    • 基于约束的测试

    • 基于搜索的测试、有限状态机测试

    • 变异测试、蜕变测试

    • Fuzzing、故障注入测试、智能软件测试

  • 目前主要精力在另外一个repo的编写上

简单地描述一下这些测试的相关信息。

  • 随机测试就是字面意思

  • 自适应随机测试,是对随机测试的改进,能够生成分布更“均匀”的测试用例

  • 组合测试关注在多参数组合的情况下,如何有效地用数量较少的用例测出更多的bug

  • 基于约束的测试主要介绍符号执行的相关内容,这种方法能够生成能够抵达特定代码段的测试用例

  • 基于搜索的测试包括但不仅限于使用模拟退火、遗传算法等方式搜索能够抵达特定代码段的测试用例/测试用例数少覆盖率高的测试用例集

  • 有限状态机测试先把需求说明/程序预期建模成有限状态机,然后测试实现是否与状态机一致

  • 变异测试是评价测试用例集的一种测试方法

  • 蜕变测试能够测试一般情况下“无法测试”的软件,如科学计算的程序和票务查询网站等。具体来说,这一测试方法能够缓解Test Oracle难以确定的问题

    • 这其实属于一种通过推导判断得到的Oracle

  • ...

最后更新于