避免测试用例排列爆炸

主要观点:对于基于多个变量的业务规则写测试时,全面覆盖规则会导致测试用例数量呈指数增长(n 个变量有 2n 个测试用例),如 3 个变量就有 8 个测试用例,过多难以承受。作者提出一种替代模式,只需 n + 1 个测试用例,能很好覆盖且测试用例更易理解,即写一个覆盖所有变量都正确时的正例测试,再为每个变量写一个覆盖变量值导致事情不发生的反例测试。

关键信息:

  • 常规全面覆盖模式:n 个变量有 2n 个测试用例,如 3 个变量有 8 个测试用例。
  • 替代模式:1 个正例测试(所有变量正确使事情发生),n 个反例测试(每个变量值错误使事情不发生),共 n + 1 个测试用例。
  • 举例:消息显示规则需用户登录、有绿发且喜欢香蕉,常规模式 8 个测试用例,替代模式 4 个测试用例,且无多个字段同时关闭的测试用例。

重要细节:

  • 常规模式在变量增多时测试用例数量迅速增加,变得难以管理。
  • 替代模式通过正例和反例测试,既能覆盖规则又使测试用例更易理解。
  • 对于多个变量同时关闭的情况,可能无法确定测试是否通过,所以无此类测试用例可能是好事。
阅读 12
0 条评论