欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種關(guān)于財(cái)務(wù)云平臺(tái)的成對(duì)組合測(cè)試用例生成方法與流程

文檔序號(hào):11323141閱讀:355來(lái)源:國(guó)知局
一種關(guān)于財(cái)務(wù)云平臺(tái)的成對(duì)組合測(cè)試用例生成方法與流程

本發(fā)明涉及軟件測(cè)試領(lǐng)域,特別涉及一種關(guān)于財(cái)務(wù)云平臺(tái)的成對(duì)組合測(cè)試用例生成方法。



背景技術(shù):

軟件測(cè)試不僅成為軟件開(kāi)發(fā)的一個(gè)有機(jī)組成部分,而且在軟件開(kāi)發(fā)的系統(tǒng)工程中占據(jù)著相當(dāng)大的比重。一般來(lái)講軟件是一個(gè)復(fù)雜的邏輯系統(tǒng),其正常運(yùn)行受到多因素的影響,可簡(jiǎn)稱為軟件系統(tǒng)的輸入。對(duì)于一個(gè)具有n個(gè)查詢條件,每個(gè)查詢條件分別有a、b、c…個(gè)可選參數(shù)時(shí),其組合數(shù)為a*b*c*…個(gè),數(shù)量巨大,導(dǎo)致測(cè)試效率低下、成本高。而d.kuhn等人的研究表明,在某些系統(tǒng)中,大多數(shù)的導(dǎo)致軟件的失效是由少數(shù)參數(shù)取特定組合時(shí)引起的(發(fā)現(xiàn)超過(guò)70%的錯(cuò)誤是由某兩個(gè)參數(shù)的相互作用觸發(fā)的,超過(guò)90%的錯(cuò)誤是由3個(gè)以內(nèi)的參數(shù)互相作用而引發(fā)的),這種錯(cuò)誤稱作組合錯(cuò)誤。因而人們提出了基于組合覆蓋的軟件測(cè)試方法,比較出名的便是測(cè)試用例生成工具aetg和pict,但當(dāng)參數(shù)較多時(shí)他們均無(wú)法保證生成的組合測(cè)試用例集最小化,隨著軟件測(cè)試技術(shù)的發(fā)展,組合測(cè)試用例集的生成便成為組合測(cè)試的關(guān)鍵性問(wèn)題,在不斷被改進(jìn)。為了財(cái)務(wù)云平臺(tái)系統(tǒng)中多參數(shù)輸入查詢測(cè)試的高效率實(shí)施,減小生成的組合測(cè)試用例集規(guī)模,提高測(cè)試用例的可重用性,提出了本發(fā)明,將各輸入?yún)?shù)根據(jù)重要程度給各參數(shù)的可能取值賦予權(quán)值,然后進(jìn)行組合測(cè)試用例生成得到帶優(yōu)先級(jí)排序的組合測(cè)試用例集。

此外在實(shí)際運(yùn)用組合測(cè)試用例集進(jìn)行組合測(cè)試時(shí),財(cái)務(wù)云平臺(tái)系統(tǒng)的測(cè)試需求或系統(tǒng)本身發(fā)生變更,參數(shù)取值則進(jìn)行相應(yīng)的變更。例如:增加、刪除或變更:參數(shù)、參數(shù)值,繼而要重新生成組合測(cè)試用例集,來(lái)達(dá)到新系統(tǒng)下的覆蓋要求。用新參數(shù)取值生成的新組合測(cè)試用例集和原來(lái)的組合測(cè)試用例集差異較大,重新測(cè)試的代價(jià)相對(duì)較高。而事實(shí)上,舊系統(tǒng)下的測(cè)試用例集,往往有很大一部分可以在新系統(tǒng)下進(jìn)行重用,從而降低重新測(cè)試的代價(jià)。大多數(shù)已有的成對(duì)組合測(cè)試用例生成的流程都是在系統(tǒng)給定的情況下進(jìn)行,并沒(méi)有考慮系統(tǒng)變更后,如何進(jìn)行回歸組合測(cè)試的問(wèn)題。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明要解決的技術(shù)問(wèn)題是:提供一種關(guān)于財(cái)務(wù)云平臺(tái)的成對(duì)組合測(cè)試用例生成方法,在參數(shù)化系統(tǒng)發(fā)生變更后,在滿足新系統(tǒng)覆蓋要求的前提下,盡可能重用原系統(tǒng)下已有的測(cè)試用例,以減小新增的測(cè)試開(kāi)銷。

