李 昊, 柳 溪
(南京電子技術研究所,江蘇 南京 210039)
對雷達軟件測試歷史記錄進行整理,可以構建雷達軟件測試用例復用庫。軟件測試人員使用雷達軟件用例復用庫進行測試用例輔助設計,能夠有效提高雷達軟件的測試質量、節約軟件測試設計時間成本并改善測試人員專業背景經驗不足的情況。對于新的待測雷達軟件,通過將其軟件需求與復用庫中類似項目的軟件需求進行匹配篩選,檢索建立原始復用測試用例集,再經適用性修改完善后即可快速生成該軟件的測試用例集,從而大幅提高雷達軟件測試人員用例設計和開發的效率。測試用例復用研究的重點是用例的匹配檢索。傳統的復用用例檢索大多采用描述語句信息匹配的方法,文獻[1]根據測試用例本體屬性描述的特點給出了一種基于用戶復用行為的匹配度計算方法,并使用該方法進行用例檢索。文獻[2]以改進的K最近鄰算法為基礎設計了測試用例檢索算法,提出了一種基于測試用例推理的測試用例復用方法。文獻[3]提出了一種基于本體的構件檢索算法。該匹配算法實現了與布爾無關的執行過程,使算法復雜度由原來的指數級降低到多項式級。文獻[4]通過構建測試用例索引樹開展測試用例的檢索,并在測試用例索引樹和樹匹配模型思想的基礎上,提出了面向不同數據模式的測試用例檢索方法。雖然這些研究通過構建測試用例本體等方法改進了復用用例的檢索算法,但大都僅從用例自身復用檢索角度進行設計,沒有充分考慮專業領域用例本體與其他知識本體的關系,降低了對具體項目的針對性和適用性,影響了在工程實際應用中的效果。同時,由于傳統的軟件測試用例復用庫大多采用關系型數據庫作為底層數據存儲,當被測軟件項目數量快速增加時,使用傳統的復用庫設計架構已逐漸無法滿足清晰描述這些不同項目間知識關聯關系的要求。此外,快捷高效地從其他類似產品獲得軟件測試知識資產復用的能力也是卓越型測試團隊建設的一項重要內容。這就涉及到更加復雜的測試知識關系查詢需求,因此對整個軟件測試資產庫的數據檢索效率提出了更高的要求。
知識圖譜(Knowledge Graph)[5]相關技術已被廣泛應用于各專業領域,其在軟件工程領域的典型應用包括構建領域知識庫管理系統、設計和開發軟件工程項目庫,以及軟件構建檢索等。為了彌補傳統雷達軟件測試知識管理工具的不足,進一步優化雷達軟件測試用例復用檢索,提高測試用例復用設計質量,本文在軟件測試用例復用設計中引入了知識圖譜相關技術。根據構建的雷達軟件測試本體關系模型,依托現有的雷達軟件測試管理系統軟硬件平臺,快速構建雷達軟件測試知識圖譜,設計了一種以實體特征屬性文本和關聯節點快速相似度計算為基礎的軟件測試知識匹配方法,并利用知識檢索和協同過濾推薦等技術手段開展基于知識圖譜的雷達軟件測試用例復用應用。該方法充分發揮了圖形數據庫在關系檢索性能上的優勢,能夠有效降低測試知識庫的更新復雜度,將測評項目的軟件需求、測試用例和軟件缺陷等知識和它們之間的關聯關系,以及相關人員的測試工作檔案以圖譜形式直觀展示,從而為雷達軟件測試用例復用應用的進一步研究提供了新的解決思路。
本文構建的雷達軟件測試知識圖譜屬于領域知識圖譜(Domain-Specific Knowledge Graph),其以測試用例復用為業務核心,采用屬性圖模型[6]構建,其本體關系模型如圖1所示。

