本發明專利技術公開了一種軟件測試方法及其裝置,設定一測試程序;對所述一測試程序分別進行揭錯測試和可靠性測試,得到缺陷失效后對應的L組測試失效數據,所述測試失效數據包括揭錯測試過程信息及對應的程序失效率,L為大于等于1的正整數;根據L組測試失效數據,確定用于指示所述揭錯測試過程信息與所述程序失效率之間關系的約束方程,從而在以揭錯為目的的軟件測試中,確定揭錯測試過程信息,根據指示所述揭錯測試過程信息與所述程序失效率之間關系的約束方程預測程序失效率,從而達到合并揭錯和可靠性評估的目的。
【技術實現步驟摘要】
本專利技術涉及軟件測試
,具體的涉及一種軟件測試方法及其裝置。
技術介紹
現有的獲得軟件可靠性評估的方法要求運用專門的技術——基于操作剖面的可靠性測試技術(或稱基于統計測試、基于凈室工程測試等)獲得軟件的失效數據,利用軟件失效數據在已有可靠性模型的基礎上獲得可靠性評估結果。但這種可靠性評估方法存在理論上的缺陷,限制了其在工程實際中的廣泛應用。一方面,隨著軟件規模和復雜性的提高,構造操作剖面是非常困難的;對于安全關鍵軟件來說,需要的測試用例數量遠遠超過了現實可行的范圍,實施可靠性測試是很困難的;由于軟件測試過程中會出現擾動,導致可靠性評估和預測結果會偏于樂觀。因此軟件可靠性測試具有時間長、費用高、資源消耗大的特點,從而難以滿足工程型號的進度和成本要求,軟件可靠性測試沒有在工程實踐中真正的開展開來。另一方面,企業對可靠性要求很高的軟件大多數都必須進行軟件的系統測試或者是為了增加缺陷揭錯率而進行的軟件測試。而可靠性測試與這種以揭錯為目的的軟件測試是截然不同的兩個過程,二者之間沒有必然聯系,導致軟件測試資源的極大浪費。但開發者和用戶在沒有進行可靠性測試的情況下往往也想知道軟件當前的可靠性水平。因此,在這樣的背景下,如何確定滿足以揭錯為目的的軟件測試和可靠性評估之間的關系,達到合并揭錯與可靠性評估的目的,成為亟待解決的問題。
技術實現思路
本專利技術提供一種軟件測試方法及其裝置,用以確定滿足以揭錯為目的的軟件測試和可靠性評估之間的關系。為了實現上述目的,本專利技術實施例提供了一種軟件測試方法,包括:設定一測試程序;對所述一測試程序分別進行揭錯測試和可靠性測試,得到缺陷失效后對應的L組測試失效數據,所述測試失效數據包括揭錯測試過程信息及對應的程序失效率,L為大于等于1的正整數;根據L組測試失效數據,確定用于指示所述揭錯測試過程信息與所述程序失效率之間關系的約束方程。進一步地,所述揭錯測試過程信息為M維數據,M為正整數,包括以下參數的一種或任意組合:累計用例數;發現缺陷數;缺陷發現率;語句覆蓋率;函數覆蓋率;分支覆蓋率。進一步地,所述根據L組測試數據,確定用于指示所述揭錯測試過程信息與所述程序失效率之間關系的約束方程,包括:將M維的揭錯測試過程信息降維為一維的主成份變量,獲得主成份變量與所述揭錯測試過程信息之間的降維關系式;所述測試失效數據中的揭錯測試過程信息為所述揭錯測試過程信息降維后的主成份變量;對L組主成份變量和對應的程序失效率進行曲線擬合,獲得主成份變量與程序失效率之間的映射關系;對所述降維關系式以及所述主成份變量與程序失效率之間的映射關系進行驗證,并在驗證通過后將所述主成份變量與程序失效率之間的映射關系作為所述約束方程。進一步地,所述對所述降維關系式進行驗證,包括:獲取N個相鄰的揭錯測試過程信息,并將所述N個相鄰的揭錯測試過程信息代入所述降維關系式獲得N組降維系數,其中N為大于1的正整數;根據N組降維系數確定N-1組降維系數差值,每組降維系數差值為相鄰的兩組降維系數之間的差值;對所述N-1組降維系數差值進行曲線擬合,獲得降維系數差值擬合曲線;判斷所述降維系數差值擬合曲線是否收斂,若是,則確定所述主成份變量與所述程序失效率之間的映射關系驗證通過。進一步地,所述主成份變量與所述程序失效率之間的映射關系進行驗證,包括:根據所述主成份變量與所程序失效率之間的映射關系確定K個預測失效數據,其中K為大于1的正整數;確定所述K個預測失效數據對應的K個程序失效率,所述程序失效率通過可靠性測試得到的;根據所述K個預測失效數據以及所述K個預測失效數據對應的K個程序失效率,確定K個程序失效率誤差值,每個程序失效率誤差值為一個預測失效數據與該預測失效數據對應的程序失效率之間的差值;將所述K個程序失效率誤差值進行曲線擬合,獲得程序失效率誤差值擬合曲線;判斷所述程序失效率誤差值擬合曲線是否收斂,若是,則確定所述主成份變量與所述程序失效率之間的映射關系驗證通過。相應地,本專利技術實施例提供了一種軟件測試裝置,包括:獲取模塊,用于設定一測試程序;對所述一測試程序分別進行揭錯測試和可靠性測試,得到缺陷失效后對應的L組測試失效數據,所述測試失效數據包括揭錯測試過程信息及對應的程序失效率,L為大于等于1的正整數;確定模塊,用于根據L組測試失效數據,確定用于指示所述揭錯測試過程信息與所述程序失效率之間關系的約束方程。進一步地,所述獲取模塊具體用于:所述揭錯測試過程信息為M維數據,M為正整數,包括以下參數的一種或任意組合:累計用例數;發現缺陷數;缺陷發現率;語句覆蓋率;函數覆蓋率;分支覆蓋率。進一步地,所述確定模塊具體用于:將M維的揭錯測試過程信息降維為一維的主成份變量,獲得主成份變量與所述揭錯測試過程信息之間的降維關系式;所述測試失效數據中的揭錯測試過程信息為所述揭錯測試過程信息降維后的主成份變量;對L組主成份變量和對應的程序失效率進行曲線擬合,獲得主成份變量與程序失效率之間的映射關系;對所述降維關系式以及所述主成份變量與程序失效率之間的映射關系進行驗證,并在驗證通過后將所述主成份變量與程序失效率之間的映射關系作為所述約束方程。進一步地,所述確定模塊具體用于:獲取N個相鄰的揭錯測試過程信息,并將所述N個相鄰的揭錯測試過程信息代入所述降維關系式獲得N組降維系數,其中N為大于1的正整數;根據N組降維系數確定N-1組降維系數差值,每組降維系數差值為相鄰的兩組降維系數之間的差值;對所述N-1組降維系數差值進行曲線擬合,獲得降維系數差值擬合曲線;判斷所述降維系數差值擬合曲線是否收斂,若是,則確定所述主成份變量與所述揭錯測試過程信息之間的降維關系式驗證通過。進一步地,所述確定模塊具體用于:根據所述主成份變量與所述程序失效率之間的映射關系確定K個預測失效數據,其中K為大于1的正整數;確定所述K個預測失效數據對應的K個程序失效率,所述程序失效率通過可靠性測試得到的;根據所述K個預測失效數據以及所述K個預測失效數據對應的K個程序失效率,確定K個程序失效率誤差值,每個程序失效率誤差值為一個預測失效數據與該預測失效數據對應的程序失效率之間的差值;將所述K個程序失效率誤差值進行曲線擬合,獲得程序失效率誤差值擬合曲線;判斷所述程序失效率誤差值擬合曲線是否收斂,若是,則確定所述主成份變量與所述程序失效率之間的映射關系驗證通過。本專利技術實施例中,設定一測試程序;對所述一測試程序分別進行揭錯測試和可靠性測試,得到缺陷失效后對應的L組測試失效數據,所述測試失效數據包括揭錯測試過程信息及對應的程序失效率,L為大于等于1的正整數;根據L組測試失效數據,確定用于指示所述揭錯測試過程信息與所述程序失效率之間關系的約束方程,從而在以揭錯為目的的軟件測試中,確定揭錯測試過程信息,根據指示所述揭錯測試過程信息與所述程序失效率之間關系的約束方程預測程序失效率,從而達到合并揭錯和可靠性評估的目的。附圖說明為了更清楚地說明本專利技術實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術的一些實施例,對于本領域的普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本專利技術實施例提供的一種軟件測試方法的本文檔來自技高網...

