此问题源于软件测试。这个问题有点难以解释。我将首先给出一个示例,然后尝试概括该问题。
共有10个要测试的项目,例如A到J,以及一个可以同时测试3个项目的测试工具。测试工具中项目的顺序无关紧要。当然,要进行详尽的测试,我们需要10 C 3的项目组合。
问题比较复杂。还有一个附加条件是,一旦一对项目一起测试过,就不需要再对同一对进行测试。
例如,一旦我们执行以下三个测试:
美国广播公司
ADE
BDF
我们不必执行:
ABD
因为第一个测试用例覆盖了A,B对,第二个覆盖了A,D,第三个覆盖了B,D。
因此,问题在于,我们需要确保所有对都经过测试的最小测试用例数量是多少?
概括地说,如果我们有n个项目,则可以同时测试s,并且我们需要确保测试所有可能的t元组(使得s> t),我们需要的最小测试用例数是多少? n,s和t的项?
最后,什么是生成所需测试用例的良好算法?