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

一種測(cè)試用例集生成方法

文檔序號(hào):6419410閱讀:244來(lái)源:國(guó)知局
專利名稱:一種測(cè)試用例集生成方法
技術(shù)領(lǐng)域
本發(fā)明屬于操作系統(tǒng)安全技術(shù)領(lǐng)域,具體涉及一種測(cè)試用例集生成方法。
背景技術(shù)
隨著hternet應(yīng)用的廣泛深入,以及計(jì)算機(jī)信息系統(tǒng)安全問(wèn)題的日益凸顯,安全操作系統(tǒng)的研究已吸引了越來(lái)越多的關(guān)注。然而,我們?cè)谘芯抗ぷ髦邪l(fā)現(xiàn),相比于安全操作系統(tǒng)的研發(fā),安全操作系統(tǒng)的測(cè)試與驗(yàn)證更是一項(xiàng)緊迫的工作。由于安全模型通常是獨(dú)立于實(shí)現(xiàn)開(kāi)發(fā)的,我們并不能從安全模型的正確性推出其實(shí)現(xiàn)是安全的。因此,比較理想的測(cè)試方法是采用自動(dòng)化的方法生成測(cè)試用例(參考發(fā)明名稱一種可信密碼模塊的測(cè)試用例生成方法及其測(cè)試系統(tǒng),專利號(hào)ZL 200810104596. 4的專利技術(shù)文獻(xiàn);一種基于關(guān)系的測(cè)試用例生成方法,專利號(hào)200810089572.6 ;參考發(fā)明名稱一種實(shí)現(xiàn)測(cè)試用例自動(dòng)化運(yùn)行的方法,專利號(hào)200510132220. 0),將用例細(xì)化成具體的測(cè)試數(shù)據(jù)后,再利用合適的測(cè)試驅(qū)動(dòng)在具體實(shí)現(xiàn)上自動(dòng)運(yùn)行測(cè)試用例,以驗(yàn)證實(shí)現(xiàn)與規(guī)范之間的一致性。安全操作系統(tǒng)測(cè)試的自動(dòng)化的基礎(chǔ)是形式化方法。目前已經(jīng)有很多形式化方法應(yīng)用于自動(dòng)化的測(cè)試用例生成(參考發(fā)明名稱基于模型轉(zhuǎn)換的協(xié)議正確性驗(yàn)證和測(cè)試方法,專利號(hào)ZL200510002613.X的專利技術(shù)文獻(xiàn))。形式化方法中的模型檢測(cè)技術(shù)是一種基于模型的屬性驗(yàn)證方法(參考發(fā)明名稱用于驗(yàn)證電路的模型檢測(cè)中的模型抽象方法及其系統(tǒng),申請(qǐng)?zhí)?00910083790. 3的專利技術(shù)文獻(xiàn)),它以系統(tǒng)模型和待驗(yàn)證屬性或安全需求作為輸入,其優(yōu)點(diǎn)在于驗(yàn)證過(guò)程的完全自動(dòng)化,驗(yàn)證速度快、效率高。如果一個(gè)屬性不滿足, 它可以立刻反饋出違反該屬性的執(zhí)行路徑。對(duì)于安全操作系統(tǒng)測(cè)試來(lái)說(shuō),最后一點(diǎn)尤為重要,因?yàn)橐粋€(gè)違反安全需求的執(zhí)行路徑直接對(duì)應(yīng)安全模型或安全策略配置上的漏洞,對(duì)該路徑細(xì)化之后就可以直接生成測(cè)試用例。然而,由于操作系統(tǒng)狀態(tài)多,安全需求多,如果不對(duì)測(cè)試用例進(jìn)行化簡(jiǎn),測(cè)試的工作量會(huì)非常龐大。目前出現(xiàn)的針對(duì)測(cè)試用例化簡(jiǎn)的研究可以分為以下三類(參考發(fā)明名稱一種測(cè)試用例集縮減技術(shù),申請(qǐng)?zhí)?00910020845. 6的專利技術(shù)文獻(xiàn))第一類對(duì)測(cè)試需求集進(jìn)行化簡(jiǎn),這種方法通過(guò)尋找測(cè)試需求之間以及需求集與測(cè)試集之間的相互關(guān)系對(duì)測(cè)試需求集進(jìn)行化簡(jiǎn),這種方法化簡(jiǎn)方法簡(jiǎn)單直觀,但是沒(méi)有考慮到測(cè)試集中各測(cè)試集之間的內(nèi)在聯(lián)系,化簡(jiǎn)效果不太理想。第二類方法對(duì)模型檢測(cè)器的檢測(cè)算法進(jìn)行優(yōu)化,在模型檢測(cè)器針對(duì)某屬性P產(chǎn)生了測(cè)試用例后,在該用例的基礎(chǔ)上繼續(xù)探索狀態(tài)空間,如果發(fā)現(xiàn)路徑滿足新的屬性P’,則將P’從需求集中刪除,從而達(dá)到化簡(jiǎn)用例集的目的。該方法充分利用了模型檢測(cè)器的性能,人工干預(yù)極少,然而從現(xiàn)有用例探索對(duì)新屬性的滿足性的過(guò)程完全是盲目的,而且探索的深度也難以控制太淺效率難以保證,太深則資源消耗嚴(yán)重。第三類方法對(duì)已生成的測(cè)試集進(jìn)行化簡(jiǎn),這種方法在模型檢測(cè)器生成一個(gè)測(cè)試序列之后尋找該測(cè)試序列和已生成測(cè)試集之間的內(nèi)在聯(lián)系,從而達(dá)到化簡(jiǎn)測(cè)試集的目的。這種方法目前仍以尋找不同測(cè)試序列中的相同安全狀態(tài)為主要思路,沒(méi)有考慮到安全狀態(tài)遷移的影響,仍有繼續(xù)化簡(jiǎn)的空間。
考慮到目前方法都是以測(cè)試路徑中的系統(tǒng)狀態(tài)為操作對(duì)象的,而在實(shí)際測(cè)試中, 決定測(cè)試集大小的直接因素是狀態(tài)遷移的數(shù)量,而不是狀態(tài)的數(shù)量,如何提供一種簡(jiǎn)化的測(cè)試用例集,以提高安全操作系統(tǒng)的驗(yàn)證效率是目前急待解決的技術(shù)問(wèn)題。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于安全狀態(tài)遷移的測(cè)試用例集生成方法。首先將不存在相同安全狀態(tài)遷移的測(cè)試序列組成的測(cè)試集定義為簡(jiǎn)并測(cè)試集。接著針對(duì)利用模型檢測(cè)器生成的測(cè)試序列,尋找不同測(cè)試序列之間存在的相同安全狀態(tài)遷移,加以化簡(jiǎn)。在化簡(jiǎn)的同時(shí)記錄相關(guān)信息,以減少測(cè)試集中測(cè)試序列的數(shù)量;而且在測(cè)試失敗時(shí),也能根據(jù)所記錄信息準(zhǔn)確定位失敗位置。從而最終得到簡(jiǎn)并測(cè)試集并達(dá)到盡可能化簡(jiǎn)測(cè)試集的目的。本發(fā)明的技術(shù)方案為一種測(cè)試用例集生成方法,其步驟為1)從測(cè)試需求集SP中取出一安全屬性P,取反后輸入模型檢測(cè)器生成該安全屬性 ρ的測(cè)試序列Tp ;2)提取測(cè)試序列Tp中所有的狀態(tài)遷移,并與測(cè)試需求集中所有已存在的狀態(tài)遷移進(jìn)行對(duì)比,將狀態(tài)遷移相同部分記錄到集合氏中;3)刪除Knownedges或Tp中的與集合E1*相同部分的狀態(tài)遷移;其中,Knownedges 為測(cè)試需求集中已經(jīng)存在的狀態(tài)遷移集合;4)對(duì)測(cè)試需求集SP中所有屬性,重復(fù)步驟1) 3),生成簡(jiǎn)并測(cè)試序列集;5)將生成的測(cè)試序列集實(shí)例化,得到測(cè)試用例集。進(jìn)一步的,生成所述測(cè)試序列Tp之后,將該屬性ρ從所述測(cè)試需求集SP中刪除; 然后遍歷所述測(cè)試需求集SP中剩下的所有需求,查找所述測(cè)試序列Tp滿足的需求并將其從所述測(cè)試需求集SP中刪除。進(jìn)一步的,所述測(cè)試序列Tp = <0l,σ2, ... , ση>,Tp e TS;其中,TS為測(cè)試用例集合,on為第η個(gè)測(cè)試序列,第P個(gè)測(cè)試序列中的第k項(xiàng)表示為0pk,Opk = (Ipk, epk, hold) e P(N) XEX {0,1, NE},k e [l..#Tp],# 表示求集合的基數(shù),集合
b = ^ TS I (3m [i J乃]丨^lm ^T1A σ η .2 = epk)· i},用于記錄所有包括了狀態(tài)遷移e的測(cè)
試序列的編號(hào),Ti為T(mén)S中的任意元素,i是測(cè)試序列的編號(hào),ο im是Ti中的項(xiàng),m屬于集合 [1. . STi],epk為σ pk中的狀態(tài)遷移對(duì)( + sk),hold為標(biāo)志位,E為包含了所有t e TS中的狀態(tài)遷移對(duì)(Sh,。的集合,££(&5),S為有限狀態(tài)集合,P(N)為自然數(shù)集合。
'0 當(dāng)σ,執(zhí)行不成立時(shí)進(jìn)一步的,所述標(biāo)志位hold的取值方法為hold =1 當(dāng)σ,‘執(zhí)行成立時(shí) ,
NE當(dāng)σ,尚未執(zhí)行時(shí)
i為第i個(gè)測(cè)試序列。進(jìn)一步的,定義函數(shù),即測(cè)試序列T中包含的所有不帶標(biāo)簽的狀態(tài)遷移,計(jì)算交集E1 = EDGE(Tp) Π Knowledges,得到狀態(tài)遷移相同部分的集合。進(jìn)一步的,所述刪除Knownedges或Tp中的與集合E1中相同部分的狀態(tài)遷移的方法為
1)計(jì)算集合WepteW = {T, DTSI νσ e盡· / e σ.1},其中,DTS為簡(jiǎn)并測(cè)試序列集;2)如果集合R印laced不為空,則保留其中最長(zhǎng)的Ti,刪除剩下元素中的E1部分, 然后進(jìn)行步驟幻;如果集合Replaced為空,則直接進(jìn)行步驟3);3)將EDGE (Tp)加入Knownedges集合中,將測(cè)試序列Tp加入DTS中,輸出所述簡(jiǎn)并測(cè)試序列集。進(jìn)一步的,刪除Knownedges或Tp中相同部分的狀態(tài)遷移時(shí),同時(shí)記錄所刪除的狀態(tài)遷移信息。本發(fā)明結(jié)合模型檢測(cè)器基于有限狀態(tài)自動(dòng)機(jī)模型的特點(diǎn),將待測(cè)系統(tǒng)抽象為有限狀態(tài)自動(dòng)機(jī)(Finite State Machine,FSM)模型,而針對(duì)系統(tǒng)的一個(gè)測(cè)試序列則為FSM的一個(gè)運(yùn)行序列。定義如下定義1 系統(tǒng)模型M是個(gè)有限狀態(tài)自動(dòng)機(jī)(FSA),表示為M= (S,S0, L,T,F(xiàn)),其中S是有限狀態(tài)集合是初始狀態(tài)集合,L是一個(gè)有限標(biāo)簽集合;T是轉(zhuǎn)換集合, T^(SxLxS); F是最終狀態(tài)集合,F(xiàn)qS。定義2.系統(tǒng)M的一個(gè)運(yùn)行t,是一個(gè)有序的、可能有限也可能無(wú)限的轉(zhuǎn)換集合(序列),表示為< (s0, I0, S1) , (S1, I1, s2) , (s2, I2, s3),... >,即yi,(i>0)-> (SiJl^e Γ其中,Si e S,Ii e L0模型檢測(cè)器每產(chǎn)生的這樣的一個(gè)運(yùn)行,就對(duì)應(yīng)著一條測(cè)試序列(用例)。為了便于表述,我們將測(cè)試序列t = <(s0, I0',S1),(Sl, I1',&),...,(sn, In',sn+1)>, η = #t-l轉(zhuǎn)記為下面的形式t = < σ ” O2,..., ο η+1>·其中σ i = (I^ei)為二元組,Ii = 1'…力=(Si+Si),i e [1. · n+l],為狀態(tài)遷移對(duì),表示系統(tǒng)M由狀態(tài)S"遷移到狀態(tài)Si。另記包含了所有t e TS中的狀態(tài)遷移對(duì) (S",Si)的集合記為E。即如果存在t e TS,σ e t,那么一定有σ . 2 e E。此外,定義測(cè)試需求集為SP = {所有待驗(yàn)證的安全需求},測(cè)試用例集合為T(mén)S = {所有待驗(yàn)證的安全需求的測(cè)試用例}。那么對(duì)于測(cè)試需求P e SP到測(cè)試用例集TS的映射為集合Test (ρ) = {t :TS·所有可以滿足ρ的測(cè)試用例t},顯然Vpe爐G TS。本發(fā)明方法所提出的簡(jiǎn)并測(cè)試集(Degenerate Test Set, DTS)的定義為定義3.簡(jiǎn)并測(cè)試集(DTS)是這樣的測(cè)試集首先,它是TS的一個(gè)子集;其次,簡(jiǎn)并測(cè)試集中任意兩個(gè)測(cè)試序列都不包含相同的狀態(tài)遷移。本發(fā)明方法包含了三個(gè)層次1)利用模型檢測(cè)器生成測(cè)試序列、幻尋找測(cè)試序列與已生成測(cè)試集之間的相同狀態(tài)遷移、幻對(duì)相同狀態(tài)遷移進(jìn)行處理并將處理結(jié)果加入測(cè)試集。測(cè)試序列的生成需要利用模型檢測(cè)器運(yùn)行系統(tǒng)模型M,同時(shí)檢查M是否滿足取反后的安全需求,以產(chǎn)生對(duì)應(yīng)的測(cè)試序列,一個(gè)安全需求對(duì)應(yīng)的測(cè)試序列不會(huì)超過(guò)一個(gè);尋找相同狀態(tài)遷移則是將第一步中產(chǎn)生的測(cè)試序列中的狀態(tài)遷移與已生成測(cè)試集中所有狀態(tài)遷移進(jìn)行比較,相同部分則是需要化簡(jiǎn)掉的部分;狀態(tài)遷移處理則是對(duì)第二步中發(fā)現(xiàn)的狀態(tài)遷移進(jìn)行篩選和相關(guān)信息記錄,既要保證測(cè)試集中測(cè)試用例數(shù)最少,也要保證即使測(cè)試失敗,也可以根據(jù)記錄的信息找到導(dǎo)致測(cè)試失敗的狀態(tài)遷移。
本發(fā)明的具體步驟如下步驟A 測(cè)試序列的生成,從測(cè)試需求集SP中取出一個(gè)安全屬性P,取反后輸入模型檢測(cè)器,如果P成立,則模型檢測(cè)器生成該安全屬性P的測(cè)試序列Tp,如果ρ不成立,模型檢測(cè)器會(huì)報(bào)告沒(méi)有測(cè)試序列生成。步驟B 尋找相同狀態(tài)遷移,提取步驟A中得到的每個(gè)測(cè)試序列中所有的狀態(tài)遷移,并與測(cè)試需求集中所有已存在的狀態(tài)遷移集合Knowedges進(jìn)行對(duì)比,查找相同的部分, 將相同部分記錄到集合E1中。步驟C 狀態(tài)遷移處理,這一步驟分為兩部分,一方面選擇刪除Knowedges或Tp中的相同狀態(tài)遷移氏,另一方面需要記錄所刪除遷移的信息,以備測(cè)試失敗時(shí)進(jìn)行錯(cuò)誤定位。步驟D 結(jié)果輸出,對(duì)需求集SP中所有屬性實(shí)施以上步驟,最終可以得到簡(jiǎn)并測(cè)試集。從而達(dá)到化簡(jiǎn)初始測(cè)試集的目的。本發(fā)明的積極效果本發(fā)明以安全狀態(tài)遷移作為測(cè)試集的化簡(jiǎn)對(duì)象,和傳統(tǒng)的以安全狀態(tài)為對(duì)象的測(cè)試集化簡(jiǎn)方法相比,能更為有效、直接地縮小測(cè)試集的大小。此外,由于DTS中儲(chǔ)存了被化簡(jiǎn)狀態(tài)遷移的位置信息,所以在測(cè)試序列失敗時(shí)也可以準(zhǔn)確定位未滿足的安全需求。
具體實(shí)施例方式本發(fā)明的輸入是待驗(yàn)證的系統(tǒng)模型與其所待測(cè)試的安全需求。輸入信息分為兩部分,一部分來(lái)源于已經(jīng)實(shí)施的軟硬件系統(tǒng),它可以來(lái)自任何一個(gè)計(jì)算機(jī)軟件系統(tǒng)及設(shè)備,如主機(jī)、服務(wù)器、入侵檢測(cè)系統(tǒng)、路由器、防火墻等等。對(duì)這些設(shè)備上的運(yùn)行機(jī)制經(jīng)過(guò)形式化抽象、提取后得到的數(shù)學(xué)模型都可作為本發(fā)明的輸入信息。另一部分來(lái)源于這些系統(tǒng)、設(shè)備應(yīng)滿足的安全需求或安全屬性,如“setuid程序在執(zhí)行不可信程序前必須放棄root權(quán)限”或者“禁止以寫(xiě)模式打開(kāi)文件到stderr或stdout”等。以上信息要求完整全面,信息越完整, 驗(yàn)證結(jié)果越準(zhǔn)確。通過(guò)對(duì)輸入信息的層層處理和分析,最后得到進(jìn)一步為實(shí)際測(cè)試步驟的測(cè)試序列。下面給出詳細(xì)過(guò)程。步驟A 測(cè)試序列的生成。為了生成滿足安全需求ρ的測(cè)試用例,對(duì)待測(cè)系統(tǒng)建模并進(jìn)行模型檢測(cè),檢驗(yàn)在模型各處屬性的滿足情況,如果出現(xiàn)反例,則表明存在滿足P的測(cè)試用例Tp,如果模型檢測(cè)器找不到的反例,則表明P是不存在對(duì)應(yīng)測(cè)試用例的。一個(gè)反例對(duì)應(yīng)一個(gè)測(cè)試用例。由于模型檢測(cè)器對(duì)于一個(gè)P只生成一個(gè)反例,因此,一般情況下,利用模型檢測(cè)器生成測(cè)試用例時(shí),一個(gè)待驗(yàn)證全需求P也只對(duì)應(yīng)一個(gè)測(cè)試用例Τρ。在為ρ生成Tp之后,將ρ從需求集SP中刪除,然后遍歷SP中剩下的所有需求,檢查T(mén)p是否也滿足這些需求,如果滿足,則將所有Tp滿足的需求均從SP中刪除。步驟B 尋找相同狀態(tài)遷移。對(duì)于測(cè)試序列Tp = <σρ1, σρ2,... , σρη>,Tp e TS,我們將它的每一個(gè)項(xiàng)Qpk (P為測(cè)試序列的編號(hào),k為測(cè)試序列ρ中各個(gè)項(xiàng)的編號(hào))由定義2中的二元組構(gòu)造為一個(gè)三元組opk = (Ipk, epk, hold) e P(N) XEX {Ο,Ι,ΝΕ}, k e [1. . #Tp]。
其中,P(N)為自然數(shù)集合;i^CSx^),表示TS中所有狀態(tài)遷移對(duì)( + sk) 的集合,“#”在集合論中表示求集合的基數(shù),也就是集合中包含元素的數(shù)量,集合 Ipk = [T1 TS 丨(3w [1..#7]| σ, e 7> σ,2 = epk)-i},用于記錄 TS 中所有包括了狀態(tài)遷移 e
的測(cè)試序列的編號(hào),Ti: TS表示TS中的任意元素Ti, i是測(cè)試序列的編號(hào),σ im是Ti中的項(xiàng), 3m:[l..#7;]的意思是“存在這樣的自然數(shù)m,m屬于集合[1. . ”,^為中的狀態(tài)遷移對(duì)(Sk+ sk),σ m 2的意思是三元組中第二個(gè)元素,即em,初始狀態(tài)時(shí)Ipk = {ρ},即初始狀態(tài)時(shí),集合Ipk中只包含自身的序號(hào)P ;而hold是個(gè)標(biāo)志位
0 當(dāng)σ,執(zhí)行不成立時(shí) hold = 1 當(dāng)σ,執(zhí)行成立時(shí) NE當(dāng)σ,尚未執(zhí)行時(shí)這樣,當(dāng)在實(shí)際測(cè)試時(shí),如果某個(gè)Tp中的某個(gè)狀態(tài)遷移出錯(cuò)(假設(shè)為opk),只需檢查它對(duì)應(yīng)的opk. 1的元素,也就是相應(yīng)的Ipk集合,那么,所有Ti, i e Ipk都是無(wú)法執(zhí)行的測(cè)試序列;此外,當(dāng)DTS中所有的狀態(tài)轉(zhuǎn)移都被遍歷一遍之后,可以得到所有失敗的測(cè)試集合failwe = {7; 1巧e 7> 3 = 0} °由于DTS對(duì)不同測(cè)試序列中出現(xiàn)的相同狀態(tài)遷移僅保留一份,然而卻存在一個(gè)問(wèn)題如果擁有相同狀態(tài)遷移的兩個(gè)測(cè)試序列中有一個(gè)在具體測(cè)試中被證明不成立,那么另一個(gè)測(cè)試用例即使通過(guò)也不能保證它對(duì)應(yīng)的屬性成立。這個(gè)問(wèn)題在現(xiàn)有的以刪除測(cè)試序列中的冗余狀態(tài)為手段的測(cè)試用例化簡(jiǎn)方法中也存在,而且并未得到解決。本方法利用failure集合則可以解決這個(gè)問(wèn)題,在TS中所有測(cè)試序列都執(zhí)行完畢之后,failure集合可以收集所有失敗的測(cè)試序列。其次,定義函數(shù)^,即測(cè)試序列T中包含的所有不帶標(biāo)簽的狀態(tài)遷移,函數(shù)?^Ι ΙΡσΙΙσ.ρΟ.σ},即測(cè)試序列T中所有包含了集合E 中的狀態(tài)遷移的項(xiàng),e'表示E中的任意元素;而£^(<5x5)。那么Tp與測(cè)試集中已經(jīng)存在的狀態(tài)遷移集合Knowledges的交集E1 = EDGE(Tp) Π Knownedges就是相同的、需要被化簡(jiǎn)掉的狀態(tài)遷移。步驟C 狀態(tài)遷移處理。在上一步驟獲得氏后,需要對(duì)其做一定的處理以獲得DTS。具體方法如下1)計(jì)算集合Replaced = [T1 DTS \/σ e E1 -i e σ.\}從而獲得擁有全部E1中狀態(tài)遷移的測(cè)試序列的集合。如果R印laced不為空,則保留其中最長(zhǎng)的Ti,刪除剩下元素中的E1部分,這樣可以保證留在DTS中的E1始終在最長(zhǎng)的測(cè)試序列中,從而盡可能地削減DTS中測(cè)試序列的數(shù)量;如果R印laced為空,則無(wú)需做此步處理。計(jì)算方法為if Replaced^ 0 thenTm — thelongest T e Replaced ;forall T e Replaced EXCEPT Tm doT ^ T-SEQ (Ti, E1);end
end2)其次,將EDGE (Tp)加入KnownedgesJf Tp加入DTS。計(jì)算公式為Knownedges 一 Knownedges+EDGE (Tp);DTS — DTS+Tp ;步驟D 結(jié)果輸出。重復(fù)以上步驟,當(dāng)SP為空時(shí)可以得到簡(jiǎn)并測(cè)試集DTS,該測(cè)試集與原始的、為每一個(gè)SP中的需求生成一個(gè)測(cè)試序列的測(cè)試集相比,擁有更高的化簡(jiǎn)率,更節(jié)省儲(chǔ)存空間。只需將DTS中的測(cè)試序列實(shí)例化,就可得到測(cè)試用例對(duì)實(shí)際系統(tǒng)進(jìn)行測(cè)試。盡管為說(shuō)明目的公開(kāi)了本發(fā)明的具體實(shí)施例,其目的在于幫助理解本發(fā)明的內(nèi)容并據(jù)以實(shí)施,但是本領(lǐng)域的技術(shù)人員可以理解在不脫離本發(fā)明及所附的權(quán)利要求的精神和范圍內(nèi),各種替換、變化和修改都是可能的。因此,本發(fā)明不應(yīng)局限于最佳實(shí)施例所公開(kāi)的內(nèi)容,本發(fā)明要求保護(hù)的范圍以權(quán)利要求書(shū)界定的范圍為準(zhǔn)。
權(quán)利要求
1.一種測(cè)試用例集生成方法,其步驟為1)從測(cè)試需求集SP中取出一安全屬性P,取反后輸入模型檢測(cè)器生成該安全屬性ρ的測(cè)試序列Tp ;2)提取測(cè)試序列Tp中所有的狀態(tài)遷移,并與測(cè)試需求集中所有已存在的狀態(tài)遷移進(jìn)行對(duì)比,將狀態(tài)遷移相同部分記錄到集合氏中;3)刪除Knowledges或Tp中的與集合E1中相同部分的狀態(tài)遷移;其中,Knowledges為測(cè)試需求集中已經(jīng)存在的狀態(tài)遷移集合;4)對(duì)測(cè)試需求集SP中所有屬性,重復(fù)步驟1) 3),生成簡(jiǎn)并測(cè)試序列集;5)將生成的測(cè)試序列集實(shí)例化,得到測(cè)試用例集。
2.如權(quán)利要求1所述的方法,其特征在于生成所述測(cè)試序列Tp之后,將該屬性ρ從所述測(cè)試需求集SP中刪除;然后遍歷所述測(cè)試需求集SP中剩下的所有需求,查找所述測(cè)試序列Tp滿足的需求并將其從所述測(cè)試需求集SP中刪除。
3.如權(quán)利要求1所述的方法,其特征在于所述測(cè)試序列Tp= <0l,σ2, ..., ση>, Tp e TS ;其中,TS為測(cè)試用例集合,ο η為第η個(gè)測(cè)試序列,第ρ個(gè)測(cè)試序列中的第k項(xiàng)表示為 °pk' Opk = (Ipk, epk, hold) e P(N) XEX {0,l,NE},k e [1. #TP],# 表示求集合的基數(shù), 集合={Γ, :re|(3m:[l..#r,]|a,ffl e Γ, Aa,m2 = epk)-i},用于記錄所有包括了狀態(tài)遷移 e的測(cè)試序列的編號(hào),Ti為T(mén)S中的任意元素,i是測(cè)試序列的編號(hào),ο im是Ti中的項(xiàng),m屬于集合[l..#Ti],epk為opk中的狀態(tài)遷移對(duì)(Slrf, sk),hold為標(biāo)志位,E為包含了所有t e TS 中的狀態(tài)遷移對(duì)(Si^si)的集合,紀(jì)伽》,S為有限狀態(tài)集合,P(N)為自然數(shù)集合。
4.如權(quán)利要求3所述的方法,其特征在于所述標(biāo)志位hold的取值方法為 O 當(dāng)σ,執(zhí)行不成立時(shí)hold =1 當(dāng)σ,執(zhí)行成立時(shí) ,σ i為第i個(gè)測(cè)試序列。 NE當(dāng)σ,尚未執(zhí)行時(shí)
5.如權(quán)利要求3所述的方法,其特征在于定義函數(shù),即測(cè)試序列T中包含的所有不帶標(biāo)簽的狀態(tài)遷移,計(jì)算交集E1 = EDGE(Tp) η Knownedges,得到狀態(tài)遷移相同部分的集合。
6.如權(quán)利要求5所述的方法,其特征在于所述刪除Knownedges或Tp中的與集合E1中相同部分的狀態(tài)遷移的方法為1)計(jì)算集合i^kd= {Τ, DTSI νσ e盡· / e σ.1},其中,DTS為簡(jiǎn)并測(cè)試序列集;2)如果集合Iteplaced不為空,則保留其中最長(zhǎng)的Ti,刪除剩下元素中的E1部分,然后進(jìn)行步驟幻;如果集合!^placed為空,則直接進(jìn)行步驟3);3)將EDGE(Tp)加入Knowledges集合中,將測(cè)試序列Tp加入DTS中,輸出所述簡(jiǎn)并測(cè)試序列集。
7.如權(quán)利要求1或6所述的方法,其特征在于刪除Knownedges或Tp中相同部分的狀態(tài)遷移時(shí),同時(shí)記錄所刪除的狀態(tài)遷移信息。
全文摘要
本發(fā)明公開(kāi)了一種測(cè)試用例集生成方法,屬于操作系統(tǒng)安全技術(shù)領(lǐng)域。本方法為1)從測(cè)試需求集SP中取出一安全屬性p,取反后輸入模型檢測(cè)器生成該安全屬性p的測(cè)試序列Tp;2)提取Tp中所有的狀態(tài)遷移,并與測(cè)試需求集中所有已存在的狀態(tài)遷移進(jìn)行對(duì)比,將狀態(tài)遷移相同部分記錄到集合EI中;3)刪除Knownedges或Tp中與集合EI中相同部分的狀態(tài)遷移;4)對(duì)測(cè)試需求集SP中所有屬性,重復(fù)步驟1)~3),生成簡(jiǎn)并測(cè)試序列集;5)將生成的測(cè)試序列集實(shí)例化,得到測(cè)試用例集。與現(xiàn)有技術(shù)相比,本發(fā)明能更為有效、直接地縮小測(cè)試集的大小。
文檔編號(hào)G06F11/36GK102193858SQ20101011684
公開(kāi)日2011年9月21日 申請(qǐng)日期2010年3月2日 優(yōu)先權(quán)日2010年3月2日
發(fā)明者馮登國(guó), 張陽(yáng), 程亮 申請(qǐng)人:中國(guó)科學(xué)院軟件研究所
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
永寿县| 益阳市| 宣武区| 锡林郭勒盟| 云阳县| 普洱| 贵州省| 榆中县| 双流县| 增城市| 库尔勒市| 遵义市| 新龙县| 从化市| 北宁市| 衡阳市| 海兴县| 冕宁县| 永寿县| 雅安市| 峨边| 长沙市| 海林市| 衡水市| 邮箱| 鄂温| 龙游县| 葫芦岛市| 怀集县| 彭泽县| 宜君县| 辉南县| 京山县| 新安县| 西畴县| 巴林右旗| 冀州市| 蓝田县| 宁明县| 渑池县| 苗栗县|