第五章-进阶(1)特殊软件测试方法
由于时间关系,暂时停止本仓库的更新。课程后半部分会介绍一系列的特殊测试方法,这部分测试方法相对冷门,可能只有少部分小伙伴会对其感兴趣。如果你对他们感兴趣,可以提issue或者给我的邮箱发邮件催更。这些方法包括:
随机测试、自适应随机测试、组合测试
基于约束的测试
基于搜索的测试、有限状态机测试
变异测试、蜕变测试
Fuzzing、故障注入测试、智能软件测试
目前主要精力在另外一个repo的编写上
简单地描述一下这些测试的相关信息。
随机测试就是字面意思
自适应随机测试,是对随机测试的改进,能够生成分布更“均匀”的测试用例
组合测试关注在多参数组合的情况下,如何有效地用数量较少的用例测出更多的bug
基于约束的测试主要介绍符号执行的相关内容,这种方法能够生成能够抵达特定代码段的测试用例
基于搜索的测试包括但不仅限于使用模拟退火、遗传算法等方式搜索能够抵达特定代码段的测试用例/测试用例数少覆盖率高的测试用例集
有限状态机测试先把需求说明/程序预期建模成有限状态机,然后测试实现是否与状态机一致
变异测试是评价测试用例集的一种测试方法
蜕变测试能够测试一般情况下“无法测试”的软件,如科学计算的程序和票务查询网站等。具体来说,这一测试方法能够缓解Test Oracle难以确定的问题
这其实属于一种通过推导判断得到的Oracle
...
最后更新于