刚才听了近半个小时的软件测试英文课,愣是打瞌睡,实在是觉得老师用英文讲得太复杂了,同样的意思反复表达,就像“行政脱口秀”上说的“反复讲,讲反复,反反复复讲反复。😀” 听得特么叫个费劲,这里顺便再梳理一下,加深加深印象。
什么是结对组合测试?
结对组合测试(Pairwise Testing)是一种适用于具有多个输入参数的系统的软件测试方法,该方法通过将所有输入参数的全部取值组合起来,来达到减少测试用例数量的目的。这种方法的优点是在不需要测试所有输入参数组合的情况下,有效的发现系统缺陷。
烤披萨举例
为了更好的说明这种测试方法的原理和优势,这里我们通过烤披萨的案例来进行介绍。
场景:假设你新开了一家披萨店,你计划使用烤箱烤出味道最好的披萨,假设配方不变的情况下,能够影响披萨味道的因素有这些:
- 烤架高度(低,中,高)
- 烤箱温度(500度,800度, 1500度)
- 烤制时长(20分钟,25分钟,30分钟)
常规测试方法:要想找到最好吃的披萨烤制方案,你需要根据不同的高度、温度和时长方案来分别进行烤制,这样的方案组合一共有27种:
3种(烤架高度) X 3种(烤箱温度) X 3种(烤制时长) = 27种 (烤制方案)
采用这种方案,你需要烤制27个不同的披萨,然后再让专家从中找到最好吃的那一个。
结对组合测试方案:你只需要根据结对组合测试方法,列出包含每一对参数组合的最少测试用例集(也可以使用组合测试工具)
测试用例 | 烤架高度 | 烤箱温度 | 烤制时长 |
1 | 低 | 500 | 20 |
2 | 低 | 800 | 25 |
3 | 低 | 1500 | 30 |
4 | 中 | 800 | 30 |
5 | 中 | 1500 | 20 |
6 | 中 | 500 | 25 |
7 | 高 | 1500 | 25 |
8 | 高 | 500 | 30 |
9 | 高 | 800 | 20 |
特点:通过上面的测试用例表,你就可以发现任意两个因素的所有选项组合已经被全部都被考虑到了。这就是结对组合测试方法的特点,使用最少的测试用例来覆盖所有的输入参数组合。
因此,采用这种测试方法,我们只需要分别烤制9个披萨,就可以从中挑出最好吃的一个。
如何生成测试用例集?
在课上老师举例的时候,也是三个因素,但每个因素只有2个选项,所以老师完全可以手动写出来测试用例集。上面我的例子扩展到了每个因素3个选项,要想手动写出来还是挺麻烦的。另外,结对组合测试的用例集的生成原理是基于组合数学原理的,通过系统化地覆盖每一对参数组合,才能确保测试的有效性和高效性。为了方便后续使用的时候生成测试用例集,这里给大家分享一个在线工具 Pairwise Online Tool, 直接输入你的因素和选项,然后点击 Generate Pairwise 按钮就可以下载获得生成的组合电子表格文件。
发表回复