测试用例组合生成器

根据参数和取值生成测试用例覆盖表。同时生成全组合(笛卡尔积)和覆盖任意两参数所有搭配的 Pairwise 组合,并对比用例数量。

功能特点

  • 只需填写参数和取值,同时生成全组合(笛卡尔积)和 Pairwise 用例表
  • 直观对比“全组合多少条 → Pairwise 多少条”,并显示减少的比例
  • 可设置约束(某两个取值不能同时出现),排除不可能存在的组合
  • 可复制为 CSV、Markdown 表格或 TSV(粘贴到 Excel),输入内容可通过链接分享

适用场景

设计测试用例

把系统、浏览器、会员类型、支付方式等条件的组合列成表,避免漏测。

把用例数压到可执行的范围

全组合多到测不完时,在保证两两搭配全覆盖的前提下减少用例。

找出需求里的遗漏

把条件组合机械地排出来,发现需求文档里没写到的情况。

直接贴进表格

TSV 可粘贴到 Excel、WPS 表格或在线表格,Markdown 表格可贴到工单和 Wiki。

隐私说明

输入的参数名、取值和生成的表格都只在浏览器本地处理,不会上传到服务器,也不会保存。只有在点击“复制分享链接”生成短链接时,分享链接(含输入内容)才会发送到短链接服务。

常见问题

全组合(笛卡尔积)、Pairwise 和正交表有什么区别?

全组合是把所有参数的取值相乘:3 个取值 × 2 个取值 × 2 个取值就是 12 条,参数一多就会按乘法爆炸(6 个各有 3 个取值的参数是 729 条)。Pairwise 是挑出的一个小集合,保证任意取出两个参数,它们取值的所有搭配都至少出现一次;6 个 3 取值参数大约能减到 15 条左右,而两两搭配不会遗漏。正交表(正交试验法)同样覆盖所有两两搭配,但还要求每种搭配出现的次数相同,只能套用固定的表型;本工具生成的是 Pairwise,不要求均衡,能按你实际的参数和取值直接生成,也能加约束,但不是正交表。

为什么说 Pairwise 一般就够用了?

经验表明,软件缺陷大多由单个条件或两个条件的组合触发(NIST 的研究中,两因素以内约占七到九成),需要三个以上条件同时作用才出现的缺陷比例较小。所以在工时有限时,优先保证“两两搭配全部测到”,重要的组合再手动补充,是比较实用的做法。反过来,支付、安全这类出错代价高的部分,仍应使用全组合验证。

约束(不能同时出现的组合)是怎么处理的?

像“iOS 与 Windows 版客户端”这样本来就不可能同时出现的组合,可以设为约束。命中约束的行会从全组合表中排除,Pairwise 也不会生成。被约束掉的搭配本身也不再计入覆盖目标,所以“已覆盖的两两搭配”数会相应减少。约束很多时,把相关参数拆到另一张表里通常更清楚。

生成的表怎么用?

CSV 适合导入测试管理工具,TSV 适合粘贴到 Excel、WPS 表格或在线表格,Markdown 表格可以直接用在 GitHub Issue 或 Wiki 里。表里的一行就是一条测试用例,通常会在右侧加上“预期结果”“负责人”“执行结果”等列来使用。输入的参数和取值会写进链接,团队成员打开链接就能还原同一张表。

相关工具

参数与取值

填写参数(因素)名称,以及它可能的取值(水平),取值之间用逗号分隔(中英文逗号均可)。参数 2~10 个,每个参数的取值 1~10 个。

约束(不能同时出现的组合)

指定“这个取值和那个取值不可能同时出现”的组合后,两张表都会排除这些组合。

用例数对比

用例数对比
-
全组合
-
Pairwise
-
已覆盖的两两搭配
-
被约束排除
-

Pairwise(成对组合)

挑选出的一组用例:任意取出两个参数,它们取值的所有搭配都至少出现一次。能大幅减少用例数。

全组合(笛卡尔积)

把所有参数的取值相乘得到的组合。不会遗漏,但用例数会迅速膨胀。