為解決上述問(wèn)題,本發(fā)明采用的技術(shù)方案是:一種關(guān)于財(cái)務(wù)云平臺(tái)的成對(duì)組合測(cè)試用例生成方法,由優(yōu)先級(jí)定義、測(cè)試用例生成算法及回歸測(cè)試過(guò)程中提高測(cè)試用例重用率三部分組成。其中:優(yōu)先級(jí)的定義包括優(yōu)先權(quán)值的計(jì)算與優(yōu)先組合模型,優(yōu)先權(quán)值指的是根據(jù)優(yōu)先級(jí)要素通過(guò)本發(fā)明提出的公式計(jì)算出某個(gè)參數(shù)的某個(gè)取值的優(yōu)先權(quán)值;優(yōu)先組合模型指的是有序覆蓋矩陣,即本發(fā)明所要求的測(cè)試用例集的數(shù)學(xué)模型。測(cè)試用例生成算法按照待測(cè)參數(shù)各取值的優(yōu)先權(quán)值生成有序測(cè)試用例集,最后在滿足新系統(tǒng)覆蓋要求的前提下,盡可能重用原系統(tǒng)下已有的測(cè)試用,生成新的測(cè)試用例集。

優(yōu)先權(quán)值計(jì)算影響因素有很多,主要有:

1)成本:修改代碼需要的代價(jià),記為a

2)涉及代碼域:對(duì)系統(tǒng)代碼范圍的影響程度,記為b

3)距最近一次修改后時(shí)間間隔:新修改的參數(shù)急需重新測(cè)試,記為c

4)修改頻次:修改頻次大,出錯(cuò)概率大,記為d

5)用戶使用頻次:用戶使用頻次大,也是測(cè)試的關(guān)注點(diǎn),記為e

將以上因素統(tǒng)一換作價(jià)值以統(tǒng)一單位,然后用δ1至δ5分別表示每個(gè)因素在總的優(yōu)先權(quán)值中的比例,均為0至1間的小數(shù),且δ1+δ2+δ3+δ4+δ5=1;

w表示某個(gè)參數(shù)取值的優(yōu)先權(quán)值,權(quán)值越高優(yōu)先級(jí)越高

w=aδ1+bδ2+cδ3+dδ4+eδ5

給每個(gè)參數(shù)的每個(gè)取值賦予權(quán)值后,任意二元組的權(quán)值為二元組中兩取值的權(quán)值之和。利用有序覆蓋矩陣得到按照優(yōu)先級(jí)排列的成對(duì)組合測(cè)試用例。

具體注意事項(xiàng):

1)測(cè)試用例的順序按優(yōu)先權(quán)值降序排列;

2)對(duì)這個(gè)測(cè)試集的任意前n個(gè),它們的權(quán)值總和要盡可能的最大,即找不到另一個(gè)覆蓋數(shù)組,它的前n個(gè)測(cè)試用例的權(quán)值總和更大。

3)對(duì)應(yīng)本發(fā)明貪心算法的定義為:選取一個(gè)參數(shù)的取值,使得它與已經(jīng)固定的參數(shù)所組成的所有未被覆蓋的二元組的復(fù)合權(quán)值最大。

4)適應(yīng)度函數(shù)用于計(jì)算二元組的復(fù)合權(quán)值。

為了實(shí)現(xiàn)本發(fā)明的目的,采用的技術(shù)方案概述包括以下步驟:

(1)根據(jù)優(yōu)先級(jí)計(jì)算公式,計(jì)算出每個(gè)參數(shù)的優(yōu)先權(quán)值,求出由所有參數(shù)的取值組成的二元組及其復(fù)合權(quán)值,并將它們放入未被覆蓋的二元組集合,形成未覆蓋集;

(2)利用貪心算法,根據(jù)參數(shù)取值的優(yōu)先權(quán)值情況在未覆蓋集中挑選前n個(gè)作為候選測(cè)試用例,其中n為用戶自行設(shè)定值;

(3)利用遺傳算法,將步驟(2)所得候選測(cè)試用例編碼并進(jìn)行進(jìn)化操作;在遺傳算法停止后,將最優(yōu)個(gè)體挑出并加到測(cè)試用例集中,同時(shí)將未覆蓋集中被覆蓋的二元組刪去;若未覆蓋集未空且測(cè)試資源仍然允許測(cè)試更多的測(cè)試用例,則轉(zhuǎn)向步驟(2),否則轉(zhuǎn)向步驟(4);

