組合測試術語:Pairwise/All-Pairs、OATS(Orthogonal Array Testing Strategy)

組合測試

組合測試(Combinatorial Test)是一種黑盒測試用例生成方法椅贱,主要針對多輸入?yún)?shù)組合場景懂算。

目前業(yè)界較流行的兩種組合測試方法,一種是Pairwise/All-Pairs庇麦,即配對組合计技。OATS(Orthogonal Array Testing Strategy),即正交表法山橄。

Pairwise/All-Pairs

In computer science, all-pairs testing or pairwise testing is a combinatorial method of software testing that, for each pair of input parameters to a system (typically, a software algorithm), tests all possible discrete combinations of those parameters. Using carefully chosen test vectors, this can be done much faster than an exhaustive search of all combinations of all parameters, by "parallelizing" the tests of parameter pairs. --- 維基百科

Pairwise/All-Pairs垮媒,也叫配對測試 或 結對測試,是一種軟件測試的組合方法航棱,核心在于用最少的測試用例來覆蓋多個因素取值的兩兩組合睡雇。

配對測試示例

# 影響因素及可取值
操作系統(tǒng): macOS, Windows, Linux
瀏覽器: Chrome, Safari, Firefox
分辨率: 1366x768, 1600×900, 2880x1800

# 配對測試結果集
操作系統(tǒng)    瀏覽器 分辨率
Linux   Safari  1600×900
Windows Safari  1366x768
Linux   Firefox 2880x1800
Windows Chrome  2880x1800
Windows Firefox 1600×900
macOS   Safari  2880x1800
Linux   Chrome  1366x768
macOS   Chrome  1600×900
macOS   Firefox 1366x768

Pairwise 算法

Pairwise 是 L. L. Thurstone 在 1927 年首先提出來的。他是美國的一位心理統(tǒng)計學家饮醇。Pairwise 是基于數(shù)學統(tǒng)計和對傳統(tǒng)的正交分析法進行優(yōu)化后得到的產(chǎn)物它抱。

Pairwise 基于如下 2 個假設:

  • 每一個維度都是正交的,即每一個維度互相都沒有交集朴艰;
  • 根據(jù)數(shù)學統(tǒng)計分析观蓄,73% 的缺陷(單因素是 35%,雙因素是 38%)是由單因素或兩個因素相互作用產(chǎn)生的祠墅。19% 的缺陷是由三個因素相互作用產(chǎn)生的侮穿。

因此,Pairwise 基于覆蓋所有兩因素的交互作用產(chǎn)生的用例集合性價比最高而產(chǎn)生的毁嗦。

N-wise

N-wise 是對 N 個因素的所有取值進行全排列組合(笛卡爾積)而生成的一組測試用例集撮珠。理論上,該測試用例集可以發(fā)現(xiàn)所有 N 個因素共同作用引發(fā)的缺陷。

Pairwise/All-PairsN-wise 的一個具體化實例芯急,Pairwise/All-Pairs 實際上就是 2-wise勺届。

《微軟軟件測試之道》中,建議從 Pairwise/All-Pairs 開始測試娶耍,逐漸提高組合維度免姿,直至6-wise組合測試。因為據(jù)研究表明榕酒,6-wise可以發(fā)現(xiàn)絕大多數(shù)的程序缺陷胚膊。但是,實際上隨著組合維度的提升想鹰,測試用例呈指數(shù)爆炸增長紊婉,所以 Pairwise/All-Pairs3-wise 比較適合實際項目。

組合數(shù)量對比

組合 全排列組合數(shù)量 All-Pairs 組合數(shù)量 3-wise 組合數(shù)量
2*2 4 4 -
3*3*3 27 9 27
4*4*4*4 256 20 78
4*4*4*4*3*3*3*2*2*2 55296 25 100

N-wise 與 OATS 的區(qū)別

相同點

  • 都屬于組合測試方法
  • 都可減少測試成本
  • 使用頻率較高的均是兩兩組合

不同點

  • N-wise:適用于多因素組合情況下的測試用例生成辑舷。
    • 僅考慮兩兩組合喻犁,故測試用例數(shù)量固定,但內(nèi)容不一定一致(引入隨機種子何缓,可生成不同的測試用例肢础,如 PICT 中的參數(shù)“/r[:N]”)
    • 相比正交表法,測試成本較低
    • 生成用例較方便碌廓,有相關工具支持传轰,如 PICT、Allpair等
  • 正交表法:是為正交試驗服務的谷婆,強調(diào)試驗數(shù)據(jù)的均衡搭配慨蛙。
    • 強調(diào)因素間取值組合的“等概率覆蓋”
    • 受到“等概率覆蓋”的約束,通常比配對測試生成的用例要多纪挎,測試成本較高
    • 生成用例較復雜期贫,需要通過正交表進行裁剪、替換參數(shù)后才可生成用例

組合測試相關工具

Pairwise 工具集http://www.pairwise.org/tools.asp
正交表查詢https://www.york.ac.uk/depts/maths/tables/orthogonal.htm

Pairwise 工具推薦微軟的 PICT(Pairwise Independent Combinatorial Testing)廷区。

參考文檔

微信公眾號:daodaotest

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
禁止轉載,如需轉載請通過簡信或評論聯(lián)系作者贾铝。
  • 序言:七十年代末隙轻,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子垢揩,更是在濱河造成了極大的恐慌玖绿,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叁巨,死亡現(xiàn)場離奇詭異斑匪,居然都是意外死亡,警方通過查閱死者的電腦和手機锋勺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門蚀瘸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來狡蝶,“玉大人,你說我怎么就攤上這事贮勃√叭牵” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵寂嘉,是天一觀的道長奏瞬。 經(jīng)常有香客問我,道長泉孩,這世上最難降的妖魔是什么硼端? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮寓搬,結果婚禮上珍昨,老公的妹妹穿的比我還像新娘。我一直安慰自己订咸,他們只是感情好曼尊,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著脏嚷,像睡著了一般骆撇。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上父叙,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天神郊,我揣著相機與錄音,去河邊找鬼趾唱。 笑死涌乳,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的甜癞。 我是一名探鬼主播夕晓,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼悠咱!你這毒婦竟也來了蒸辆?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤析既,失蹤者是張志新(化名)和其女友劉穎躬贡,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體眼坏,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡拂玻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片檐蚜。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡魄懂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出熬甚,到底是詐尸還是另有隱情逢渔,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布乡括,位于F島的核電站肃廓,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏诲泌。R本人自食惡果不足惜盲赊,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望敷扫。 院中可真熱鬧哀蘑,春花似錦、人聲如沸葵第。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽卒密。三九已至缀台,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間哮奇,已是汗流浹背膛腐。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鼎俘,地道東北人哲身。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓胜嗓,卻偏偏與公主長得像穆律,于是被迫代替她去往敵國和親比然。 傳聞我的和親對象是個殘疾皇子墨缘,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345