圖1 雷達軟件測試本體關系模型
圖譜根據雷達設備的應用領域將產品軟件分為國土防空、機載火控、精密測控、艦載預警等多個子圖譜,覆蓋了雷達軟件配置項測試和系統測試中的功能、人機交互界面、性能、安全性、強度等多個動態測試類型,并將每個雷達軟件需求分解為若干測試項,同時使用等價類、邊界值和因果圖等測試用例設計方法設計具體的雷達軟件測試用例。圖譜將各種雷達軟件歷史缺陷知識與其對應的執行用例建立屬性關聯,通過研究這些雷達缺陷的激勵條件以及其在輸出故障時的表現形式,得到相對獨立于被測雷達軟件項目的缺陷失效行為模式數據。此外,每個軟件涉及軟件編碼人員、測試用例設計人員、缺陷檢測人員和缺陷的修復人員等多個角色,這些角色在不同項目中可能會由相同人員交叉擔任。
雷達軟件測試知識圖譜將雷達軟件測試資產庫中所有歷史測試用例及其關聯知識通過圖形數據庫,以復雜的語義網絡圖形式重新進行存儲,方便軟件測試人員從“關系”可視化的角度去訪問雷達軟件測試知識。
與一般的知識圖譜構建流程類似[7-9],本文構建的雷達軟件測試知識圖譜的基本技術框架主要包括原始數據、知識抽取、知識融合、知識加工和知識應用五層結構,如圖2所示。

圖2 雷達軟件測試知識圖譜框架
本文使用現有雷達軟件測試管理系統數據庫中存儲的歷史用例及其關聯數據作為知識圖譜原始數據的主要來源。各種雷達測試實體、屬性和關系數據經知識抽取模塊提取后,提交知識融合層采用基于加權的語義相似度計算模型進行實體消歧和共指消解處理用以建立雷達軟件測試知識圖譜語義網絡。知識加工模塊動態更新軟件測試知識圖譜內容,持續評估并不斷完善已有測試知識的質量和應用效果。知識應用層利用圖形化的人機交互界面提供各種雷達軟件測試知識檢索和質量數據統計分析的應用實現。
本文選擇Neo4j[10]圖形數據庫存儲雷達軟件測試知識圖譜,通過Cypher數據查詢語言進行數據訪問。知識圖譜的應用系統設計為B/S架構并使用Python語言編程實現,其后端的Web服務采用Flask框架構建,前端利用ECharts和HTML5相關技術進行可視化展示[11-12],其顯示效果如圖3所示。

圖3 雷達軟件測試知識圖譜展示
1.3.1 構建本體和知識抽取
借助雷達軟件測試領域專家的經驗構建知識圖譜標識模型并采用“由上至下”的模式開展概念圖譜的層級體系分析設計。充分考慮軟件質量管控工作和測試用例復用設計的實際應用需求[13],以雷達軟件測試用例為中心組織實體、屬性素材和定義關系路徑,完成雷達軟件測試知識圖譜核心模式(本體)層定義和構建。利用現有測試管理平臺提供的OTA(Open Test Architecture)開放接口,根據構建的雷達軟件測試本體模型建立軟件測試用例相關知識映射,實現基礎數據集的原始知識數據查詢和轉換,完成包括實體、關系和屬性等候選知識單元的自動抽取。本文對現有測試管理系統中的400余個歷史測試項目記錄數據進行知識抽取,建立的雷達軟件測試知識圖譜覆蓋了28萬余個知識實體。
1.3.2 知識融合
新的知識加入雷達軟件測試知識圖譜前,需要進行知識圖譜的實體匹配(Entity Matching),完成對相同語義實體的共指消解和消歧。
知識圖譜的匹配方法一般分為基于快速相似度計算、基于規則和基于分治3種方法[14]??紤]到現有雷達軟件測試知識圖譜的規模和特點,本文在實體屬性類型分塊的基礎上選擇了一種基于加權的實體特征屬性文本的CBOW(Continuous Bag-of-Words)模型自然語言處理(Natural Language Processing,NLP)算法[15-18],快速開展各種軟件測試知識實體匹配。
CBOW模型經過充分訓練后,能夠以指定的當前詞及其上下文為輸入,預測該詞出現的概率。本文在利用Python進行算法編程實現時,選用了Gensim庫提供的Word2Vec工具包。其結構網絡示意圖如圖4所示。

