羅浩榕,朱衛(wèi)星,史涯晴,萬進(jìn)勇
(陸軍工程大學(xué) 指揮控制工程學(xué)院,江蘇 南京 210001)
軟件測(cè)試通過動(dòng)態(tài)和靜態(tài)的測(cè)試技術(shù)發(fā)現(xiàn)軟件缺陷,是軟件質(zhì)量保證的關(guān)鍵活動(dòng)。在實(shí)際軟件測(cè)試過程中,由于軟件測(cè)試分析、設(shè)計(jì)和執(zhí)行技術(shù)的不足,測(cè)試用例幾乎不可能做到輸入域的全部覆蓋,因此軟件測(cè)試的結(jié)果并不總是處于可預(yù)知的范圍內(nèi),從歷史軟件測(cè)試資產(chǎn)中獲取的軟件測(cè)試知識(shí)具有一定的不確定性。因此,建立軟件測(cè)試復(fù)用系統(tǒng)必須考慮如何表達(dá)不確定性知識(shí)和求解不確定性問題,盡可能消除測(cè)試不確定性。傳統(tǒng)的軟件測(cè)試復(fù)用通?;?991年提出的軟件復(fù)用3C模型[1],即被復(fù)用工件的概念(concept)、內(nèi)容(content)、上下文(context)。由于時(shí)間和成本的限制,這三個(gè)維度的確定性假設(shè)可能很難成立,精確且完整的描述軟件測(cè)試的概念、內(nèi)容和上下文是非常困難的[2]。2012谷歌提出了知識(shí)圖譜的概念,對(duì)現(xiàn)實(shí)世界中的實(shí)體、概念、屬性及其關(guān)系進(jìn)行建模,與傳統(tǒng)的專家知識(shí)系統(tǒng)相比有更強(qiáng)的語義表達(dá)能力和建模靈活性,在知識(shí)存儲(chǔ)、檢索和推理方面有更大優(yōu)勢(shì)。建立專業(yè)領(lǐng)域知識(shí)圖譜通常采用“自上而下”的方式,根據(jù)建模需求和業(yè)務(wù)領(lǐng)域構(gòu)建領(lǐng)域本體作為知識(shí)圖譜的模式層,再通過業(yè)務(wù)數(shù)據(jù)對(duì)本體實(shí)例化。為了表達(dá)知識(shí)的不確定性,模糊知識(shí)圖譜結(jié)合不確定性建模方法擴(kuò)展經(jīng)典本體[3-4],建立不確定性知識(shí)的表示和推理機(jī)制,在軟件測(cè)試中不確定性建模方法包括貝葉斯信念網(wǎng)絡(luò)、粗糙集、模糊邏輯、隱馬爾可夫模型等[5]。其中粗糙集可以表示不確定性信息空間中的多屬性決策函數(shù),而軟件測(cè)試過程需要考慮多種屬性是典型的多屬性決策過程,因此考慮基于粗糙集擴(kuò)展軟件測(cè)試資產(chǎn)本體。
2014年,在SWEBOK 3.0發(fā)布的軟件工程知識(shí)體系中,將軟件測(cè)試定義為“從一個(gè)通常是無限的執(zhí)行域(集合)中選擇合適的、有限的測(cè)試用例,對(duì)程序所期望的行為進(jìn)行動(dòng)態(tài)驗(yàn)證的活動(dòng)過程”。因此用三元組〈I,S,O〉表示軟件測(cè)試用例T,其中I是被測(cè)件輸入域,O是被測(cè)件輸出域,S是被測(cè)件的起始狀態(tài),另有函數(shù)f表示輸入域到輸出域的映射。那么,對(duì)于測(cè)試用例任一測(cè)試輸入都有一個(gè)在已知輸出域的結(jié)果,即預(yù)期結(jié)果:
T〈I,S,O〉:[?i∈I→?f(i)=o∧o∈O]
(1)
當(dāng)測(cè)試結(jié)果和缺陷分布未知時(shí),認(rèn)為軟件測(cè)試存在不確定性,即對(duì)于給定的輸入和起始狀態(tài),可能出現(xiàn)在已知輸出域之外的結(jié)果。
UncertaintyT〈I,S,O〉:[?i∈I→?f(i)=
r∧r?O]
(2)
造成軟件測(cè)試中存在不確定性的主要原因有[5-6]:
●在測(cè)試需求分析階段,由于軟件開發(fā)階段,需求建模與真實(shí)的用戶需求和相應(yīng)問題領(lǐng)域存在一定差異,軟件測(cè)試?yán)^承了軟件需求的差異性。
●測(cè)試設(shè)計(jì)階段,由于經(jīng)濟(jì)成本和時(shí)間成本的限制,遍歷輸入域的詳盡測(cè)試無法實(shí)現(xiàn)。因此,對(duì)于每一個(gè)被測(cè)件都必須選擇有限的測(cè)試用例子集,這可能無法檢測(cè)所有的缺陷,造成了一定的不確定性。
●對(duì)于許多軟件系統(tǒng)例如嵌入式軟件,完整地復(fù)現(xiàn)用戶場景并不現(xiàn)實(shí),因此軟件測(cè)試通常在模擬測(cè)試環(huán)境中實(shí)施,測(cè)試環(huán)境與真實(shí)環(huán)境的差異也引入了不確定性。
具有較大復(fù)用價(jià)值的軟件測(cè)試資產(chǎn)主要包括三類:測(cè)試需求、測(cè)試用例、問題報(bào)告。這三類測(cè)試資產(chǎn)涵蓋了軟件測(cè)試分析、設(shè)計(jì)、執(zhí)行、質(zhì)量估計(jì)的全生命周期,是軟件測(cè)試知識(shí)的集中體現(xiàn)。首先依據(jù)本體從三類測(cè)試資產(chǎn)中提取軟件測(cè)試知識(shí)實(shí)體,形成測(cè)試資產(chǎn)知識(shí)圖譜,結(jié)合行業(yè)標(biāo)準(zhǔn)中的領(lǐng)域知識(shí)形成領(lǐng)域術(shù)語圖譜,再建立測(cè)試資產(chǎn)與領(lǐng)域特征的關(guān)聯(lián)關(guān)系,采用基于知識(shí)粒度的方法為資產(chǎn)-特征賦予關(guān)系置信度。該文面向軟件測(cè)試資產(chǎn)建立不確定性知識(shí)圖譜的總體框架如圖1所示。
圖1 軟件測(cè)試資產(chǎn)不確定性知識(shí)圖譜建立總體框架
基于上述總體框架,對(duì)測(cè)試資產(chǎn)本體、領(lǐng)域術(shù)語圖譜構(gòu)建方法、模糊關(guān)系置信度計(jì)算3個(gè)方面進(jìn)行闡述。
軟件測(cè)試資產(chǎn)中包含大量信息,這些信息可能通過正確的表示和處理轉(zhuǎn)化為適用的知識(shí),應(yīng)用知識(shí)管理方法和原則管理測(cè)試資產(chǎn),可以促進(jìn)測(cè)試過程中的復(fù)用[7-8]。軟件測(cè)試資產(chǎn)主要有三個(gè)對(duì)象類,即測(cè)試需求、測(cè)試用例和問題報(bào)告。
定義1:測(cè)試需求。測(cè)試需求確定測(cè)試目標(biāo)、測(cè)試內(nèi)容和質(zhì)量特性,確定測(cè)試充分性要求,提出測(cè)試活動(dòng)應(yīng)當(dāng)遵循的基本原則和要求,確定測(cè)試資源和技術(shù)需求。測(cè)試需求(Test Requirement,TR)包括七元組:測(cè)試目標(biāo)(Target,Ta)、被測(cè)件描述(Description,De)、測(cè)試階段(Phase,Ph)、測(cè)試類型(Type,Ty)、測(cè)試環(huán)境(Environment,En)、測(cè)試方法(Method,Me)、判斷規(guī)則(Evaluate,Ev),記為:
TR=〈Ta,De,Ph,Ty,En,Me,Ev〉
(3)
經(jīng)驗(yàn)表明,同一領(lǐng)域的測(cè)試項(xiàng)目往往遵循相同的行業(yè)規(guī)范、標(biāo)準(zhǔn)等,同一類型軟件的使用場景、功能結(jié)構(gòu)、性能要求等存在很大相似性,因此具備了知識(shí)復(fù)用的基礎(chǔ)。
定義2:測(cè)試用例。測(cè)試用例是指測(cè)試人員根據(jù)軟件需求規(guī)格說明和程序內(nèi)部結(jié)構(gòu),精心設(shè)計(jì)出的一組測(cè)試輸入、執(zhí)行條件以及預(yù)期結(jié)果,用于核實(shí)軟件是否滿足某個(gè)特定需求。測(cè)試用例(Test Case,TC)包括五元組:需求追蹤項(xiàng)(Required Trace,Rt)、前提條件(Precondition,Pr)、輸入數(shù)據(jù)(Input Data,In)、執(zhí)行步驟(Operation Step,Ops)、預(yù)期結(jié)果(Except Result,Er),記為:
TC=〈Rt,Pr,In,Ops,Er〉
(4)
測(cè)試用例設(shè)計(jì)是軟件測(cè)試的核心工作,對(duì)測(cè)試用例的復(fù)用是目前研究最多的,除了查找相似的測(cè)試用例直接獲取歷史經(jīng)驗(yàn),還可以歸納形成測(cè)試設(shè)計(jì)模式。
定義3:問題報(bào)告。問題報(bào)告是對(duì)未通過的測(cè)試用例進(jìn)行記錄和總結(jié),提出復(fù)現(xiàn)軟件缺陷的最短路徑,分析定位錯(cuò)誤。問題報(bào)告(Bug Report,BR)包括五元組:用例追蹤項(xiàng)(Case Trace,Ct)、實(shí)際結(jié)果(Actual Result,Ar)、缺陷特征(Bug Character,Bc)、缺陷定位(Bug Location,Bl)、嚴(yán)重程度(Bug Severity,Bs),記為:
BR=〈Ct,Ar,Bc,Bl,Bs〉
(5)
問題報(bào)告中蘊(yùn)含了測(cè)試人員對(duì)軟件缺陷的總結(jié),可以獲取軟件缺陷模式知識(shí)幫助后續(xù)開發(fā)人員定位缺陷,對(duì)于修復(fù)問題具有重要意義。從測(cè)試資產(chǎn)原始數(shù)據(jù)中獲取以上三類對(duì)象的實(shí)例,每條實(shí)例作為知識(shí)圖譜中的一個(gè)節(jié)點(diǎn),這些節(jié)點(diǎn)按照固有的繼承和關(guān)聯(lián)關(guān)系相連接,這部分關(guān)系由原數(shù)據(jù)直接得到,不賦予模糊置信度。
軟件測(cè)試的決策因素主要包括被測(cè)件本身的特征、行業(yè)特征和軟件測(cè)試本身特征。因此,將軟件資產(chǎn)中的概念分為三類〈Wd,Wt,Ws〉,其中行業(yè)概念Wd指被測(cè)件應(yīng)用的問題領(lǐng)域相關(guān)概念;軟件測(cè)試概念Wt指軟件測(cè)試本身特有概念詞匯;軟件概念Ws指描述被測(cè)軟件的特征概念,包括軟件架構(gòu)、接口協(xié)議、編程語言等,每一類概念包括若干棵領(lǐng)域術(shù)語樹。
領(lǐng)域術(shù)語樹中每個(gè)節(jié)點(diǎn)代表一條領(lǐng)域術(shù)語,節(jié)點(diǎn)間存在兩類關(guān)系:子術(shù)語關(guān)系、近似術(shù)語關(guān)系。
領(lǐng)域術(shù)語圖譜構(gòu)建過程如圖2所示。
圖2 領(lǐng)域術(shù)語圖譜構(gòu)建過程
①基本術(shù)語樹構(gòu)建,基于行業(yè)標(biāo)準(zhǔn)等權(quán)威數(shù)據(jù)建立領(lǐng)域概念結(jié)構(gòu)。
根據(jù)國標(biāo)、國軍標(biāo)等行業(yè)標(biāo)準(zhǔn)中關(guān)于行業(yè)領(lǐng)域、軟件測(cè)試、軟件系統(tǒng)的相關(guān)定義,構(gòu)建層次化的術(shù)語樹。
②候選詞提取,基于互信息和左右熵從測(cè)試資產(chǎn)語料中發(fā)現(xiàn)候選詞集[9]。
行業(yè)領(lǐng)域的術(shù)語詞往往與一般詞匯不同,通用分詞工具的結(jié)果可能遺漏一些固有搭配,例如,指揮信息系統(tǒng)可能被分解為三個(gè)詞:指揮、信息、系統(tǒng)。互信息和左右熵分別計(jì)算詞的內(nèi)部凝和度和邊界自由度。
詞語x和詞語y的互信息MI(x,y)體現(xiàn)了兩個(gè)詞之間的依賴程度,其計(jì)算方法如下:
(6)
其中,P(x,y)是詞語x、y的共現(xiàn)詞頻,P(x)、P(y)定義類似。互信息越高,說明詞語x、y相關(guān)性越高,組成術(shù)語短語的可能性越大。
詞語x的左右熵H(x)指該詞左右邊界的信息熵,其計(jì)算方法如下:
log2P(xb|x))
(7)
其中,A是x的前序詞語集,B是x的后序詞語集。x的左右熵越大,說明該詞的周邊詞越豐富,自由程度越高,x獨(dú)立成為一個(gè)詞的可能性越大。
通過計(jì)算互信息和左右熵進(jìn)一步處理通用分詞工具的分詞結(jié)果,可以發(fā)現(xiàn)行業(yè)領(lǐng)域的特有詞語搭配,這些特有搭配往往就是行業(yè)術(shù)語。
③規(guī)則過濾,篩選去除非詞。
由于語料中噪聲和算法的誤差,前述無監(jiān)督的候選詞抽取結(jié)果中可能含有少量的非詞,需要通過專家規(guī)則進(jìn)行篩選。
④新詞發(fā)現(xiàn),對(duì)比軟件測(cè)試資產(chǎn)語料和背景語料,進(jìn)一步篩選特征詞[10]。
前述通過詞頻提取的候選詞集中除了特有的術(shù)語還包括通用的詞匯和短語。 因此,對(duì)于候選詞x,通過對(duì)比該詞在不同語料中的信息量進(jìn)行打分,其打分函數(shù)定義如下:
(8)
其中,平滑參數(shù)μ是一個(gè)較小的正數(shù),為了避免在背景語料中x詞頻為0的情況下得分為無窮大。在該打分函數(shù)中,如果詞語x在軟件測(cè)試資產(chǎn)語料中詞頻PD(x)比在背景語料集中語料Ti的詞頻PTi(x)更高,那么會(huì)得到更高的分?jǐn)?shù),選擇得分前50%的候選詞作為特征詞。
⑤語義聚類,通過詞向量聚類獲取近似領(lǐng)域詞集[11]。
結(jié)合特征詞表,在軟件測(cè)試資產(chǎn)和行業(yè)標(biāo)準(zhǔn)語料進(jìn)行分詞并訓(xùn)練一個(gè)Word2Vec模型,根據(jù)Word2Vec得到的詞向量來對(duì)詞進(jìn)行聚類。算法以術(shù)語樹中的節(jié)點(diǎn)作為種子詞,利用相似的傳遞性計(jì)算近似詞集。為了盡量避免迭代過程中的指數(shù)偏移,以指數(shù)衰減的方式迭代計(jì)算詞向量余弦相似度,將近似詞聚為一類,每一類包含且僅包含一個(gè)種子詞,連接到基本術(shù)語樹中的相應(yīng)節(jié)點(diǎn)形成完整的領(lǐng)域術(shù)語圖譜。相似度計(jì)算方法如下:
(9)
(10)
參數(shù)α>0是指數(shù)衰減常數(shù),決定相似度隨迭代的衰減速度。第一輪迭代時(shí),將所有與種子詞k相似度N0(x,k)超過閾值的特征詞x加入集合;之后每輪迭代將與集合中特征詞x相似度Nt(x,y)超過閾值的特征詞y加入集合;直到集合元素不再增加時(shí),得到x的近似詞集合,將該集合所有元素加入術(shù)語樹,并與種子詞k建立相似關(guān)系,最終得到領(lǐng)域術(shù)語圖譜。
經(jīng)典模糊知識(shí)系統(tǒng)中,模糊置信度由專家根據(jù)先驗(yàn)知識(shí)賦予,這種方法較為主觀,且在實(shí)例較多的知識(shí)系統(tǒng)中工作量十分龐大。粗糙集理論是一種處理不精確、不完全數(shù)據(jù)的數(shù)學(xué)理論,目前已經(jīng)廣泛應(yīng)用于機(jī)器學(xué)習(xí)、知識(shí)發(fā)現(xiàn)、數(shù)據(jù)挖掘等場景。在經(jīng)典Pawlak粗糙集理論中,知識(shí)指根據(jù)特征對(duì)論域進(jìn)行分類所得的子集,知識(shí)庫定義為一個(gè)粗糙近似空間AS=(U,R),其中U是論域,R是在U上的一族等價(jià)關(guān)系。
定義4:知識(shí)粒度[12]。設(shè)AS=(U,R)是一個(gè)知識(shí)庫,R∈R是一個(gè)等價(jià)關(guān)系,R對(duì)U劃分的等價(jià)類集U/R={X1,X2,…,Xn},那么知識(shí)R的知識(shí)粒度為:
(11)
知識(shí)粒度可以描述知識(shí)的分類能力,知識(shí)粒度越小,其劃分的等價(jià)類越精細(xì),那么知識(shí)的分類能力越強(qiáng)。軟件測(cè)試知識(shí)的不確定性可以歸為兩類,一是概率性,即軟件測(cè)試知識(shí)本身具有概率性;二是模糊性,即在知識(shí)圖譜中用于描述知識(shí)的術(shù)語不清晰或不準(zhǔn)確。以模糊置信度建模特征術(shù)語對(duì)軟件測(cè)試資產(chǎn)的影響程度。每一條軟件測(cè)試資產(chǎn)數(shù)據(jù)都涉及若干特征術(shù)語,這些特征術(shù)語體現(xiàn)了該軟件測(cè)試資產(chǎn)的決策因素,將知識(shí)的概率性和模糊性統(tǒng)一以置信度的形式表示。置信度越高表示特征術(shù)語w對(duì)測(cè)試資產(chǎn)A的代表性越強(qiáng)。文中特征術(shù)語和軟件測(cè)試資產(chǎn)的模糊置信度實(shí)質(zhì)上即通過特征術(shù)語區(qū)分軟件測(cè)試資產(chǎn)的能力[13-14],有研究表明決策屬性的知識(shí)粒度越小則其信息熵越大[15-16],基于知識(shí)粒度計(jì)算模糊置信度,評(píng)價(jià)相應(yīng)特征對(duì)軟件測(cè)試資產(chǎn)的信息熵影響,也即其決策影響程度是有效可行的。對(duì)于每一條資產(chǎn)A,通過三類概念特征集合{wd,wt,ws}表征,這里wd表示資產(chǎn)A中涉及的問題領(lǐng)域概念子集wd∈Wd,wt,ws類似。在圖譜中搜索與資產(chǎn)A相關(guān)的所有概念,相似概念則合并為一項(xiàng),通過概念特征集{w1,w2,…,wn}表示一條資產(chǎn)數(shù)據(jù)。計(jì)算術(shù)語wi作為資產(chǎn)A特征的模糊置信度分為兩步:粗糙近似空間構(gòu)造、模糊置信度計(jì)算。
構(gòu)造粗糙近似空間AS=(U,R),即確定論域U和等價(jià)關(guān)系族R,由于R中的等價(jià)關(guān)系實(shí)際上指特征屬性相同或近似而不可區(qū)分的論域?qū)ο蠹?。因此?gòu)造Pawlak粗糙近似空間等價(jià)于確定一個(gè)知識(shí)表達(dá)系統(tǒng)S=(U,P,V,f),其中U為對(duì)象的非空有限集合,P是屬性的非空有限集合,V是P的值域,f:U×P→V是信息函數(shù)為每個(gè)對(duì)象的每個(gè)屬性賦值,有?a∈A,?x∈U,f(x,a)∈Va。文中特征術(shù)語相同的測(cè)試資產(chǎn)是不可區(qū)分的對(duì)象,論域UA為軟件測(cè)試資產(chǎn)實(shí)例集,V為論域中所有測(cè)試資產(chǎn)的特征術(shù)語全集,P為V的父概念集。若以模糊知識(shí)圖譜中的測(cè)試資產(chǎn)全集為論域,存在兩個(gè)問題:一是搜索空間過大,計(jì)算效率低;二是大部分測(cè)試資產(chǎn)與資產(chǎn)A特征無關(guān),大量無關(guān)測(cè)試資產(chǎn)被分為一類使得知識(shí)粒度接近于1,不能有效區(qū)分特征術(shù)語wi對(duì)資產(chǎn)A的分類能力。因此,需要篩選論域,構(gòu)造與資產(chǎn)A和特征術(shù)語wi粗糙近似空間,在軟件測(cè)試模糊知識(shí)圖譜GF中確定測(cè)試資產(chǎn)實(shí)例A與其特征術(shù)語wa相關(guān)的粗糙近似空間方法如下:
算法 1:軟件特征粗糙近似空間構(gòu)造。
Input:軟件測(cè)試模糊知識(shí)圖譜GF、測(cè)試資產(chǎn)實(shí)例A、A的一個(gè)特征術(shù)語wa
Output:資產(chǎn)A相關(guān)的知識(shí)表達(dá)系統(tǒng)SA
#搜索特征wi的中心特征k及其父概念K
1 searchk,KfromGF, whichwa≈k∧k∈K
#搜索概念K相關(guān)的所有A同類測(cè)試資產(chǎn)集UA作為論域
2 for everyk∈K:
3 search allAifromGF, whichAi∽k∧type(Ai)=type(A),
putAiinUA
#搜索條件屬性集P及其值域V,信息函數(shù)f
4 forAiinUA:
5 searchkij,Kij, whichAij∽kij∧kij∈Kij
6 putKijinP
7 put((Aij,Kij)→kij) inf
8 searchk∈Kij, putkinV
#輸出粗糙近似空間
9 output:(UA,P,V,f)
通過概念類K的知識(shí)粒度刻畫資產(chǎn)A對(duì)術(shù)語wi(wi∈K)的置信程度,K的知識(shí)粒度越小即認(rèn)為這一類概念對(duì)測(cè)試資產(chǎn)的劃分描述能力越強(qiáng),是有效的分類特征[15-16],通過z型模糊器計(jì)算得出的A與wi的模糊關(guān)系置信度越高。
定義5:概念K的決策能力。以概念K作為條件屬性對(duì)論域做劃分,K的若干子概念{wk1,wk2,…,wkl},將論域劃分為l個(gè)等價(jià)類。那么K的分類能力CK計(jì)算如下:
(12)
定義6:模糊關(guān)系置信度。設(shè)有測(cè)試資產(chǎn)A,wi是表征A的一個(gè)概念特征,根據(jù)前述粗糙近似空間構(gòu)造方法得到論域UA和條件屬性集P={K,K1,…,Km′},那么wi與A的模糊關(guān)系隸屬度為:
μ(A,wi)=zmf(CK)=(1+eρ(CK-θ))-1
(13)
參數(shù)ρ、θ決定模糊函數(shù)的平滑程度。模糊關(guān)系置信度μ(A,wi)∈(0,1)描述了在產(chǎn)生資產(chǎn)A的軟件測(cè)試活動(dòng)中,術(shù)語wi所代表的領(lǐng)域知識(shí)對(duì)決策過程的影響程度,置信度越高則影響力越強(qiáng),在對(duì)資產(chǎn)A進(jìn)行知識(shí)推理時(shí),該特征的重要性越高。
本節(jié)通過一個(gè)實(shí)例驗(yàn)證了該方法的可行性
采用neo4j圖形數(shù)據(jù)庫構(gòu)建實(shí)例知識(shí)圖譜,數(shù)據(jù)來源于作者所在單位承擔(dān)的軟件測(cè)評(píng)任務(wù)和網(wǎng)絡(luò)搜集的行業(yè)標(biāo)準(zhǔn)等數(shù)據(jù),具體見表1。
表1 實(shí)驗(yàn)條件
軟件測(cè)試資產(chǎn)知識(shí)圖譜中知識(shí)實(shí)體、關(guān)系的情況如表2和表3所示。
表2 知識(shí)實(shí)體統(tǒng)計(jì)
表3 資產(chǎn)知識(shí)關(guān)系情況
從表2、表3可以發(fā)現(xiàn)軟件測(cè)試資產(chǎn)知識(shí)圖譜實(shí)體關(guān)系較為稀疏,知識(shí)實(shí)體多且分散,如果用關(guān)系數(shù)據(jù)庫存儲(chǔ)知識(shí)實(shí)體,一方面不便于建立實(shí)體-實(shí)體、實(shí)體-特征的關(guān)聯(lián)關(guān)系,進(jìn)行復(fù)雜條件查詢時(shí)大量鏈接操作會(huì)極大影響查詢效率。另一方面,知識(shí)圖譜比關(guān)系數(shù)據(jù)庫更有利于后續(xù)知識(shí)推理任務(wù)。
領(lǐng)域術(shù)語圖譜情況如表4所示。
從表4可以看出,由于測(cè)試人員撰寫不規(guī)范,軟件測(cè)試資產(chǎn)中的領(lǐng)域術(shù)語存在大量近似詞,模糊化的知識(shí)表述對(duì)知識(shí)復(fù)用造成了嚴(yán)重阻礙,直接進(jìn)行關(guān)鍵詞查詢可能造成錯(cuò)誤或遺漏。領(lǐng)域術(shù)語圖譜可以視為一種結(jié)構(gòu)化的近義詞典,通過先驗(yàn)知識(shí)提高了知識(shí)實(shí)體查詢的準(zhǔn)確率和查全率,大大減弱了測(cè)試知識(shí)復(fù)用中由測(cè)試資產(chǎn)模糊性帶來的知識(shí)錯(cuò)漏問題。
表4 領(lǐng)域術(shù)語圖譜實(shí)體關(guān)系
表5對(duì)比了使用關(guān)鍵詞查詢測(cè)試知識(shí)實(shí)體時(shí),有、無領(lǐng)域術(shù)語圖譜輔助的兩種情況。
表5 準(zhǔn)確率/召回率對(duì)比
該文設(shè)計(jì)了一種可以表達(dá)不確定性知識(shí)的軟件測(cè)試知識(shí)圖譜構(gòu)建框架,能夠利用測(cè)試需求、測(cè)試用例、問題報(bào)告三類軟件測(cè)試資產(chǎn)和行業(yè)標(biāo)準(zhǔn)等領(lǐng)域知識(shí)建立軟件測(cè)試知識(shí)圖譜,提出了一種基于信息量的領(lǐng)域術(shù)語挖掘方法,在此基礎(chǔ)上構(gòu)建了領(lǐng)域術(shù)語圖譜作為軟件測(cè)試資產(chǎn)的特征。為了強(qiáng)調(diào)軟件測(cè)試中的不確定性,使用通過特征術(shù)語的知識(shí)粒度建模計(jì)算其在軟件測(cè)試過程中的決策影響程度。通過為軟件測(cè)試資產(chǎn)的特征賦予模糊置信度,構(gòu)建了軟件測(cè)試模糊知識(shí)圖譜,為后續(xù)軟件測(cè)試不確定知識(shí)推理做鋪墊。