日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

C语言正交表测试用例,测试用例设计之正交表法和配对测试法

發(fā)布時(shí)間:2023/12/31 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言正交表测试用例,测试用例设计之正交表法和配对测试法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

先給大家簡(jiǎn)單介紹兩個(gè)重要的算法:“ OATS(Orthogonal Array Testing Strategy)” 和 “Pairwise/All-Pairs Testing”,簡(jiǎn)稱 “正交表法” 和 “配對(duì)測(cè)試法”。

正交表法

正交表法有兩個(gè)重要的特性,大家嘗試著理解一下:

1.每列中不同數(shù)字出現(xiàn)的次數(shù)相等

備注:這一特點(diǎn)表明每個(gè)因素的每個(gè)水平與其它因素的每個(gè)水平參與試驗(yàn)的幾率是完全相同的,從而保證了在各個(gè)水平中最大限度地排除了其它因素水平的干擾,能有效地比較試驗(yàn)結(jié)果并找出最優(yōu)的試驗(yàn)條件。

2.在任意兩列其橫向組成的數(shù)字對(duì)中,每種數(shù)字對(duì)出現(xiàn)的次數(shù)相等

備注:這個(gè)特點(diǎn)保證了試驗(yàn)點(diǎn)均勻地分散在因素與水平的完全組合之中,因此具有很強(qiáng)的代表性。

舉個(gè)例子:有三個(gè)字段,每個(gè)字段可以取三個(gè)值,設(shè)字段表現(xiàn)為 A(A1,A2,A3)、B(B1,B2,B3)、C(C1,C2,C3),可以組成的集合恰好可以表現(xiàn)為一個(gè)三維空間圖,如下圖所示:

圖中的正方體中每個(gè)字段的每個(gè)水平代表的是一個(gè)面,共九個(gè)面,任意兩個(gè)字段的水平之間都存在交點(diǎn),共 27(3x3x3)個(gè),這就是笛卡爾積。按照兩大特性設(shè)計(jì)出的正交表如右圖所示,試驗(yàn)點(diǎn)用⊙表示。我們看到,在 9 個(gè)平面中每個(gè)平面上都恰好有三個(gè)點(diǎn)而每個(gè)平面的每行每列都有一個(gè)點(diǎn),而且只有一個(gè)點(diǎn),總共九個(gè)點(diǎn)。這樣的試驗(yàn)方案,試驗(yàn)點(diǎn)的分布很均勻,試驗(yàn)次數(shù)也不多。

國(guó)外有一個(gè)網(wǎng)站能查詢正交表的結(jié)果案例:http://www.york.ac.uk/depts/maths/tables/orthogonal.htm

配對(duì)測(cè)試法

配對(duì)測(cè)試法(Pairwise)是 L. L. Thurstone( 1887 – 1955) 在 1927 年首先提出來(lái)的。他是美國(guó)的一位心理統(tǒng)計(jì)學(xué)家。Pairwise 是基于數(shù)學(xué)統(tǒng)計(jì)和對(duì)傳統(tǒng)的正交分析法進(jìn)行優(yōu)化后得到的產(chǎn)物。

定義:Most field faults were caused by either incorrect single values or by an interaction of pairs of values." If that's generally correct, we ought to focus our testing on the risk of single-mode and double-mode faults. We can get excellent coverage by choosing tests such that 1) each state of each variable is tested, and 2) each variable in each of its states is tested in a pair with every other variable in each of its states. This is called pairwise testing or all-pairs testing.

大概意思是:缺陷往往是由一個(gè)參數(shù)或兩個(gè)參數(shù)的組合所導(dǎo)致的,那么我們選擇比較好的測(cè)試組合的原則就是:

1)每個(gè)因子的水平值都能被測(cè)試到;

2)任意兩個(gè)因子的各個(gè)水平值組合都能被測(cè)試到,這就叫配對(duì)測(cè)試法。

參看:http://www.developsense.com/pairwiseTesting.html

Pairwise 基于如下 2 個(gè)假設(shè):

每一個(gè)維度都是正交的,即每一個(gè)維度互相都沒(méi)有交集。

根據(jù)數(shù)學(xué)統(tǒng)計(jì)分析,73% 的缺陷(單因子是 35%,雙因子是 38%)是由單因子或 2 個(gè)因子相互作用產(chǎn)生的。19% 的缺陷是由 3 個(gè)因子相互作用產(chǎn)生的。

因此,基于覆蓋所有 2 因子的交互作用產(chǎn)生的用例集合性價(jià)比最高而產(chǎn)生的。國(guó)外也有一份類似的數(shù)學(xué)統(tǒng)計(jì):

我們通過(guò)一個(gè)訂飛機(jī)票的實(shí)際例子來(lái)看一下,配對(duì)測(cè)試法是怎樣從笛卡爾積中提煉出局部最優(yōu)解的。

依然是三個(gè)字段的組合,分別是 Destination(Canada, Mexico, USA),Class(Coach, Business Class, First Class), Seat Preference(Aisle, Window),所對(duì)應(yīng)的笛卡爾積共有 3x3x2=18 中測(cè)試組合,如下表所示。

經(jīng)過(guò)配對(duì)測(cè)試法篩選后,結(jié)果如下:

經(jīng)過(guò)篩選以后,我們的測(cè)試用例變成了 9 條,case 數(shù)量精簡(jiǎn)了 50%。簡(jiǎn)單總結(jié) pairwise 的篩選原理就是,發(fā)現(xiàn)兩兩配對(duì)在全集中有重復(fù)的就去掉其中之一,這樣篩選也有副作用,每次篩選完了條數(shù)是固定的,但是結(jié)果卻不盡相同。但是通過(guò)上面的介紹我們不難比較出兩種算法的差異。

備注說(shuō)明:

該文應(yīng)該是搜集整理過(guò)來(lái)的,只是覺(jué)的定義和解釋的比較規(guī)范,非本人原創(chuàng).若有不當(dāng),請(qǐng)聯(lián)系我,更新援引說(shuō)明.

總結(jié)

以上是生活随笔為你收集整理的C语言正交表测试用例,测试用例设计之正交表法和配对测试法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。