圖4 Word2Vec的CBOW模型網絡結構示意圖
圖4中Word2Vec的CBOW模型網絡包括輸入層、投影層和輸出層(Softmax層)。其對神經概率模型中存在的大規模矩陣運算和Softmax歸一運算進行了優化,采用對所有輸入詞向量簡單求和的方法替代了傳統神經網絡的線性變換加激活函數的復雜實現,同時采用霍夫曼樹實現從神經網絡詞向量語言模型的投射層到輸出Softmax層的映射。對于輸入的詞ω,定義

(1)
其輸出對數似然函數為

(2)
式中,C為語料庫中所有詞匯的集合;Context(ω)為與詞ω前后緊鄰的相關詞;P(ω|Context(ω))為ω的條件概率。
在正式使用CBOW模型前,需要對其進行訓練。本文使用的訓練輸入語料為累計萬頁規模的歷史項目中的雷達軟件需求和設計文檔。在訓練之前,需要借助停用詞詞典和雷達軟件測試知識切詞字典對語料文本進行停用詞去除和低頻詞刪除處理,刪除沒有意義的特征詞,提取語義關鍵詞。利用“雷達專業術語詞典”對英文縮略語關鍵詞進行翻譯,實現訓練語料優化。通過訓練,實現語料庫中每個詞語的目標輸出詞的Softmax概率最大化。
對于輸入語義文本,經語義關鍵詞提取和英文縮略語翻譯后,得到該語句的中文關鍵詞序列S={ω1,ω2,…,ωn},利用CBOW模型的訓練輸出文件可以獲得每個關鍵詞的詞向量值,再將句子中的所有詞向量求均值后即得到該屬性文本的句子向量vec(S)。
給定兩個待匹配的實體u和v,兩者具有相同的文本屬性集合A={A1,A2,…,An},通過計算u,v共同屬性Aj(1≤j≤n)描述文本的句子向量Su,j和Sv,j間的余弦值(式(4)),得到實體u和v在該屬性Aj上的相似度simattr(uj,vj):
(3)
式(3)只適用于字符串型屬性值的相似度計算,對于枚舉型特征屬性的相似度可以直接通過內容相同比較進行布爾值判斷??紤]到不同實體特征屬性值對相似度計算結果的影響程度不同,為每個特征屬性的匹配計算結果設置不同的影響因子Dj并進行綜合加權修正后求平均,最終得到實體u和v的屬性綜合相似度。
(4)
1.3.3 知識加工和應用
知識加工主要完成新雷達測試知識的添加和原有知識的更新。對其可信度進行量化分析和動態評估,并根據分析評估結果依據“自動為主、人工輔助”的原則對較低置信度測試知識進行修改和完善。主要內容包括使用基于知識表達的關系推薦技術完成歷史測試項目殘缺知識的發現和推理,對語言描述質量不高的實體特征屬性文本進行修訂,以及修正原有知識圖譜中的錯誤測試知識實體相似度關系匹配等。
雷達軟件測評部門利用構建的雷達軟件測試知識圖譜可以方便地搭建適合自身專業特點的軟件測試設計和質量綜合管理平臺,有效融合各領域產品的軟件測試關聯信息,開展雷達軟件測試知識智能檢索、缺陷預測和產品軟件質量評估等更多擴展研究,為軟件質量管理的決策分析提供可解釋依據,并為雷達產品軟件質量管控和軟件研制過程改進提供重要的基礎數據支撐,其知識查詢應用界面如圖5所示。

