Skip to content

Latest commit

 

History

History
25 lines (19 loc) · 1.72 KB

ch5.md

File metadata and controls

25 lines (19 loc) · 1.72 KB

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

  • 由于时间关系,暂时停止本仓库的更新。课程后半部分会介绍一系列的特殊测试方法,这部分测试方法相对冷门,可能只有少部分小伙伴会对其感兴趣。如果你对他们感兴趣,可以提issue或者给我的邮箱发邮件催更。这些方法包括:
    • 随机测试、自适应随机测试、组合测试
    • 基于约束的测试
    • 基于搜索的测试、有限状态机测试
    • 变异测试、蜕变测试
    • Fuzzing、故障注入测试、智能软件测试
  • 目前主要精力在另外一个repo的编写上

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

  • 随机测试就是字面意思
  • 自适应随机测试,是对随机测试的改进,能够生成分布更“均匀”的测试用例
  • 组合测试关注在多参数组合的情况下,如何有效地用数量较少的用例测出更多的bug
  • 基于约束的测试主要介绍符号执行的相关内容,这种方法能够生成能够抵达特定代码段的测试用例
  • 基于搜索的测试包括但不仅限于使用模拟退火、遗传算法等方式搜索能够抵达特定代码段的测试用例/测试用例数少覆盖率高的测试用例集
  • 有限状态机测试先把需求说明/程序预期建模成有限状态机,然后测试实现是否与状态机一致
  • 变异测试是评价测试用例集的一种测试方法
  • 蜕变测试能够测试一般情况下“无法测试”的软件,如科学计算的程序和票务查询网站等。具体来说,这一测试方法能够缓解Test Oracle难以确定的问题
    • 这其实属于一种通过推导判断得到的Oracle
  • ...