田口方法编程示例

bre*_*ott 2 arrays orthogonal

我被要求研究一些与“田口方法”相关的编程,特别是与多变量测试相关的编程。这是我尝试研究的第一批主题之一,我发现了零、零、零的代码示例,特别是考虑到它的数学基础。

我找到了一些描述所涉及数学的书籍,但看起来我将进行一些数学复习,除非我能找到一些我可以关联的代码示例。

这是否是一种罕见的东西,一旦你完成了编程,它就变得非常有价值,以至于没有人分享?或者我只是在田口+谷歌失败了?

Ant*_*ima 5

田口设计与覆盖数组是一样的。基本思想是,如果有 F 个数据“字段”,并且每个数据“字段”可以有 N 个不同的值,则可以构造 N F个不同的测试用例。覆盖数组基本上是一组测试用例,它们一起覆盖两个字段值的所有可能的成对组合,其想法是生成尽可能小的测试用例。例如,如果 F=3 且 N=3,则有 27 个可能的测试用例,但如果您的目标是成对覆盖,则有 9 个测试用例就足够了:

    Field A | Field B | Field C
    ---------------------------
          1         1         1
          1         2         2
          1         3         3
          2         1         2
          2         2         3
          2         3         1
          3         1         3
          3         2         1
          3         3         2
Run Code Online (Sandbox Code Playgroud)

在此表中,您可以选择任意两个字段和任意两个值,并且您始终可以找到包含所选字段的所选值的行。

一般来说,生成田口设计是一个困难的组合问题。

您可以通过多种方法生成田口设计:

  • 分支定界
  • 随机搜索(例如禁忌搜索或模拟退火)
  • 贪心搜索
  • 一些特定结构的特定数学构造