黃世云
作為信息技術(shù)的重要組成部分,數(shù)據(jù)挖掘技術(shù)近年來(lái)被廣泛應(yīng)用到社會(huì)生產(chǎn)生活的各個(gè)領(lǐng)域。本文以軟件工程數(shù)據(jù)挖掘技術(shù)作為研究對(duì)象,通過(guò)對(duì)軟件工程數(shù)據(jù)挖掘的概念進(jìn)行闡述,在結(jié)合軟件工程數(shù)據(jù)挖掘技術(shù)與傳統(tǒng)數(shù)據(jù)挖掘技術(shù)之間區(qū)別的基礎(chǔ)上,對(duì)軟件工程數(shù)據(jù)挖掘在軟件測(cè)試階段的應(yīng)用方法展開(kāi)了深入研究。
【關(guān)鍵詞】軟件工程 數(shù)據(jù)挖掘 軟件測(cè)試
數(shù)據(jù)挖掘又稱(chēng)為數(shù)據(jù)采礦或資料勘探,是數(shù)據(jù)庫(kù)知識(shí)發(fā)現(xiàn)(KDD)中的重要組成部分,具體是指利用相關(guān)算法搜索隱藏于大量數(shù)據(jù)中信息的具體過(guò)程。近年來(lái),隨著科技和經(jīng)濟(jì)的不斷發(fā)展,一種基于軟件工程的數(shù)據(jù)挖掘技術(shù)得到了廣泛應(yīng)用。本文通過(guò)對(duì)比軟件工程數(shù)據(jù)挖掘與傳統(tǒng)數(shù)據(jù)挖掘的區(qū)別,并結(jié)合軟件工程數(shù)據(jù)挖掘的相關(guān)概念,為將軟件工程數(shù)據(jù)挖掘應(yīng)用到計(jì)算機(jī)軟件測(cè)試中提出了合理的意見(jiàn)和建議。
1 軟件工程數(shù)據(jù)挖掘簡(jiǎn)述
所謂軟件工程數(shù)據(jù)是指軟件在開(kāi)發(fā)和測(cè)試過(guò)程中所存儲(chǔ)的各種數(shù)據(jù)的總和,主要包括軟件需求分析文檔、軟件可行性運(yùn)行分析文檔、軟件的設(shè)計(jì)文檔、使用說(shuō)明以及測(cè)試用例、測(cè)試結(jié)果和用戶(hù)意見(jiàn)等諸多方面的數(shù)據(jù)。近年來(lái),隨著計(jì)算機(jī)和信息技術(shù)的不斷發(fā)展,軟件工程數(shù)據(jù)挖掘技術(shù)已被廣泛應(yīng)用到計(jì)算機(jī)軟件開(kāi)發(fā)和測(cè)試的各項(xiàng)工作中,并促進(jìn)著信息產(chǎn)業(yè)的發(fā)展。
2 軟件工程數(shù)據(jù)挖掘與傳統(tǒng)數(shù)據(jù)挖掘的區(qū)別
2.1 數(shù)據(jù)的復(fù)雜性
與傳統(tǒng)的數(shù)據(jù)挖掘技術(shù)相比,由軟件工程數(shù)據(jù)挖掘技術(shù)進(jìn)行系統(tǒng)分析而得到的數(shù)據(jù)更具復(fù)雜性。軟件工程數(shù)據(jù)除了包含軟件版本以及軟件報(bào)告等方面的信息外,還包含了系統(tǒng)中的代碼與注釋等非結(jié)構(gòu)化的數(shù)據(jù),雖然這兩種數(shù)據(jù)不能以統(tǒng)一的方法進(jìn)行計(jì)算,但在兩種數(shù)據(jù)之間卻存在著密切的聯(lián)系,這就使得通過(guò)軟件工程數(shù)據(jù)挖掘技術(shù)而得到的系統(tǒng)數(shù)據(jù)更具復(fù)雜性。
2.2 挖掘結(jié)果的特殊性
在傳統(tǒng)的數(shù)據(jù)挖掘技術(shù)應(yīng)用到軟件測(cè)試工作后,其測(cè)試結(jié)果通常經(jīng)由報(bào)表子系統(tǒng)的處理后,以圖形或表格的形式呈現(xiàn)出來(lái)。但就軟件工程數(shù)據(jù)挖掘技術(shù)而言,其所需要具備的功能不單是為用戶(hù)提供相關(guān)測(cè)試結(jié)果,其更需要為用戶(hù)提供符合或推翻結(jié)果的相關(guān)實(shí)例或軟件缺陷定位方面的信息。
2.3 挖掘結(jié)果的多元化評(píng)價(jià)
數(shù)據(jù)信息挖掘結(jié)果具有多元化的評(píng)價(jià)或者相關(guān)測(cè)試、開(kāi)發(fā)結(jié)果的評(píng)價(jià)難以統(tǒng)一是軟件工程數(shù)據(jù)挖掘區(qū)別于傳統(tǒng)數(shù)據(jù)挖掘的另一特點(diǎn)。對(duì)于傳統(tǒng)的數(shù)據(jù)挖掘技術(shù)而言,對(duì)挖掘結(jié)果的評(píng)價(jià)已基本形成了統(tǒng)一的意見(jiàn)和評(píng)價(jià)標(biāo)準(zhǔn),但就軟件工程數(shù)據(jù)挖掘而言,由于軟件的開(kāi)發(fā)人員和測(cè)試人員對(duì)數(shù)據(jù)信息的要求較為具體和嚴(yán)格,數(shù)據(jù)結(jié)果也具有較強(qiáng)的復(fù)雜性。因此,挖掘結(jié)果的評(píng)價(jià)方法也較為復(fù)雜。
綜上所述,如何將軟件測(cè)試的結(jié)果和對(duì)測(cè)試階段數(shù)據(jù)預(yù)處理方面的結(jié)果進(jìn)行有效表述已成為當(dāng)前軟件工程數(shù)據(jù)挖掘技術(shù)應(yīng)用的難點(diǎn)。所以,下文則著重從軟件工程數(shù)據(jù)挖掘在軟件測(cè)試階段的應(yīng)用方法展開(kāi)了詳細(xì)分析。
3 軟件工程數(shù)據(jù)挖掘在軟件測(cè)試階段應(yīng)用的研究
3.1 缺陷分派
所謂缺陷分派是指在進(jìn)行軟件測(cè)試的過(guò)程當(dāng)中,如發(fā)現(xiàn)軟件在安裝或運(yùn)行過(guò)程中出現(xiàn)缺陷,則將修復(fù)缺陷的工作分配給軟件維護(hù)人員進(jìn)行維修處理。在進(jìn)行軟件的缺陷分派工作時(shí),軟件測(cè)試人員需要連同開(kāi)發(fā)人員一起分析使軟件產(chǎn)生缺陷的原因,進(jìn)而對(duì)相關(guān)缺陷的性質(zhì)和特征信息進(jìn)行獲取,而缺陷信息報(bào)告的數(shù)量通常是龐大大,這就增加了缺陷分派工作的難度。此外,由于缺陷報(bào)告的撰寫(xiě)工作通常是由非專(zhuān)業(yè)人員負(fù)責(zé)的,其對(duì)軟件缺陷的描述較為模糊,這又嚴(yán)重增加了缺陷分派工作的不確定性。軟件工程數(shù)據(jù)挖掘在缺陷分派中的應(yīng)用主要體現(xiàn)在對(duì)軟件缺陷的自動(dòng)分派上,其對(duì)軟件缺陷進(jìn)行自動(dòng)分派的核心思想是:以軟件編程的相關(guān)理論為基礎(chǔ),將缺陷分派看作編程中的一個(gè)分類(lèi)問(wèn)題,將需要分派的缺陷看作具體類(lèi),并將已撰寫(xiě)好的缺陷報(bào)告看作是分類(lèi)文本(分類(lèi)依據(jù)),這便將缺陷分派問(wèn)題轉(zhuǎn)移到了軟件工程中的文本分類(lèi)問(wèn)題中。利用軟件工程數(shù)據(jù)挖掘解決缺陷分排問(wèn)題的具體步驟為:(1)利用可擴(kuò)展標(biāo)記語(yǔ)言工具(XML)從缺陷類(lèi)中獲取相關(guān)的缺陷報(bào)告文本,并從報(bào)告文本中選取一部分文本作為訓(xùn)練集,以軟件缺陷報(bào)告中的文本內(nèi)容作為具體的訓(xùn)練依據(jù),被制定進(jìn)行缺陷分派處理的測(cè)試人員作為報(bào)告文本的分類(lèi)標(biāo)簽,進(jìn)而開(kāi)展相關(guān)的缺陷分類(lèi)工作;(2)充分發(fā)揮訓(xùn)練集的作用,并以此為依據(jù)訓(xùn)練樸素貝葉斯分類(lèi)器(基于貝葉斯定理的簡(jiǎn)單概率分類(lèi)器);(3)以訓(xùn)練好的分類(lèi)器作為依據(jù),將無(wú)分類(lèi)標(biāo)記的缺陷報(bào)告進(jìn)行分類(lèi)。通過(guò)軟件工程數(shù)據(jù)挖掘?qū)浖毕莘诸?lèi)的一系列處理措施可知,軟件工程數(shù)據(jù)挖掘的應(yīng)用在指明缺陷類(lèi)別的同時(shí),也有效提高了缺陷分派的工作效率。
3.2 缺陷重述
軟件測(cè)試過(guò)程中缺陷分派工作的有效開(kāi)展需要以相關(guān)的缺陷信息作為數(shù)據(jù)保障,而缺陷信息的自動(dòng)獲取工作則需以缺陷重述作為其理論和實(shí)踐的雙重依據(jù)。在缺陷報(bào)告的改進(jìn)方面,軟件工程數(shù)據(jù)挖掘可以利用Ccured(記憶型系統(tǒng)翻譯程序)對(duì)應(yīng)用程序進(jìn)行預(yù)設(shè)。通過(guò)在缺陷的每一個(gè)邏輯語(yǔ)句和缺陷語(yǔ)句前加一句判定,進(jìn)而將此次賦值進(jìn)行記錄并判斷其是否為零。如果將軟件的完整缺陷報(bào)告發(fā)送給測(cè)試者,由于軟件和報(bào)告的規(guī)模較大,則很容易導(dǎo)致缺陷分類(lèi)具有較強(qiáng)的模糊性。因此,軟件工程數(shù)據(jù)挖掘要求對(duì)缺陷記錄點(diǎn)依照概率p進(jìn)行取樣,通過(guò)這種方法,即便缺陷報(bào)告不存在其主體,測(cè)試結(jié)果也可以顯示出相關(guān)缺陷的信息,從而為缺陷分派工作的進(jìn)行打下良好的基礎(chǔ)。
4 結(jié)論
本文通過(guò)對(duì)軟件工程數(shù)據(jù)挖掘技術(shù)的定義進(jìn)行闡述,并結(jié)合就軟件數(shù)據(jù)挖掘技術(shù)的相關(guān)特點(diǎn),對(duì)將其應(yīng)用到軟件測(cè)試過(guò)程中缺陷分派和缺陷重述的方法展開(kāi)了詳細(xì)分析。可見(jiàn),未來(lái)加強(qiáng)軟件工程數(shù)據(jù)挖掘在軟件測(cè)試方面的應(yīng)用,對(duì)于提高軟件性能、促進(jìn)電子計(jì)算機(jī)產(chǎn)業(yè)的發(fā)展具有重要的歷史作用和現(xiàn)實(shí)意義。
參考文獻(xiàn)
[1]鄢萌.基于概率潛在語(yǔ)義分析的軟件變更分類(lèi)研究[D].重慶大學(xué),2013.
[2]雷蕾.關(guān)于數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用綜述[J].電子測(cè)試,2014,02(12):128-129.
[3]羅韜,羅峰.數(shù)據(jù)挖掘在軟件工程領(lǐng)域中的應(yīng)用淺析[J].電子技術(shù)與軟件工程,2014,01(09):222.
作者單位
重慶市中冉信息產(chǎn)業(yè)有限公司 重慶市 400050endprint