(4)判斷是否在測(cè)試過(guò)程中有參數(shù)的變化,有則轉(zhuǎn)步驟(5),沒(méi)有則轉(zhuǎn)步驟(8);

(5)判斷已有測(cè)試用例可否重用,不可重用則拋棄,可重用則轉(zhuǎn)步驟(6);

(6)將可重用的測(cè)試用例轉(zhuǎn)換為新系統(tǒng)下的新測(cè)試用例集;

(7)若未覆蓋集非空,則將新的未覆蓋集作為候選測(cè)試用例,則轉(zhuǎn)向步驟(3),否則轉(zhuǎn)向步驟(8);

(8)判斷測(cè)試資源是否能滿足更多測(cè)試用例,如果能,則轉(zhuǎn)步驟(2),否則結(jié)束流程。

進(jìn)一步的,步驟(2)的具體實(shí)施步驟如下:

(21)從未覆蓋集中將權(quán)值前n大的二元組挑選出來(lái),如果未覆蓋集中二元組個(gè)數(shù)不足n個(gè),則全部選出;

(22)根據(jù)二元組確定候選測(cè)試用例的兩個(gè)參數(shù)的取值;

(23)對(duì)n個(gè)測(cè)試用例剩下的未固定的參數(shù),依次按照貪心策略確定取值,最后得到候選測(cè)試用例。

進(jìn)一步的,步驟(3)的具體實(shí)施步驟如下:

(31)將在步驟(2)中得到的n個(gè)測(cè)試用例進(jìn)行編碼;

(32)利用適應(yīng)度函數(shù)求出這些測(cè)試用例的適應(yīng)度;若進(jìn)化次數(shù)足夠,則轉(zhuǎn)向步驟(36),否則轉(zhuǎn)向步驟(33);

(33)選取適應(yīng)度較高的個(gè)體和選擇適應(yīng)度較低的個(gè)體參加下一代的進(jìn)化過(guò)程;

(34)將步驟(33)選取的個(gè)體進(jìn)行單點(diǎn)交叉;

(35)對(duì)步驟(34)所得的個(gè)體隨機(jī)對(duì)序列中的某位做二進(jìn)制取反操作,轉(zhuǎn)向步驟(32);

(36)選取適應(yīng)度最優(yōu)的個(gè)體加入測(cè)試用例集中,并從未覆蓋集中刪去被覆蓋的二元組。

本發(fā)明的有益效果是:本發(fā)明提供的綜合優(yōu)先級(jí)的成對(duì)組合測(cè)試方法和回歸測(cè)試用例生成法,采用優(yōu)先級(jí)的定義,通過(guò)貪心算法加遺傳算法,可以加速測(cè)試用例的生成,使得所得測(cè)試用例可以在有限資源情況下有效地測(cè)試系統(tǒng)關(guān)鍵參數(shù),降低測(cè)試用例生成成本,再加上在回歸測(cè)試過(guò)程中將原有測(cè)試用例集進(jìn)行判斷去掉多余用例增加新的用例覆蓋未被覆蓋的用例組合,可提高原有測(cè)試用例的重用性,進(jìn)一步降低測(cè)試用例生成成本。

附圖說(shuō)明

圖1是本發(fā)明方法在實(shí)施例中的實(shí)現(xiàn)的總體流程圖;

圖2是本發(fā)明方法在實(shí)施例中貪心算法的流程圖;

圖3是本發(fā)明方法在實(shí)施例中遺傳算法的流程圖。

具體實(shí)施方式

本發(fā)明在生成帶有優(yōu)先級(jí)的成對(duì)組合測(cè)試用例生成的同時(shí)考慮到參數(shù)在使用該測(cè)試用例過(guò)程中的變化導(dǎo)致測(cè)試用例的變化,盡量重用已有測(cè)試用例和按照原有方式生成新測(cè)試用例的方法來(lái)生成新的用例,其中已有的測(cè)試用例是在帶有優(yōu)先級(jí)的成對(duì)組合測(cè)試用例生成技術(shù)中針對(duì)原系統(tǒng)生成的。該方法的使用位于待測(cè)系統(tǒng)變更后進(jìn)行回歸測(cè)試的階段,可重用的測(cè)試用例加上新生成的測(cè)試用例構(gòu)成最終測(cè)試的測(cè)試用例集。