圖5 雷達軟件測試知識檢索界面
雷達軟件的測試復用包括各種軟、硬件雷達軟件測試資源和測試環境的復用、測試執行策略和雷達軟件測試流程的復用、雷達軟件測試用例方法復用、測試用例的復用等多項內容。其中,測試用例復用是指通過對雷達軟件測試歷史用例進行直接調用或進行適用性修改后,將其重新應用于該軟件新的測試階段或其他雷達軟件的測試活動中。高質量的雷達軟件測試復用用例至少應具有通用性、有效性、獨立性、規范性和易用性等:通用性要求設計的雷達軟件測試用例不過分依賴被測軟件的周境,對測試用例不經修改或稍加修改后,就可以在相同或相似雷達產品的軟件測試活動中廣泛使用;有效性要求復用的測試用例能夠被測試人員順利、可靠且高效地執行,并能發現被測軟件中的軟件缺陷;獨立性要求復用測試用例能夠在被測雷達軟件活動中獨立運行,測試用例彼此之間不存在依賴關系,并且用例的運行環境與其他測試用例的執行狀態也沒有關聯;規范性要求用例描述格式或結構的標準化和屬性要素內容應完整;易用性要求設計的用例易于理解,可以靈活檢索和獲取,方便軟件測試人員使用。
本文挖掘雷達軟件測試知識圖譜中已有歷史項目軟件測試知識信息,利用知識檢索和知識推薦等相關技術,有效實現了軟件測試復用用例的各項特性需求。為了保證用例的通用性,在新建測試用例知識時,通過規定在用例描述和測試步驟等文本屬性鍵值中統一使用“最大值”“最小值”“典型值”“輸入參數值N”“輸出值N”等通用的抽象概念詞匯代替具體的參數值。而這些參數數據的實例化則是通過另外定義的測試剖面屬性鍵來賦值,從而有效實現了用例被復用的修改最小化。由于圖譜中的所有知識來源為歷史雷達軟件測試項目,復用用例的有效性和可執行性已經過實際測試執行驗證,因此能夠更加可靠和高效地被執行。本文通過制定雷達測試用例屬性文本描述編寫規范對知識測試用例描述格式進行結構化約束,并建立雷達軟件用例描述標簽詞典,充分滿足了測試用例描述格式或結構的標準化需求。同時,利用雷達知識圖譜的強大知識關系檢索能力,可以靈活獲取用例及其關聯知識,更加易于理解和方便使用。此外,考慮到雷達軟件作為高度復雜的嵌入式軟件,普遍具有較高的安全性需求,因此在利用測試知識圖譜構建雷達用例復用策略時,不僅能從文檔化的軟件需求覆蓋性角度提供用例設計檢索覆蓋,而且能從故障模式的安全性角度進行復用用例設計補充推薦。
復用用例的匹配檢索和智能推薦是測試用例復用研究的重點和難點。不同于傳統的用例搜索方式,采用用例推薦技術可以輔助用戶找尋感興趣的用例信息,并自動將期望展現的關聯知識實體更加精準地推送給用戶。常用的個性化推薦方法包括:內容推薦、協同過濾推薦、基于知識推薦、基于關聯規則推薦和組合推薦等[19]。實際應用中由于考慮到這些推薦方法各有優缺點,通常會綜合使用多種推薦方法開展測試用例推薦應用。本文利用測試用例本體構建和知識圖譜實體匹配相關技術,結合已構建的雷達測試用例知識圖譜,將軟件、需求、缺陷、角色等關聯知識的影響也考慮進相似度計算過程,在集體實體對齊算法[20]基礎上,設計了一種基于知識匹配的雷達軟件測試用例復用(Knowledge Matching-Test Case Reusing,KM-TCR)推薦模型,利用實體匹配和知識推薦等技術開展測試用例復用優化設計,并在工程中進行了較好的應用。
根據不同應用場景,KM-TCR推薦模型分為基于需求知識集體匹配的復用用例推薦和基于缺陷知識檢索的復用用例推薦兩部分。前者以需求覆蓋為導向,適用于常規軟件測評項目的測試用例復用設計。而后者以問題發現為導向,更加適用于敏捷測試項目的復用用例設計。
2.2.1 基于需求知識集體匹配的復用用例推薦
通常,軟件測試人員利用測試用例與雷達軟件需求之間緊密的覆蓋和追溯關系,通過檢索與歷史項目相似軟件需求的關聯用例,可以實現測試用例的復用。但當知識庫中同時存在大量相似的雷達軟件需求知識時,需要進行更多擇優處理。本文充分發揮知識圖譜在關系網絡解析上的優勢,采用知識實體集體對齊的算法實現了這一過程的自動化。其以軟件需求知識為核心,構建包括待測軟件需求及其關聯實體的知識子圖譜,并與雷達軟件測試知識圖譜網絡中的各相似子圖譜進行集體匹配,從而獲得了更優的檢索輸出結果?;谛枨笾R匹配的復用用例檢索如圖6所示。

