在任何計算機軟件中,擁有一組首選項以允許自定義設置並不罕見。 JMP 也不例外。例如,在 JMP 12 ,分類平台允許根據用戶的偏好量身定制大量輸出。以下是我們在分類平台的首選項下看到的內容:

有許多複選框,下拉選項和可編輯的數字框。想像一下,試圖測試某些組合是否會導致軟件失敗。保持數字可以變化到最小的選擇,我們仍然有兩個選項,有四個選項(級別),四個選項有三個選項,39個二元選項。如果我們要測試每種可能的組合,我們有一個驚人的4 ^ 2 * 3 ^ 4 * 2 ^ 39 = 712,483,534,798,848組合。顯然,測試每種可能的組合是不可行的。
然而,事實證明,軟件中的錯誤通常是由於幾個選項的相互作用。例如,如果我只想測試兩個複選框,我會考慮四種情況:檢查兩個盒子,兩個盒子檢查一個盒子而不檢查一個盒子,兩個盒子都未選中。遵循這個想法,為什麼不首先考慮所有成對選項?即使我只想檢查所有兩種選項的可能性,一些小數學表明我有4,690種組合需要考慮。
一種不同的測試方式?
幸運的是,在JMP 12中我們有覆蓋陣列!它們可以幫助我們推導出測試軟件的測試場景。使用覆蓋數組,如果我指定強度2,我知道所有雙選項組合都將被覆蓋。我使用DOE-> Covering Array(僅限JMP Pro),並添加與每個選項對應的因子。我的因素設置的一部分如下所示,但我已將因子表包括在內文件交換 。您可以通過打開因子表並在紅色三角形菜單下選擇“負載因子”,在“覆蓋陣列”平台下加載它。

保持強度= 2意味著我想確保所有選項對的所有組合都包含在設計的某個位置。當我選擇繼續然後選擇Make Design時,我最終得到了20次設計(結果可能會有所不同,但通常運行大小將在19-21次運行範圍內)。令人驚訝的是,通過45種選項,所有可能的對的所有組合僅出現在20次運行中。
我可以少跑步嗎?
由於具有最大數值的兩個因子各自具有四個級別,因此該強度2覆蓋陣列的大小的下限是16次運行。對於這個例子,有四次額外的運行似乎並不是什麼大不了的事,但有些情況下,在時間和金錢方面,運行次數節省了20%。嘗試找到更小的設計很容易使用優化按鈕 。選擇10,000次迭代,我能夠找到16次運行的設計文件交換 。
但等等,還有更多!
讓我們仔細看看Covering Array平台上的Metrics:

覆蓋數表示涉及設計所涵蓋的t因子的組合的百分比(即,在設計中某些地方出現了多少可能的組合)。如果Categorical平台通過了覆蓋數組定義的測試集,我們已經涵蓋了任何一對選項的所有組合,因此t = 2的覆蓋率為100%。但是,如果一切都過去了,那麼我們還測試(並通過)了三個選項中超過85%的組合,以及四個選項中57%的組合。
這看起來好得令人難以置信
有了所有這些選項,16次運行真的能給我所有這些信息嗎?請記住,我只知道所有這些組合出現在設計中 - 如果一切都過去了,我們知道由於兩個選項以及許多三選項和四選項組合沒有錯誤。
如果我看到失敗會怎麼樣?然後覆蓋數組幫助我們確定存在問題,但不是問題的直接原因。它能幫助我們找到失敗的原因嗎?事實證明,我們確實在覆蓋數組中包含了大量信息,不僅基於失敗,還基於成功的測試。下一次,我們將看看它如何幫助我們找到原因。
嗨,
我想知道覆蓋陣列設計如何計算4個因子的問題所需的總運行和組合,t = 3,每個因子有4個級別?當我應用不允許的組合時,它如何決定額外的運行?
謝謝