關(guān)鍵詞:蛻變測試;蛻變關(guān)系;Oracle問題;蛻變測試應(yīng)用
中圖分類號:TP399 文獻(xiàn)標(biāo)志碼:A
0引言(Introduction)
軟件測試旨在檢測程序中的缺陷或錯誤,是軟件開發(fā)過程中一項(xiàng)重要但成本高昂的活動。軟件測試工作要求盡可能地實(shí)現(xiàn)測試流程的自動化,旨在提升測試速度、降低成本并增強(qiáng)可靠性。為此,需要構(gòu)建預(yù)期輸出以區(qū)分被測系統(tǒng)正確和錯誤的行為。然而,針對一些復(fù)雜的程序,預(yù)測其正確的輸出相當(dāng)困難,這被稱為軟件測試的Oracle問題[1],是軟件測試面臨的基本挑戰(zhàn)。
為了緩解軟件測試中的Oracle問題,CHEN等[1]提出蛻變測試(Metamorphic Testing, MT)技術(shù),其與傳統(tǒng)測試技術(shù)的不同之處在于,它不關(guān)注對被測軟件每個單獨(dú)輸出的驗(yàn)證,而是著重檢查其多次執(zhí)行的輸入和輸出之間的關(guān)系,因此可以有效解決預(yù)期輸出難以構(gòu)造的問題。
蛻變測試技術(shù)自提出以來,相關(guān)文獻(xiàn)不斷涌現(xiàn),涵蓋了豐富的技術(shù)、應(yīng)用和評估研究。然而,大部分文獻(xiàn)尚未經(jīng)過系統(tǒng)的回顧,這在一定程度上阻礙了對現(xiàn)有技術(shù)的分析和新研究方向的確定。為此,本文調(diào)研了自2016年以來與蛻變測試相關(guān)的研究工作。從蛻變測試原理和過程、蛻變關(guān)系及蛻變測試應(yīng)用3個方面對其國內(nèi)外研究現(xiàn)狀進(jìn)行了梳理和分析,歸納總結(jié)了適用于各個領(lǐng)域的6種蛻變關(guān)系模式,并對蛻變測試技術(shù)的未來發(fā)展方向提出了展望。
1 蛻變測試原理(Metamorphic testing principles)
1.1 基本概念和原理
蛻變測試技術(shù)是一種基于屬性的驗(yàn)證方法,它獨(dú)辟蹊徑,從大多數(shù)其他測試策略未曾涉足的角度來處理軟件測試領(lǐng)域中的問題。蛻變測試并不關(guān)注每個單獨(dú)輸出的正確性,而是著眼于程序的多次執(zhí)行;它的核心在于檢查多次執(zhí)行的輸入和輸出之間的關(guān)系是否滿足程序功能的預(yù)期屬性,這些屬性也稱為蛻變關(guān)系(Metamorphic Relation,MR)。蛻變關(guān)系將現(xiàn)有測試用例(原始輸入)轉(zhuǎn)換為新的測試用例(衍生輸入)。若程序在原始測試用例和衍生測試用例中的行為違反了蛻變關(guān)系,則表明該程序存在缺陷。下面對蛻變測試中蛻變關(guān)系、原始輸入/衍生輸入給出具體定義。
定義1.2原始輸入/衍生輸入[2]:使用蛻變關(guān)系(r,rf )檢測程序P時,起初給定的測試用例,即從現(xiàn)有數(shù)據(jù)集中選擇的或利用測試用例生成技術(shù)產(chǎn)生的測試用例,稱為原始輸入;由原始輸入依據(jù)關(guān)系r 轉(zhuǎn)化生成的新測試用例,稱為基于蛻變關(guān)系(r,rf )的衍生輸入。
1.2 蛻變測試過程
基于蛻變測試原理可知,應(yīng)用蛻變測試的過程可以分為以下3個步驟,蛻變測試過程如圖1所示。
(1)識別和定義蛻變關(guān)系
一般來說,蛻變關(guān)系的識別可以通過參考系統(tǒng)的需求或基于用戶對系統(tǒng)的期望實(shí)現(xiàn)。蛻變關(guān)系(r,rf )描述了如何從給定的原始輸入中構(gòu)造衍生輸入。蛻變關(guān)系的識別和定義是應(yīng)用蛻變測試的關(guān)鍵步驟,它直接影響最終的測試效果。
(2)測試用例生成
原始輸入x0可以從現(xiàn)有數(shù)據(jù)集中篩選,也可以利用測試用例生成策略(如隨機(jī)測試)生成符合蛻變關(guān)系限制條件的原始輸入,然后依據(jù)構(gòu)造的蛻變關(guān)系r 將原始輸入自動轉(zhuǎn)化為衍生輸入r(x0)。
(3)測試用例執(zhí)行
在待測程序P 上執(zhí)行原始輸入和衍生輸入,然后檢查原始輸出P(x0)和衍生輸出P(r(x0))之間是否違反了相應(yīng)的蛻變關(guān)系rf 。若違反,則表明程序P 中存在錯誤或偏離用戶期望。
2.2 蛻變關(guān)系的使用情況
實(shí)驗(yàn)中使用的蛻變關(guān)系的數(shù)量是衡量蛻變測試所需工作量的重要指標(biāo)。本文對現(xiàn)有文獻(xiàn)中蛻變關(guān)系的使用情況進(jìn)行了統(tǒng)計(jì)分析,結(jié)果如圖2所示。從圖2中可以看出,有50%的研究使用了1~4個蛻變關(guān)系,37%的研究使用了5~9個蛻變關(guān)系,呈現(xiàn)10個及10個以上蛻變關(guān)系的研究只占13%。SEGURA等[4]總結(jié)了1998年至2015年發(fā)表的蛻變測試相關(guān)論文中蛻變關(guān)系的使用情況。與之相比發(fā)現(xiàn),近年來的研究中使用1~4個蛻變關(guān)系的比例由24%提升至50%,而使用10個及10個以上蛻變關(guān)系的比例由37%降至13%,表明相對于蛻變關(guān)系的數(shù)量,近年來的研究更加注重蛻變關(guān)系的有效性。LE等[5]基于蛻變測試技術(shù)開發(fā)了一種測試編譯器的工具,并在流行的GCC(GNU Compiler Collection)等編譯器中檢測到100多個錯誤。盡管在此之前,TAO等[6]也曾利用蛻變測試對編譯器進(jìn)行驗(yàn)證,但只在GCC等編譯器中檢測到了一個錯誤。檢測到的錯誤數(shù)量的巨大差異也強(qiáng)調(diào)了蛻變關(guān)系的選擇對蛻變測試故障檢測有效性的顯著影響。
蛻變關(guān)系通常是基于被測試系統(tǒng)的必要屬性定義的。由于這些屬性通常數(shù)量巨大,因此幾乎不可能獲得代表所有這些屬性的完整蛻變關(guān)系集。然而,LIU等[7]的實(shí)證研究表明,僅使用少數(shù)幾個蛻變關(guān)系就能在故障檢測方面非常接近預(yù)言機(jī)制。他們測試了6種不同的程序后發(fā)現(xiàn),蛻變測試平均只需3~6個不同的蛻變關(guān)系即可揭示至少90%的故障。這表明適度數(shù)量的蛻變關(guān)系(少于10個)通常足以應(yīng)用于蛻變測試并獲得預(yù)期結(jié)果。此外,與為應(yīng)用程序提出具體的蛻變關(guān)系相比,近期的研究更傾向于設(shè)計(jì)蛻變關(guān)系模式。一個蛻變關(guān)系模式可以推導(dǎo)出許多具體的蛻變關(guān)系,這也是影響蛻變關(guān)系數(shù)量統(tǒng)計(jì)結(jié)果的重要因素。
2.3 蛻變關(guān)系模式
應(yīng)用蛻變測試的一個挑戰(zhàn)是識別有效的蛻變關(guān)系。在早期的蛻變測試研究中,蛻變關(guān)系通常是針對研究問題單獨(dú)識別的。這些蛻變關(guān)系通常只考慮了一種特定類型的被測軟件,因此缺乏通用性,無法涵蓋其他應(yīng)用類型的功能和特性。為了能夠系統(tǒng)地識別蛻變關(guān)系,ZHOU 等[8]提出了“蛻變關(guān)系模式(Metamorphic Relation Pattern,MRP)”的概念,作為表征一組(可能無限多)蛻變關(guān)系的抽象。
使用蛻變關(guān)系模式對于識別蛻變關(guān)系具有巨大的幫助。這是因?yàn)椤澳J健蹦軌蛞龑?dǎo)測試人員搜索具有某種結(jié)構(gòu)的蛻變關(guān)系,使得蛻變關(guān)系的識別比從頭開始時容易。ZHOU 等[8]觀察到,對稱性是現(xiàn)實(shí)世界固有的、普遍的、深刻的屬性。計(jì)算機(jī)系統(tǒng)通常通過模擬、建?;?qū)W習(xí)現(xiàn)實(shí)世界的方法解決問題,因此對稱性也是許多計(jì)算機(jī)系統(tǒng)普遍需要的屬性。于是他們進(jìn)一步提出“對稱性”蛻變關(guān)系模式的概念,它被定義為“theexistence of different viewpoints from which the system appears thesame”,即存在不同的角度去測試系統(tǒng),并且此時系統(tǒng)行為應(yīng)該是相似的?!皩ΨQ性”蛻變關(guān)系模式具有通用性,適用于各個領(lǐng)域。需要注意的是,在“對稱性”蛻變關(guān)系模式的定義中,“the system appears the same”并不意味著軟件系統(tǒng)的原始輸出和衍生輸出必須具有相同或等價的關(guān)系。他們使用“對稱性”蛻變關(guān)系模式,在商業(yè)網(wǎng)站、導(dǎo)航軟件、人臉識別、視頻分析軟件等多個不同的應(yīng)用領(lǐng)域進(jìn)行了深入的研究,結(jié)果表明,該模式可以有效地幫助用戶檢測到先前未知的故障。
蛻變關(guān)系模式可以形成層次結(jié)構(gòu),較高級別的蛻變關(guān)系模式更抽象,而較低級別的蛻變關(guān)系模式則更具體。之后,WU等[9]提出了“噪聲”蛻變關(guān)系模式作為“對稱性”蛻變關(guān)系模式的子模式,它被定義為“the requirement that a reliable systemshould be able to perform its functions when a low level ofinterference (noise) is present”,即當(dāng)輸入數(shù)據(jù)或環(huán)境中存在低水平的干擾(噪聲)時,不應(yīng)該對可靠系統(tǒng)的輸出產(chǎn)生強(qiáng)烈的影響。本文基于收集的文獻(xiàn),對其中使用的蛻變關(guān)系進(jìn)行了分類、統(tǒng)計(jì)和分析,總結(jié)出“添加”“移除”“修改”“排列”“分區(qū)”“連接”6種蛻變關(guān)系模式。相較于“噪聲”蛻變關(guān)系模式,這6種蛻變關(guān)系模式的抽象程度更低,但它們同樣適用于各個領(lǐng)域,可結(jié)合被測軟件的特征實(shí)例化為具體形式的蛻變關(guān)系。以下是對這6種蛻變關(guān)系模式的定義,并舉例說明如何將它們實(shí)例化。
(1)“添加”蛻變關(guān)系模式
該模式通過在原始測試用例中添加一個或多個數(shù)據(jù),構(gòu)建衍生測試用例。例如,在對機(jī)器學(xué)習(xí)無監(jiān)督聚類程序的研究中,該模式可以實(shí)例化為“添加一個或多個重復(fù)的點(diǎn),不應(yīng)該對聚類結(jié)果產(chǎn)生影響”。
(2)“移除”蛻變關(guān)系模式該模式通過在原始測試用例中移除一個或多個數(shù)據(jù),構(gòu)建衍生測試用例。例如,在測試機(jī)器翻譯系統(tǒng)時,該模式可以實(shí)例化為“刪除原始句子中的關(guān)鍵詞或短語,得到的翻譯應(yīng)與原本的不同”。
(3)“修改”蛻變關(guān)系模式該模式通過在原始測試用例中修改部分?jǐn)?shù)據(jù),構(gòu)建衍生測試用例。例如,自動駕駛領(lǐng)域通常利用圖像變換技術(shù)生成模擬真實(shí)駕駛場景的合成圖像,因此該模式可以實(shí)例化為“在原始圖像上添加雨霧效果,汽車駕駛行為不應(yīng)該有明顯變化”。
(4)“排列”蛻變關(guān)系模式該模式通過改變原始測試用例中數(shù)據(jù)的順序,構(gòu)建衍生測試用例。例如,在測試導(dǎo)航軟件時,該模式可以實(shí)例化為“交換起點(diǎn)和終點(diǎn),導(dǎo)航系統(tǒng)輸出的路徑代價(時間、距離等)應(yīng)該不變”。
(5)“分區(qū)”蛻變關(guān)系模式前4種模式都是對一個原始測試用例施加某種操作來構(gòu)建衍生測試用例。與之不同,“分區(qū)”蛻變關(guān)系模式是對一個原始測試用例按照某種分區(qū)策略進(jìn)行劃分,從而構(gòu)建多個衍生測試用例。同樣以導(dǎo)航軟件為例,假設(shè)a1 到an 的最優(yōu)路線需要經(jīng)過a2、a3、…、an-1,以途經(jīng)地劃分原始測試用例,則該模式可以實(shí)例化為“a1 到an 的路徑代價應(yīng)該等于a1 到a2、a2到a3、…、an-1到an的路徑代價之和”。
(6)“連接”蛻變關(guān)系模式
與“分區(qū)”蛻變關(guān)系模式相反,該模式是把多個原始測試用例結(jié)合在一起構(gòu)建一個衍生測試用例。以自然語言推理模型為例,它旨在判斷能否從一個給定的前提p 中推導(dǎo)出假設(shè)h。假設(shè)前提p1 可以推導(dǎo)出h(記為p1→h),前提p2 也可以推導(dǎo)出h(記為p2→h),則該模式可以實(shí)例化為“將兩個前提p1 和p2 結(jié)合起來構(gòu)成新的前提p,則p 能推導(dǎo)出h,即令p1∧p2=p,則p→h”。
對于上述6種模式,本文并沒有指定被測系統(tǒng)的輸出應(yīng)該如何變化。這是因?yàn)橥懽冴P(guān)系模式具有通用性,衍生輸出與原始輸出之間可能存在等價、相反、包含等多種關(guān)系,所以需要結(jié)合被測試對象的特征說明這些關(guān)系。
3 蛻變測試應(yīng)用(Metamorphic testing application)
3.1 功能測試
蛻變測試技術(shù)提出至今,其主要的一個應(yīng)用仍舊是解決Oracle問題,進(jìn)而對軟件功能進(jìn)行驗(yàn)證和確認(rèn)。表1匯總了使用蛻變測試進(jìn)行功能驗(yàn)證的應(yīng)用領(lǐng)域。
(1)機(jī)器學(xué)習(xí)
近年來,隨著人工智能技術(shù)的發(fā)展,機(jī)器學(xué)習(xí)變得越來越流行。然而,Oracle問題的存在使得這類軟件的可靠性難以保證。因此,應(yīng)用蛻變測試評估機(jī)器學(xué)習(xí)系統(tǒng)的趨勢也越來越明顯。為了提高機(jī)器翻譯系統(tǒng)的可靠性和準(zhǔn)確性,鐘文康等[10]利用蛻變測試技術(shù),分別研究了單詞粒度、短語粒度、句子粒度對機(jī)器翻譯的影響,達(dá)到了不借助參考譯文也能評估翻譯質(zhì)量的目的。ZHANG等[11]利用句法剪枝技術(shù)構(gòu)建等價蛻變關(guān)系,在谷歌翻譯和微軟翻譯上發(fā)現(xiàn)了超過5000個譯文錯誤。自動駕駛和無人機(jī)系統(tǒng)的安全性一直備受關(guān)注。ZHANG等[12]研究了一種名為DeepRoad的系統(tǒng)化的測試工具,它基于生成對抗網(wǎng)絡(luò)的技術(shù)合成能夠準(zhǔn)確反映真實(shí)世界的駕駛場景,并利用蛻變關(guān)系檢測自動駕駛系統(tǒng)的錯誤行為。WU等[13]為無人機(jī)系統(tǒng)設(shè)計(jì)了3種蛻變關(guān)系,并基于網(wǎng)格搜索算法驗(yàn)證其路徑規(guī)劃的正確性。為了更加深入地了解問答系統(tǒng)對于自然語言的理解能力,CHEN等[14]根據(jù)多種語言學(xué)特性為問答系統(tǒng)設(shè)計(jì)蛻變關(guān)系。實(shí)驗(yàn)結(jié)果表明,該方法不僅可以揭示傳統(tǒng)驗(yàn)證所掩蓋的問題,還為更具體地理解問答系統(tǒng)的語言能力提供了幫助。盡管像“亞馬遜”和“谷歌”等大公司已將基于深度學(xué)習(xí)的目標(biāo)檢測器商業(yè)化,但是它仍然會產(chǎn)生不正確的結(jié)果。為此,WANG等[15]專門為目標(biāo)檢測系統(tǒng)設(shè)計(jì)了名為MetaOD的自動化測試框架。他們通過在背景圖像中插入額外的對象實(shí)例來合成自然外觀的圖像,然后在排除對插入對象的預(yù)測結(jié)果后,檢查原始圖像和合成圖像目標(biāo)識別結(jié)果的等價性。MetaOD在TensorFlow API提供的4種商業(yè)目標(biāo)檢測服務(wù)和四種預(yù)訓(xùn)練模型上進(jìn)行了評估,結(jié)果發(fā)現(xiàn)了數(shù)以萬計(jì)的檢測失敗。為了衡量情感分析系統(tǒng)的公平性,ASYROFI等[16]通過識別并替換敏感信息,有效地揭示了情感分析系統(tǒng)中存在的偏見問題。
(2)Web服務(wù)和應(yīng)用軟件
蛻變測試技術(shù)也廣泛用于驗(yàn)證Web服務(wù)和應(yīng)用軟件的正確性。SEGURA等[17]提出了一種檢測RESTful風(fēng)格Web應(yīng)用故障的蛻變測試方法,并有效地揭示了學(xué)術(shù)平臺、社交媒體平臺中的錯誤。OpenStreetMap是由許多互不相關(guān)的用戶合作創(chuàng)建的免費(fèi)世界地圖,由于其開放性,很容易包含錯誤信息。為此,ALMENDROS-JIMéNEZ等[18]基于蛻變測試思想開發(fā)了一個自動檢測OpenStreetMap中錯誤信息的框架。為了評估該框架的實(shí)用性,他們將其用于分析不同大洲4個城市的地圖,并成功發(fā)現(xiàn)了大量的錯誤信息。為了評估內(nèi)容審核軟件對有毒信息(例如仇恨言論、惡意廣告等)的檢測能力,WANG等[19]設(shè)計(jì)了3個擾動級別(字符、單詞和句子)的11種蛻變關(guān)系。實(shí)驗(yàn)結(jié)果表明,該方法在測試“谷歌”“百度”和“華為”提供的商業(yè)審核軟件時,對錯誤的識別率分別高達(dá)83.9%、51%和82.5%。為了緩解測試量子計(jì)算平臺的Oracle 問題,PALTENGHI等[20]利用量子特有的屬性設(shè)計(jì)蛻變關(guān)系,并在流行的Qiskit平臺上發(fā)現(xiàn)了13個錯誤,其中9個錯誤已經(jīng)得到確認(rèn)。
(3)編譯器
為了對DL(Deep Learning)編譯器的正確性建立更深層次的理解,XIAO 等[21]為DL 編譯器設(shè)計(jì)了一個名為MTDLComp的蛻變測試框架。該框架不僅發(fā)現(xiàn)了DL編譯器中的4個錯誤,還為改進(jìn)DL編譯器提供了指導(dǎo)。
(4)其他
TOLKSDORF等[22]首次將蛻變測試運(yùn)用到調(diào)試器上,其方法的核心思想是對被調(diào)試的代碼和調(diào)試操作進(jìn)行轉(zhuǎn)換,確保原始輸入和轉(zhuǎn)換后輸入的行為只能在特定的方式上有所不同。例如,添加一個斷點(diǎn)不應(yīng)該改變被調(diào)試的程序的控制流。他們將這種方法應(yīng)用于JavaScript調(diào)試器中發(fā)現(xiàn)了8個以前未知的錯誤,并且都得到了開發(fā)人員的確認(rèn)。ZHANG等[23]介紹了測試網(wǎng)絡(luò)掃描儀的7種蛻變關(guān)系,表明蛻變測試具有評估和比較掃描儀的潛力。
3.2 性能測試
如“3.1”節(jié)所述,蛻變測試技術(shù)自提出以來,其大多數(shù)應(yīng)用都集中在對功能故障的檢測上。然而,蛻變測試在檢測性能錯誤方面的適用性仍然是一個值得深入探索的話題。SEGURA等[24]首次提出可以使用蛻變測試揭示性能故障,并提出了“性能蛻變測試”的概念。其中,蛻變關(guān)系是根據(jù)對程序的輸入進(jìn)行某些更改時被測程序的性能(如執(zhí)行時間)如何變化來定義的。為了驗(yàn)證該想法的可行性,他們分別在圖片加載、定位程序等一些常見應(yīng)用上進(jìn)行了實(shí)驗(yàn),結(jié)果證實(shí)了蛻變測試在自動檢測性能錯誤方面的潛力。JOHNSTON等[25]通過比較被測軟件的連續(xù)運(yùn)行情況,提出蛻變關(guān)系可用于改進(jìn)性能測試。為此,他們探究了蛻變關(guān)系在頁面加載時間方面的應(yīng)用。通過觀察加載時間的直方圖,發(fā)現(xiàn)并修復(fù)Adobe平臺啟動標(biāo)簽管理器時的一個錯誤。RIGGER等[26]通過比較數(shù)據(jù)庫管理系統(tǒng)在兩個語義等效查詢上運(yùn)行的時間差異,揭示潛在的性能錯誤。該方法最終在CockroachDB和PostgreSQL中發(fā)現(xiàn)了39個潛在的性能錯誤,其中6個性能錯誤已經(jīng)得到了開發(fā)人員的確認(rèn)。
3.3 其他方面
除了功能測試和性能測試,研究人員還探索了蛻變測試在其他方面的應(yīng)用。例如,ZHOU 等[8]指出蛻變關(guān)系也可基于用戶的期望進(jìn)行定義,而非僅局限于基于開發(fā)人員的算法。這種方法更能反映用戶的真實(shí)需求,從而使蛻變測試成為一種面向用戶的方法,幫助他們更好地理解目標(biāo)軟件,并利用其滿足自身的特定需求。XU等[27]報告了機(jī)器學(xué)習(xí)中蛻變關(guān)系的一種新用途,即使用蛻變關(guān)系增強(qiáng)機(jī)器學(xué)習(xí)算法本身,而不是僅僅用于測試。他們利用圖像分離和遮擋的特性,生成蛻變關(guān)系調(diào)整機(jī)器學(xué)習(xí)系統(tǒng)的輸入和輸出,從而構(gòu)建更加精確的二元分類模型。YAN等[28]觀察到有時違反蛻變關(guān)系所反映的問題可能不在于被測軟件,而在于測試用例本身(特定的輸入可能無效或質(zhì)量差)。這一觀察表明,蛻變關(guān)系可用于驗(yàn)證或者評估數(shù)據(jù)的質(zhì)量,而不是驗(yàn)證軟件的正確性。為了評估這一觀點(diǎn)的有效性,YAN等[28]使用了機(jī)器翻譯數(shù)據(jù)集進(jìn)行試驗(yàn),結(jié)果表明,該方法可以有效地識別數(shù)據(jù)集中翻譯不正確的語句。
4 未來研究方向(Future research direction)
關(guān)于蛻變測試的研究雖然歷史較短,但得到了學(xué)術(shù)界持續(xù)的關(guān)注,并取得了大量的研究成果。除了上文梳理的研究角度,蛻變測試技術(shù)未來的研究方向還包括如下內(nèi)容。
(1)蛻變關(guān)系系統(tǒng)的識別。盡管已經(jīng)為各種應(yīng)用領(lǐng)域確定了許多蛻變關(guān)系,但是大多數(shù)都是以臨時和任意的方式識別的。雖然ZHOU等[8]提出了以蛻變關(guān)系模式幫助識別蛻變關(guān)系,但是相關(guān)研究仍處于初級階段。研究不同蛻變關(guān)系模式之間的關(guān)系并為其構(gòu)建家譜將是未來的一個重要研究方向。
(2)蛻變關(guān)系的優(yōu)先級。在某些情況下,使用所有可用的蛻變關(guān)系可能成本過高,因此必須選擇它們的子集。了解如何優(yōu)先考慮最有效的蛻變關(guān)系非常重要。為此,研究人員提出使用代碼覆蓋率或測試用例相似性的方法[29-30],并取得了較好的結(jié)果。
(3)蛻變測試工具。就目前而言,如果從業(yè)者想要應(yīng)用蛻變測試,由于沒有公開可用和維護(hù)的工具,因此他們通常需要自己開發(fā)相關(guān)工具。這成為蛻變測試在實(shí)證研究和實(shí)踐中廣泛應(yīng)用的一個重要障礙。
5 結(jié)論(Conclusion)
蛻變測試技術(shù)作為一種有效的測試技術(shù)正日趨成熟。本文對近年來與蛻變測試相關(guān)的研究工作進(jìn)行了調(diào)研和總結(jié),特別關(guān)注蛻變關(guān)系的研究現(xiàn)狀和蛻變測試在不同領(lǐng)域的應(yīng)用。此外,文章還展望了蛻變測試技術(shù)未來的研究方向,旨在為蛻變測試的研究構(gòu)建一個比較完整的全景圖,并為相關(guān)研究人員提供參考和借鑒。
作者簡介:
朱小艷(1997-),女,碩士生。研究領(lǐng)域:軟件測試。
江明月(1985-),女,博士,副教授。研究領(lǐng)域:軟件工程,軟件調(diào)試與修復(fù)。