圖6 基于需求知識匹配的復用用例檢索
具體算法如下。
輸入:待測項目的軟件需求實體r和與它相關的被測軟件、雷達分系統和軟件開發人員等知識實體集合形成軟件需求知識子圖譜G。
輸出:復用測試用例集索引列表。
① 根據r的“領域”和“分系統”屬性鍵值,對軟件測試知識圖譜進行快速分區,提取待匹配計算知識子圖譜G′。



(5)

⑥ 對輸出的測試用例經實例化修改后,得到該項目的復用測試用例。
2.2.2 基于缺陷知識檢索的復用用例推薦
(1) 雷達軟件缺陷知識檢索和失效模式本體構建。
知識圖譜中的缺陷知識可以通過采用需求知識集體匹配的方法檢索關聯缺陷間接獲取,或直接利用知識圖譜客戶端的缺陷知識檢索功能得到。主動復用與歷史缺陷相關聯的測試用例,開展軟件缺陷預防檢測,能夠有效避免類似軟件問題重復發生,并為軟件缺陷問題技術歸零中開展“舉一反三”工作提供技術參考。
為了更好地利用雷達軟件缺陷知識IPO(Input-Processing-Output)的失效傳遞機理對軟件缺陷進行數據分析,方便軟件測試人員從用戶輸入行為模式的角度開展軟件缺陷分類檢索,本文在知識圖譜中構建了雷達軟件失效模式本體,并與缺陷知識建立關聯,如表1所示。

表1 雷達軟件失效模式本體屬性描述
圖譜中的每個缺陷對應一個失效模式,每個失效模式知識實體是一組相似缺陷記錄的集合。對現有雷達軟件測試知識圖譜中的9000余條缺陷記錄進行知識整理,累計提取出1451條雷達軟件缺陷失效模式知識實體,并以此為基礎進一步開展缺陷預測和產品軟件質量評價等擴展工作,為軟件質量管理的決策分析提供輸入。
(2) 基于用戶的協同過濾推薦。
軟件開發人員的思維定式和代碼的大量復用會導致類似的缺陷在不同產品中重復發生,即開發人員與缺陷產生之間存在著一定的“喜好”關聯??紤]到當前軟件測試知識圖譜缺陷的實體規模以及基于記憶的協同過濾算法具有簡單、合理、高效和穩定等特點,在實際應用中選用了基于用戶的協同過濾推薦(User-Based Collaborative Filtering,UserCF)算法[21],其核心思想是:以知識圖譜中各缺陷關聯的軟件開發人員為推薦系統的“用戶”,各種已發生的歷史軟件缺陷失效模式知識實體作為待推薦的“物品”,統計“用戶”與該失效模式“物品”的關聯缺陷數(缺陷出現的頻次)作為該“用戶”對該“物品”的評分,從而建立雷達軟件開發人員與歷史缺陷失效模式間的“用戶-物品”評分行為矩陣。通過尋找與目標用戶有類似關聯軟件失效模式行為的相似用戶,利用相似用戶對某特定缺陷失效模式的評分預測目標用戶對該特定失效模式的評分,以此獲得與相似用戶已建立關聯,但與該目標用戶尚未有關聯關系的缺陷失效模式數據推薦。使用失效模式知識實體代替直接使用軟件缺陷作為推薦物品的好處是可以大幅改善評分行為矩陣的稀疏度,降低“空推薦”發生概率。其具體算法設計如下。
定義:知識圖譜中所有缺陷產生人員組成“用戶”集合U={u1,u2,…,un},ui∈U(1≤i≤n) 為缺陷產生人員;所有軟件失效模式組成“物品”集合I={i1,i2,…,im},ik∈I(1≤k≤m) 為軟件失效模式;以與ui關聯且失效模式為ik的缺陷數量ri,k作為評分,建立U和I的關系評分矩陣R,設定用戶相似度判定門限閾值為τ。
輸入:“人員-軟件失效模式”評分行為矩陣R。
輸出:推薦的測試復用用例集索引列表。