如圖1所示,本實(shí)施例提出的基于優(yōu)先級(jí)的成對(duì)組合測(cè)試方法分為以下步驟:

(1)對(duì)系統(tǒng)每個(gè)參數(shù)的每個(gè)取值進(jìn)行優(yōu)先影響因素的評(píng)估(為統(tǒng)一單位,評(píng)估價(jià)值);然后根據(jù)發(fā)明內(nèi)容中的優(yōu)先權(quán)值計(jì)算公式求出每個(gè)參數(shù)取值的優(yōu)先權(quán)值;接著將各參數(shù)取值的組合列出并計(jì)算這些二元組的復(fù)合權(quán)值。

下面給出優(yōu)先模型設(shè)置具體操作:

設(shè)一個(gè)系統(tǒng)有m、k、q三個(gè)參數(shù),其中,參數(shù)m有4個(gè)取值(m1、m2、m3、m4),參數(shù)k有2個(gè)取值(k1、k2),參數(shù)q有3個(gè)取值(q1、q2、q3)。給各參數(shù)賦予影響因素價(jià)值。

根據(jù)本發(fā)明所提出的公式可以計(jì)算出每個(gè)參數(shù)取值的優(yōu)先權(quán)值,公式如下

w=aδ1+bδ2+cδ3+dδ4+eδ5

分別得到m1、m2、m3、m4、k1、k2、q1、q2、q3的優(yōu)先權(quán)值。

獲得每個(gè)參數(shù)取值的優(yōu)先權(quán)值后,將參數(shù)取值的組合和組合的權(quán)值求出,組合后的權(quán)值為兩個(gè)取值優(yōu)先權(quán)值的乘積;

對(duì)未覆蓋集合初始化,將所有二元組合放入其中。

(2)按照貪心算法,從未覆蓋集中根據(jù)參數(shù)取值的優(yōu)先權(quán)值情況求得n個(gè)候選測(cè)試用例,其算法流程如圖2所示,具體步驟如下,設(shè)n取9:

(21)從未覆蓋集中挑選權(quán)值前n大的二元組ti(若未覆蓋集中二元組個(gè)數(shù)不足n個(gè),則全部選出);

對(duì)未覆蓋集進(jìn)行降序排列,從未覆蓋集中挑選前n-1個(gè)權(quán)值最大的二元組

(22)根據(jù)二元組ti確定候選測(cè)試用例testi的中兩個(gè)參數(shù)的取值,即這n-1個(gè)二元組中的取值被固定,它們作為8(n-1=8)個(gè)候選測(cè)試用例中確定的部分;

(23)對(duì)n個(gè)測(cè)試用例剩下的未固定的參數(shù),按順序依次按照貪心策略確定取值,最后得到testi。

本發(fā)明的貪心策略是選取一個(gè)參數(shù)的取值,使得它與已經(jīng)固定的參數(shù)所組成的所有未被覆蓋的二元組的復(fù)合權(quán)值最大。例如,對(duì)于m4q1,缺少參數(shù)k的取值,故它可以和k1或k2組合。

若和k1組合,則它的復(fù)合權(quán)值為:

m4k1的權(quán)值+m4q1的權(quán)值+k1q1的權(quán)值=l1

若和k2組合,則它的復(fù)合權(quán)值為:

k4k2的權(quán)值+m4q1的權(quán)值+k2q1的權(quán)值=l2(l2>l1)

可以看出,若和k2組合,則復(fù)合權(quán)值更大,故選擇k2與其組合,產(chǎn)生一個(gè)候選測(cè)試用例m4k2q1。對(duì)每一個(gè)二元組都執(zhí)行這樣的操作即可獲得全部候選測(cè)試用例。

(3)按照遺傳算法,將步驟(2)所得候選測(cè)試用例編碼并進(jìn)行進(jìn)化操作,當(dāng)遺傳算法停止時(shí),挑出最優(yōu)個(gè)體加入測(cè)試用例集中,并從未覆蓋集中刪去被覆蓋的二元組,遺傳算法流程如圖3,具體步驟如下;

(31)對(duì)步驟(2)得到的9個(gè)測(cè)試用例進(jìn)行編碼;

