Pairwise算法
正交分析法进行软件测试的时候,会生成很多的测试用例。
假设有三个维度,每个维度有两个因子,如果用正交分析法会生成8个测试用例,这只是在维度和因子数很小的情况下,实际测试时维度数和因子数较大会产生很多很多的测试用例,为了提高效率需要对正交法产生的测试用例进行取舍。
pairwise的假设
- 每个维度都是正交的
- 根据数学统计分析,73%的缺陷是因为单因子和双因子产生,19%的缺陷是3因子相互作用产生。
因此,pairwise基于覆盖所有2因子的交互作用产生的用例集合性价比最高而产生的
pairwise算法
假设现在有3个维度:
- 浏览器:Firefox, Chrome
- OS: Linux, Windows, IOS
- 语音: zh-CN, English
现在用正交分析法,会产生12个测试用例:
- FLZ
- FLE
- FWZ
- FWE
- FIZ
- FIE
- CLZ
- CLE
- CWZ
- CWE
- CIZ
- 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个测试用例:
- FLZ
- FWE
- FIE
- CLZ
- CLE
- CWZ
- CIZ
用这7个测试用例理论上可以覆盖73%的缺陷,可以提升效率。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理