(6)
設定判定閾值τ,選擇相似度值高于該值的用戶,得到ui最近鄰缺陷產生人員集合KNN(ui)。
② 定義rj,k為用戶uj對物品Ik的評分,根據式(7):
(7)

③ 檢索預測評分最高前N個缺陷失效模式,生成Top-N預測失效模式推薦集,并按照評分大小進行排序。
④ 檢索知識圖譜中與預測失效模式相關聯的軟件需求知識并與待測軟件需求進行知識匹配篩選,提取關聯復用用例作為最后的推薦結果輸出。
(3)改進探索性測試會話生成。
文獻[22]在雷達軟件測試中使用探索性測試(Exploratory Testing)方法,通過建立腳本會話模型改善了由于軟件需求文檔質量不高對軟件測試質量的影響,但由于選擇初始會話腳本具有一定的隨機性,從而可能導致測試執行效率的降低。
以UserCF為基礎,改進了雷達軟件探索性測試中的腳本會話模型,利用已建立的雷達軟件測試知識圖譜,提出了一種基于缺陷失效模式知識的協同推薦的腳本會話模型。該模型利用項目間缺陷失效模式產生人員行為習慣間的相似性,預測待測軟件可能存在的其他未發現缺陷,并復用這些缺陷的關聯測試用例建立探索性測試的初始腳本會話,從而啟動探索性測試活動執行,如圖7所示。

圖7 基于缺陷失效模式知識的協同推薦的會話模型
圖7中,在每一輪軟件探索性測試執行前,測試人員首先依據項目背景知識采用基于用戶的協同過濾推薦方法獲得項目可能存在的尚未被檢出的缺陷失效模式及其關聯軟件缺陷的推薦列表,建立預測缺陷子圖譜,再結合被測項目的軟件需求輸入文檔,經適用性篩選后得到測試復用用例推薦清單。測試執行人員根據該清單建立起探索性測試初始會話開展探索性測試執行。測試中新發現的軟件缺陷知識被用于更新測試知識圖譜,同時更新“缺陷產生人員-缺陷失效模式”評分矩陣,作為下一輪的測試用例協同推薦輸入,并利用推薦輸出結果建立新的初始會話。
利用雷達軟件測試知識圖譜開展的UserCF測試用例推薦復用,能夠方便地獲得類似項目的軟件缺陷及其關聯知識,改善了由于被測項目先驗知識不足對測試設計產生的影響,因此可以更好地在敏捷測試中進行應用。
本文選取了10個典型雷達軟件配置項測試數據作為實驗輸入,評估CBOW模型在知識圖譜實體匹配算法檢索中的應用性能,同時選用了編輯距離(Levenshtein Distance)計算、Jaccad系數計算、TF和TF-IDF[23-24]等幾種相似度計算常用算法進行效果比對。這些項目覆蓋了雷達顯控、數據處理、信號處理等多個分系統,各測試項目主要實體數量和知識圖譜查詢時間數據如表2所示。