編碼需要根據(jù)參數(shù)取值個(gè)數(shù)來(lái)確定二進(jìn)制的位數(shù)。如參數(shù)m有4個(gè)取值、參數(shù)k有2個(gè)取值、參數(shù)q有3個(gè)取值,則參數(shù)m用位表示、參數(shù)k用1位表示、參數(shù)q用2位表示:假如參數(shù)q只有3個(gè)取值,編碼可以表示4個(gè),故最后一個(gè)編碼默認(rèn)表示了優(yōu)先權(quán)值最大的那個(gè)取值。

(32)這里我們將一個(gè)測(cè)試用例的復(fù)合權(quán)值作為適應(yīng)度;若個(gè)體進(jìn)化次數(shù)足夠,則轉(zhuǎn)向步驟(36);否則轉(zhuǎn)向步驟(33);

步驟(33)選擇前60%比例的適應(yīng)度較高的個(gè)體,同時(shí)選取后20%比例的適應(yīng)度較低的個(gè)體參加下一代的進(jìn)化過(guò)程;

步驟(34)將步驟(33)選取的個(gè)體進(jìn)行單點(diǎn)交叉;

步驟(35)對(duì)步驟(34)所得的個(gè)體按概率p隨機(jī)對(duì)序列中的某位做二進(jìn)制取反操作。p為一個(gè)經(jīng)驗(yàn)量,根據(jù)實(shí)際情況調(diào)整;轉(zhuǎn)向步驟32);

步驟(36)選取適應(yīng)度最優(yōu)的個(gè)體加入測(cè)試用例集中,并從未覆蓋集中刪去被覆蓋的二元組。

例如我們通過(guò)第一輪遺傳算法得到的最優(yōu)個(gè)體是m4k2q1,則需要把它所包含的所有二元組從未覆蓋集中刪除,應(yīng)該刪除的二元組為m4k2、m4q1、k2q1。

(4)判斷是否有參數(shù)變化,有則轉(zhuǎn)步驟(5),否則轉(zhuǎn)步驟(8)

(5)判斷已有測(cè)試用例可否重用,不可重用則拋棄,可重用則轉(zhuǎn)步驟(6)

(51)假設(shè)參數(shù)的變化為:減少參數(shù)值m4,則刪掉帶m4的參數(shù)組合(即刪掉不可重用的組合)

(52)假設(shè)參數(shù)的變化為:增加參數(shù)m5,則必產(chǎn)生含m5的二元組合為未覆蓋組合,將其編碼后算出其復(fù)合權(quán)值,將復(fù)合權(quán)值與原測(cè)試用例集中最小復(fù)合權(quán)值比較,若大于最小復(fù)合權(quán)值,則將該未被覆蓋的組合加入候選測(cè)試用例集。

其余參數(shù)變化情況,以此類推。

(6)將可重用的測(cè)試用例轉(zhuǎn)換為新系統(tǒng)下的新測(cè)試用例集;

(7)若未覆蓋集非空(比如新增參數(shù),則未覆蓋集會(huì)有相應(yīng)的新增組合)則將新的未覆蓋集作為候選測(cè)試用例,則轉(zhuǎn)向步驟(3);否則轉(zhuǎn)向步驟(8);

(8)判斷測(cè)試資源是否能滿足更多測(cè)試用例,如果能,則轉(zhuǎn)步驟(2),否則結(jié)束流程。

根據(jù)本發(fā)明得到的測(cè)試用例集,對(duì)系統(tǒng)中的參數(shù)逐一測(cè)試。由于在測(cè)試用例集中越靠前的測(cè)試用例其復(fù)合權(quán)值越大,故按照此測(cè)試用例順序測(cè)試可以確保系統(tǒng)關(guān)鍵參數(shù)被測(cè)試,通過(guò)缺陷檢測(cè)率。

以上描述了本發(fā)明的基本原理和主要的特征,說(shuō)明書(shū)的描述只是說(shuō)明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會(huì)有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
江永县| 平陆县| 汤阴县| 金乡县| 安阳市| 登封市| 白水县| 大安市| 枣阳市| 建水县| 抚松县| 汉阴县| 新和县| 双桥区| 炎陵县| 丰城市| 如东县| 丹巴县| 盐山县| 永修县| 南澳县| 科技| 蛟河市| 名山县| 景宁| 宁阳县| 普兰店市| 黑河市| 和硕县| 长沙县| 永寿县| 荔波县| 伊金霍洛旗| 珠海市| 西宁市| 高阳县| 德令哈市| 灵川县| 平舆县| 南岸区| 霍林郭勒市|