軟件可靠性測試是在軟件生存周期的系統測試階段提高軟件可靠性水平的有效途徑。各種測試方法、測試技術都能發現導致軟件失效的軟件中殘存的缺陷,排除這些缺陷后,一般來講一定會實現軟件可靠性的增長,但是排除這些缺陷對可靠性的提高的作用卻是不一樣的。其中,軟件可靠性測試能最有效地發現對可靠性影響大的缺陷,因此可以有效地提高軟件的可靠性水平。
軟件可靠性測試也是評估軟件可靠性水平,驗證軟件產品是否達到軟件可靠性要求的重要且有效的途徑。
1 軟件可靠性測試概念
“測試”一般是指“為了發現程序中的錯誤而執行程序的過程”。但是在不同的開發階段、對于不同的人員,測試的意義、目的及其采用的方法是有差別的。在軟件開發的測試階段,測試的主要目的是開發人員通過運行程序來發現程序中存在的缺陷、錯誤。而在產品交付、驗收階段,測試主要用來驗證軟件產品是否達到用戶的要求;蛘哒f,對于開發人員,測試是發現缺陷的一種途徑、手段,而對于用戶,測試則是驗收產品的一種手段。根據測試用例選取原則的不同,測試可分為黑盒測試方法和白盒測試方法兩大類。黑盒測試方法是指按照軟件需求生成測試用例對軟件進行測試的方法,黑盒測試不關心程序是如何實現的;而白盒測試方法則是指根據程序的結構生成測試用例對軟件進行測試的方法。
軟件可靠性測試是指為了保證和驗證軟件的可靠性要求而對軟件進行的測試。其采用的是按照軟件運行剖面(對軟件實際使用情況的統計規律的描述)對軟件進行隨機測試的測試方法。通過軟件可靠性測試可以達到以下目的:
(1) 有效地發現程序中影響軟件可靠性的缺陷,從而實現可靠性增長:軟件可靠性是指“在規定的時間內,規定的條件下,軟件不引起系統失效的能力,其概率度量稱為軟件可靠度!避浖摹耙幎ǖ臈l件”主要包括相對不變的條件和相對變化的條件,相對不變的條件如計算機及其操作系統;相對變化的條件是指輸入的分布,用軟件的運行剖面來描述。按照軟件的運行剖面對軟件進行測試一般先暴露在使用中發生概率高的缺陷,然后是發生概率低的缺陷。而高發生概率的缺陷是影響產品可靠性的主要缺陷,通過排除這些缺陷可以有效地實現軟件可靠性的增長。
(2) 驗證軟件可靠性滿足一定的要求:通過對軟件可靠性測試中觀測到的失效情況進行分析,可以驗證軟件可靠性的定量要求是否得到滿足。
(3) 估計、預計軟件可靠性水平:通過對軟件可靠性測試中觀測到的失效數據進行分析,可以評估當前軟件可靠性的水平,預測未來可能達到的水平,從而為開發管理提供決策依據。軟件可靠性測試中暴露的缺陷既可以是影響功能需求的缺陷也可以是影響性能需求的缺陷。軟件可靠性測試方法從概念上講是一種黑盒測試方法,因為它是面向需求、面向使用的測試,它不需要了解程序的結構以及如何實現等問題。
文章來源于領測軟件測試網 http://www.kjueaiud.com/