Pairwise算法

正交分析法进行软件测试的时候,会生成很多的测试用例。
假设有三个维度,每个维度有两个因子,如果用正交分析法会生成8个测试用例,这只是在维度和因子数很小的情况下,实际测试时维度数和因子数较大会产生很多很多的测试用例,为了提高效率需要对正交法产生的测试用例进行取舍。

pairwise的假设

  1. 每个维度都是正交的
  2. 根据数学统计分析,73%的缺陷是因为单因子和双因子产生,19%的缺陷是3因子相互作用产生。
    因此,pairwise基于覆盖所有2因子的交互作用产生的用例集合性价比最高而产生的

pairwise算法

假设现在有3个维度:

  1. 浏览器:Firefox, Chrome
  2. OS: Linux, Windows, IOS
  3. 语音: zh-CN, English

现在用正交分析法,会产生12个测试用例:

  1. FLZ
  2. FLE
  3. FWZ
  4. FWE
  5. FIZ
  6. FIE
  7. CLZ
  8. CLE
  9. CWZ
  10. CWE
  11. CIZ
  12. CIE

现在使用pairwise算法对测试用例进行取舍:
从第12个测试用例开始,两两组合CI、CE、IE,如果其它测试用例出现过这三个两两组合就可以舍去第12个测试用例。
- 11出现CI,10出现CE, 6出现IE,所以可以删除12。
- 第11个测试用例因为有CI这个组合,而其它测试用例没有出现这个组合所以保留
- 第10个测试用例的cw在第9个,CE在第8个,WE在第4个,第10个测试用例删除
- 第9个因为CW所以保留,第8个也保留因为CE,第7个因为CZ也保留
- 第6个保留(IE),第5个FI、FZ、IZ,在第6、3、11出现所以删除
- 第4个保留,第3个删除,第2个删除,第1个保留
所以剩下7个测试用例:

  1. FLZ
  2. FWE
  3. FIE
  4. CLZ
  5. CLE
  6. CWZ
  7. CIZ
    用这7个测试用例理论上可以覆盖73%的缺陷,可以提升效率。
posted @   店里最会撒谎白玉汤  阅读(861)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示