軟件測試與可靠性評估方法研究 軟件測試培訓
摘要:隨著科學技術的飛速發展,軟件的功能越來越強大,軟件的復雜性也越來越高,從而大大增加了軟件測試與可靠性評估的難度。為了保證一個軟件系統的質量,有必要針對軟件的測試與可靠性評估方法進行專門地研究。本文就是針對這一領域所做的一些研究。
關鍵詞:軟件測試 可靠性 軟件評估
一、軟件測試的定義
軟件測試(Software testing)是軟件生存期(Software life cycle)中的一個重要階段,是軟件質量保證的關鍵步驟。通俗地講,軟件測試就是在軟件投入運行前,對軟件需求分析、設計規格說明和編碼進行最終復審的活動。1983年IEEE提出的軟件工程術語中給軟件測試下的定義是:“使用人工或自動的手段來運行或測定某個軟件系統的過程,其目的在于檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別”。這個定義明確指出:軟件測試的目的是為了檢驗軟件系統是否滿足需求。
從用戶的角度來看,普遍希望通過軟件測試暴露軟件中隱藏的錯誤和缺陷,所以軟件測試應該是“為了發現錯誤而執行程序的過程”;蛘哒f,軟件測試應該根據軟件開發各階段的規格說明和程序的內部結構而精心設計一批測試用例(即輸入數據及其預期的輸出結果),并利用這些測試用例去運行程序,以發現程序錯誤或缺陷。
二、軟件測試的生命周期
測試主要依據是被試系統的研制任務書和技術規格書,是對軟件整體功能和性能的綜合測試與評估。測試原理是軟件測試活動的理論基礎,測試方法是測試原理的實際應用和獲得測試數據的手段;谲浖墓残,對于軟件的測試要遵循一般軟件的測試原理和方法。同時,針對軟件的特性,必須找到合適的測試方法。測試用例的合理性對于軟件的測試與評估具有關鍵作用,而如何使設計的用例合情、合理并且典型有效并不容易。所以應該與軟件的研制人員以及最終用戶一起,有針對性地研究實際操作環境并加以描述,形成合理的測試用例集。另一方面,軟件運行環境的復雜程度對軟件評估具有重要作用,所以應產生盡量逼真的運行背景以便于研究。軟件測試的周期如圖1所示。
實踐證明,盡管人們在開發軟件的過程中使用了許多保證軟件質量的方法和技術,但開發出的軟件中還會隱藏許多錯誤和缺陷。這對于規模大、復雜性高的軟件更是如此。所以,嚴格的軟件測試對于保證軟件質量具有重要作用。
文章來源于領測軟件測試網 http://www.kjueaiud.com/