表2 項目驗證數據
根據式(4)將表2中各項目的所有實體與知識圖譜中其他項目的同類知識進行屬性相似度匹配,并由雷達領域專家進行匹配結果人工確認,計算平均精確率P和平均召回率R,并對計算結果進行統計。
(8)
(9)
式中,NTP為系統成功匹配的軟件測試知識點對數;NFP為系統錯誤匹配的軟件測試知識點對數;NFN為系統未查找出來的軟件測試知識點對數。統計結果如圖8所示。

圖8 不同算法軟件測試實體相似度匹配性能
圖8表明,本文選用的CBOW綜合加權算法在提高匹配精度的同時,也獲得了較好的召回率,且無論是精確率還是召回率都要優于其他幾種算法,能夠較好地滿足工程應用需求。
以表2中的需求知識實體集合為輸入,分別選擇知識屬性相似度計算和知識集體相似度計算兩種算法進行實驗,其精確率和召回率如圖9所示。

圖9 不同θr值對應的需求相似度匹配性能
由數據分析可見,隨著判斷門限θr的增加,兩者的精確率和召回率變化趨勢一致,相比僅使用知識屬性文本進行相似度計算,采用知識集體相似度計算可以獲得更高的精確率和召回率。
本文使用傳統的用戶協同過濾算法作為核心推薦算法。從雷達軟件測試知識圖譜中提取“人員-軟件失效模式”關系數據進行用戶協同推薦算法效果驗證實驗,實驗數據集包括651個失效模式實體和77個缺陷產生人員信息。同時,選取美國明尼蘇達大學Group Lens 項目研究組公布的經典的MovieLens 1M數據集做比對參考,該數據集包含有943個用戶對1682部電影的10萬多條評分。
實驗時,將兩個數據集分別按照4∶1的比例分為訓練集和測試集兩部分,利用訓練集輸出推薦結果,并使用測試集對實驗結果進行驗證。使用式(10)計算平均絕對誤差(MAE),對推薦結果進行性能統計。
(10)
式中,ri,k為用戶ui對物品ik的真實評分;τ為推薦的物品。統計結果如圖10所示。

圖10 協同推薦性能評估
圖10中的橫坐標為最近鄰缺陷產生人員個數,隨著其值的增加,MAE值呈下降趨勢。與MovieLens 1M數據集相比,其對缺陷失效模式的推薦性能有所下降,這主要是由兩個數據源的稀疏度差異造成的。
本文設計了一種基于知識圖譜的雷達軟件測試用例復用方法,利用原有雷達軟件測試管理系統中的大量歷史測試數據建立雷達軟件測試知識圖譜。通過知識圖譜語義網絡的知識實體匹配技術實現了對雷達軟件測試復用用例的高效檢索,不僅提高了一般雷達軟件測試活動的開發效率,也可以應用在雷達軟件探索性測試中,更好地發揮出敏捷測試的優勢。通過對所在單位近期使用基于雷達軟件測試知識圖譜開展用例復用設計的67個測試項目進行復用情況統計,平均用例復用率達到了81%,累計節約測試用例設計開銷時間約為63%。
由于本文用于構建知識圖譜的大量基礎數據在測試管理平臺中已進行了結構化存儲,因此知識的抽取工作相對簡化,實際中還有大量來源于測試設計文檔和缺陷報告等半結構化和非結構化數據可被利用,對這些數據的知識抽取和加工需要進一步研究。此外,如何利用雷達軟件測試知識圖譜開展更多擴展應用,以及對測試用例協同推薦算法的優化改進仍有較多工作需要繼續進行研究。