【技術保護點】
一種軟件測試方法,其特征在于,包括:設定一測試程序;對所述一測試程序分別進行揭錯測試和可靠性測試,得到缺陷失效后對應的L組測試失效數據,所述測試失效數據包括揭錯測試過程信息及對應的程序失效率,L為大于等于1的正整數;根據L組測試失效數據,確定用于指示所述揭錯測試過程信息與所述程序失效率之間關系的約束方程。
【技術特征摘要】
1.一種軟件測試方法,其特征在于,包括:設定一測試程序;對所述一測試程序分別進行揭錯測試和可靠性測試,得到缺陷失效后對應的L組測試失效數據,所述測試失效數據包括揭錯測試過程信息及對應的程序失效率,L為大于等于1的正整數;根據L組測試失效數據,確定用于指示所述揭錯測試過程信息與所述程序失效率之間關系的約束方程。2.如權利要求1所述的方法,其特征在于,所述揭錯測試過程信息為M維數據,M為正整數,包括以下參數的一種或任意組合:累計用例數;發現缺陷數;缺陷發現率;語句覆蓋率;函數覆蓋率;分支覆蓋率。3.如權利要求2所述的方法,其特征在于,所述根據L組測試失效數據,確定用于指示所述揭錯測試過程信息與所述程序失效率之間關系的約束方程,包括:將M維的揭錯測試過程信息降維為一維的主成份變量,獲得主成份變量與揭錯測試過程信息之間的降維關系式;所述測試失效數據中的揭錯測試過程信息為所述揭錯測試過程信息降維后的主成份變量;對L組主成份變量和對應的程序失效率進行曲線擬合,獲得主成份變量與程序失效率之間的映射關系;對所述降維關系式以及所述主成份變量與程序失效率之間的映射關系進行驗證,并在驗證通過后將所述主成份變量與程序失效率之間的映射關系作為所述約束方程。4.如權利要求3所述的方法,其特征在于,所述對所述降維關系式進行驗證,包括:獲取N個相鄰的揭錯測試過程信息,并將所述N個相鄰的揭錯測試過程
\t信息代入所述降維關系式獲得N組降維系數,其中N為大于1的正整數;根據N組降維系數確定N-1組降維系數差值,每組降維系數差值為相鄰的兩組降維系數之間的差值;對所述N-1組降維系數差值進行曲線擬合,獲得降維系數差值擬合曲線;判斷所述降維系數差值擬合曲線是否收斂,若是,則確定所述主成份變量與所述揭錯測試過程信息之間的降維關系式驗證通過。5.如權利要求3所述的方法,其特征在于,所述主成份變量與程序失效率之間的映射關系進行驗證,包括:根據所述主成份變量與程序失效率之間的映射關系確定K個預測失效數據,其中K為大于1的正整數;確定所述K個預測失效數據對應的K個程序失效率,所述程序失效率通過可靠性測試得到的;根據所述K個預測失效數據以及所述K個預測失效數據對應的K個程序失效率,確定K個程序失效率誤差值,每個程序失效率誤差值為一個預測失效數據與該預測失效數據對應的程序失效率之間的差值;將所述K個程序失效率誤差值進行曲線擬合,獲得程序失效率誤差值擬合曲線;判斷所述程序失效率誤差值擬合曲線是否收斂,若是,則確定所述主成份變量與所...
【專利技術屬性】
技術研發人員:劉力新,楊建武,汪洋,
申請(專利權)人:北大方正集團有限公司,北京大學,北京北大方正電子有限公司,
類型:發明
國別省市:北京;11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。