軟體自動測評工具包的製作方法
2023-05-04 09:07:31 1
專利名稱:軟體自動測評工具包的製作方法
技術領域:
本發明涉及一種提高計算機運行質量的方法,屬計算機軟體開發的監測系統,具體是軟體自動測評工具包。
背景技術:
軟體自動測評的研發是軟體工程領域的一個研究難題,目前國際上只有Microsoft、IBM、MI、Segue等公司有較完善的商用產品,包括捕獲/回放工具、Web測試工具、性能測試工具、測試管理工具、源碼測試工具等等。這些工具一般由開發公司通過測試定製的方式為客戶提供專項服務。並且這些工具主要建立在國外長期軟體工程開發積累的基礎上,對測試使用人員的專業知識要求較高,而且多數引進的測試工具不能兼顧本地化軟體開發,不能很好地融合到國內軟體工程中。
發明內容
本發明的目的是提供一種功能完善,適用國內軟體開發市場的軟體測評工具,它不要求測試人員必須具有高水平的專業知識。
本發明的目的是這樣達到的一種軟體自動測評工具包,其特徵在於對被測軟體生命周期中的不同階段,採用相對獨立的測評工具,包括軟體測試框架實現工具、單元測試工具、集成測試的優化工具和軟體可靠性評測工具。所述單元測試工具是指任意指定路逕自動生成測試數據的白盒測試和測試用例集約簡技術。所述集成測試的優化工具,是基於組件依賴的測試優化模型。所述軟體可靠性評測工具是採用數據倉庫來收集和存儲失效數據,並基於基因表達式編程來構建軟體可靠性預測模型,分析多模型的評測結果,給出完善的定性和定量可靠性分析報告。
任意指定路逕自動生成測試數據的白盒測試是利用Gupta方法建立謂詞函數的線性約束系統,在求解該線性系統之前進行相容性判定分析,所述測試用例集約簡技術是指採用程序切片,分析程序的I/O關係,然後利用I/O關係對黑盒測試用例集進行約簡,最後證明約簡後的測試用例集和原來的測試用例集具有相同的錯誤檢測能力。
集成測試的優化工具是基於組件依賴的測試優化模型,是指該模型首先分析和描述了組件間複雜的依賴關係,然後藉助組件間的依賴關係對組件進行分組,即利用組件的事件驅動傳遞依賴關係,構建出系統的「基本關鍵組件集」,賦予最高優先級;藉助組件間的程序依賴關係,找出與這些基本關鍵組件密切相關的其它較關鍵組件,構建出「相關關鍵組件集」,賦予次高優先級;餘下的組件賦予最低的測試優先級。
程序切片是分析程序的I/O關係是對所有的輸出變量y 分析其靜態後向切片,確定影響該輸出變量的所有輸入變量,得到各輸出變量的I/O關係,所述利用I/O關係對黑盒測試用例集進行約簡是指對I/O關係自身進行約簡後進行關聯性分析,劃分成若干個彼此獨立的相關組;接著對各相關組分別進行處理僅對每個輸出涉及到的輸入變量進行組合覆蓋,進而利用組內元素的關聯性通過公共元素進行水平拼接;最後再把各個相關組的結果進行水平拼接。
本發明具有以下優點1.能從開發人員和測試人員的需求角度考慮問題,解決目前商用測試工具和本地軟體工程需求之間的不完全匹配的矛盾,為研發和測試人員提供有力的工具,保證開發軟體的高質量。
2.從軟體工程整個流程中開發測試並行、自動生成測試用例、集成測試優化、自動收集和處理失效數據到最後依據不同的評判準則和模型給出定性和定量的評測報告,整合了當前時新的測試驅動開發理論、測試用例生成和約簡規則、組件依賴以及自動樁生成原理、數據挖掘思想和模型選擇依據等。軟體評測工具技術含量高,更有生命力,更符合軟體工程的發展。
3.軟體評測工具包將顯著提高系統開發效率,縮短了軟體的開發周期,降低了開發成本和開發風險,對測試人員的專業要求大大降低,尤其是通過集成測試的優化,將在保證軟體質量的同時極大地減輕測試人員的負擔。這是目前很多自動化測試工具沒有的。
4.軟體評測工具的界面和語言更符合用戶的要求,更能使用戶產生滿意感。
具體實施例方式
本發明從軟體工程角度,針對被測軟體生命周期中不同階段,開發出一系列相對獨立的評測工具。包括軟體測試框架實現工具,單元測試工具,集成測試的優化工具和軟體可靠性評測工具。
在單元測試工具中,針對白盒測試過程中確定測試數據的成本較高而且費時,為任意指定路逕自動生成測試數據是白盒測試的關鍵。利用Gupta方法建立謂詞函數的線性約束系統,在求解該線性系統之前進行相容性判定分析,即當系統無解的時候分析究竟是由於線性化謂詞函數帶來的還是真的路徑不可行。通過改進了的相容性判定分析算法,然後對相容的線性約束系統引入基因表達式進行求解。
測試用例集約簡技術就是從大量的輸入數據中精心挑選出少數有代表性的測試數據,使得採用這些測試數據能夠達到最佳的測試效果,高效地把隱藏的故障揭露出來,是軟體測試的關鍵。
首先,利用程序切片,分析程序的I/O關係為了不損失任何信息,對所有的輸出變量y分析其靜態後向切片,確定影響該輸出變量的所有輸入變量,得到各輸出變量的I/O關係;然後利用I/O關係對黑盒測試用例集進行約簡對I/O關係自身進行約簡後進行關聯性分析,劃分成若干個彼此獨立的相關組;接著對各相關組分別進行處理僅對每個輸出涉及到的輸入變量進行組合覆蓋,進而利用組內元素的關聯性通過公共元素進行水平拼接;最後再把各個相關組的結果進行水平拼接。
最後證明約簡後的測試用例集和原來的測試用例集具有相同的錯誤檢測能力。
在集成測試的優化工具中針對大型複雜軟體集成測試中耗時太多、分析複雜等不足,提出了一種基於組件依賴的測試優化模型並開發出相應的優化工具。該模型首先分析和描述了組件間複雜的依賴關係,然後藉助組件間的依賴關係對組件進行分組,即利用組件的事件驅動傳遞依賴關係,構建出系統的「基本關鍵組件集」,賦予最高優先級;藉助組件間的程序依賴關係,找出與這些基本關鍵組件密切相關的其它較關鍵組件,構建出「相關關鍵組件集」,賦予次高優先級;餘下的組件賦予最低的測試優先級。通過有級別地選擇測試組件集,達到合理分配測試資源的目的。
軟體可靠性評測工具中通過分析軟體開發整個流程,採用數據倉庫思想來收集和存儲失效數據,並基於基因表達式編程知識來構建軟體可靠性預測模型,並分析多模型的評測結果,給出完善的定性和定量可靠性分析報告。
在該工具包中,各相應獨立的測評工具具有各自獨立的特點1.集成測試的優化工具既考慮到了組件與組件之間的複雜的執行關係,同時又考慮了組件內部程序間更小粒度的耦合關係,更精確地刻畫了軟體的複雜不確定性的執行行為。從測試工程上看,該方法在保證軟體質量的同時,減少了測試組件數量,避免了組件的反覆測試,提高了測試效率,降低了測試成本。
2.軟體可靠性評測工具採用基於基因表達式編程知識構建的軟體可靠性預測模型,更能仿真被測軟體動態不確定性的開發過程,多模型從不同角度來度量,也使最終的可靠性值更完善,給出的詳盡的評估報告,從定性和定量角度描述軟體的可靠性,能更有說服力,能為管理人員的決策提供更有力的證據。
3.單元測試工具包能對任意路徑指定路逕自動生成測試數據如果該路徑不可行,能夠馬上得出結論;如果該路徑可行,即使在指定的路徑上存在非線性謂詞函數,只需要一次求解線性約束系統,就能為指定路逕自動生成測試數據。利用程序切片得到I/O關係進而對測試用例集約簡,可以在保持錯誤檢測能力的前提下,可以得到最優化的約簡測試用例集。
權利要求
1.一種軟體自動測評工具包,其特徵在於對被測軟體生命周期中的不同階段,採用相對獨立的測評工具,包括軟體測試框架實現工具、單元測試工具、集成測試的優化工具和軟體可靠性評測工具,所述單元測試工具是指任意指定路逕自動生成測試數據的白盒測試和測試用例集約簡技術,所述集成測試的優化工具,是基於組件依賴的測試優化模型,所述軟體可靠性評測工具是採用數據倉庫來收集和存儲失效數據,並基於基因表達式編程來構建軟體可靠性預測模型,分析多模型的評測結果,給出完善的定性和定量可靠性分析報告。
2.如權利要求1所述的軟體自動測評工具包,其特徵在於所述任意指定路逕自動生成測試數據的白盒測試是利用Gupta方法建立謂詞函數的線性約束系統,在求解該線性系統之前進行相容性判定分析,所述測試用例集約簡技術是指採用程序切片,分析程序的I/O關係,然後利用I/O關係對黑盒測試用例集進行約簡,最後證明約簡後的測試用例集和原來的測試用例集具有相同的錯誤檢測能力。
3.如權利要求1所述的軟體自動測評工具包,其特徵在於所述集成測試的優化工具是基於組件依賴的測試優化模型,是指該模型首先分析和描述了組件間複雜的依賴關係,然後藉助組件間的依賴關係對組件進行分組,即利用組件的事件驅動傳遞依賴關係,構建出系統的基本關鍵組件集,賦予最高優先級;藉助組件間的程序依賴關係,找出與這些基本關鍵組件密切相關的其它較關鍵組件,構建出相關關鍵組件集,賦予次高優先級;餘下的組件賦予最低的測試優先級。
4.如權利要求1或2所述的軟體自動測評工具包,其特徵在於所述程序切片,分析程序的I/O關係是對所有的輸出變量y分析其靜態後向切片,確定影響該輸出變量的所有輸入變量,得到各輸出變量的I/O關係,所述利用I/O關係對黑盒測試用例集進行約簡是指對I/O關係自身進行約簡後進行關聯性分析,劃分成若干個彼此獨立的相關組;接著對各相關組分別進行處理僅對每個輸出涉及到的輸入變量進行組合覆蓋,進而利用組內元素的關聯性通過公共元素進行水平拼接;最後再把各個相關組的結果進行水平拼接。
全文摘要
軟體自動測評工具包屬計算機軟體開發的監測系統。根據被測軟體生命周期中的不同階段採用相對獨立的測評工具,包括軟體測試框架實現工具、單元測試工具、集成測試的優化工具和軟體可靠性評測工具。單元測試工具是指任意指定路逕自動生成測試數據的白盒測試和測試用例集約簡技術。集成測試的優化工具是基於組件依賴的測試優化模型。軟體可靠性評測工具是採用數據倉庫來收集和存儲失效數據並基於基因表達式編程來構建軟體可靠性預測模型,分析多模型的評測結果,給出完善的定性和定量可靠性分析報告。本發明解決了目前商用測試工具和本地軟體工程需求之間的不完全匹配的矛盾,為研發和測試人員提供有力的工具,保證開發軟體的高質量。
文檔編號G06F11/36GK101082876SQ20061002104
公開日2007年12月5日 申請日期2006年5月30日 優先權日2006年5月30日
發明者李志蜀, 袁德森, 王莉, 陳震秋, 金虎, 孫繼榮, 殷鋒 申請人:四川華智信息技術有限公司, 四川大學