可靠性測試

評估產品功能可靠性的活動

可靠性測試就是為了評估產品在規定的壽命期間內,在預期的使用、運輸或儲存等所有環境下,保持功能可靠性而進行的活動。是將產品暴露在自然的或人工的環境條件下經受其作用,以評價產品在實際使用、運輸和儲存的環境條件下的性能,並分析研究環境因素的影響程度及其作用機理。通過使用各種環境試驗設備模擬氣候環境中的高溫、低溫、高溫高濕以及溫度變化等情況,加速反應產品在使用環境中的狀況,來驗證其是否達到在研發、設計、製造中預期的質量目標,從而對產品整體進行評估,以確定產品可靠性壽命。

分類


一、軟體可靠性測試
二、硬體可靠性測試

軟體


概念

可靠性測試也稱可靠性評估,指根據產品可靠性結構、壽命類型和各單元的可靠性試驗信息,利用概率統計方法,評估出產品的可靠性特徵量。
軟體可靠性是軟體系統在規定的時間內以及規定的環境條件下,完成規定功能的能力。一般情況下,只能通過對軟體系統進行測試來度量其可靠性。

測試方式

測試可靠性是指運行應用程序,以便在部署系統之前發現並移除失敗。因為通過應用程序的可選路徑的不同組合非常多,所以在一個複雜應用程序中不可能找到所有的潛在失敗。但是,可測試在正常使用情況下最可能的方案,然後驗證該應用程序是否提供預期的服務。如果時間允許,可採用更複雜的測試以揭示更微小的缺陷。
組件壓力測試
壓力測試是指模擬巨大的工作負荷以查看應用程序在峰值使用情況下如何執行操作。利用組件壓力測試,可隔離構成組件和服務、推斷出它們公開的導航方法、函數方法和介面方法以及創建調用這些方法的測試前端。對於那些進入資料庫伺服器或一些其他組件的方法,可創建一個提供所需格式的啞元數據的後端。測試儀器在觀察結果的同時,反覆插入啞元數據。
這裡的想法是在隔離的情況下,對每個組件施加遠超過正常應用程序將經歷的壓力。例如,以儘可能快的速度使用 1 – 10,000,000 循環,查看是否有暴露的問題。單獨測試每個 DLL 可幫助確定組件的失敗總次數。
對於分散式 Web 應用程序,Microsoft 提供“Web 應用程序壓力工具”。有關更多信息,請參見“Microsoft Web Application Stress Tool”(Microsoft Web 應用程序壓力工具).如果您購買了 Visual Studio .NET 企業版,還會提供另一個名為 Application Center Test 的工具,它用來預覽 Application Center 2000 中某些技術的介紹性信息。
集中壓力測試
對每個單獨的組件進行壓力測試后,應對帶有其所有組件和支持服務的整個應用程序進行壓力測試。集中壓力測試主要關注與其他服務、進程以及數據結構(來自內部組件和其他外部應用程序服務)的交互。
集中測試從最基礎的功能測試開始。您需要知道編碼路徑和用戶方案、了解用戶試圖做什麼以及確定用戶運用您的應用程序的所有方式。
測試腳本應根據預期的用法運行應用程序。例如,如果您的應用程序顯示 Web 頁,而且 99% 的客戶只是搜索該站點、只有 1% 的客戶將真正購買,這使得提供對搜索和其他瀏覽功能進行壓力測試的測試腳本才有意義。當然,也應對購物車進行測試,但是預期的使用暗示搜索測試應在測試中占很大比重。
在日程和預算允許的範圍內,應始終儘可能延長測試時間。不是測試幾天或一周,而是要延續測試達一個月、一個季度或者一年之久,並查看應用程序在較長時期內的運行情況。
真實環境測試
在隔離的受保護的測試環境中可靠的軟體,在真實環境的部署中可能並不可靠。雖然隔離測試在早期的可靠性測試進程中是有用的,但真實環境的測試環境才能確保并行應用程序不會彼此干擾。這種測試經常發現與其他應用程序之間的意外的導致失敗的交互。
需要確保應用程序能夠在真實環境中運行,即能夠在具有所有預期客戶事件配置文件的伺服器空間中,使用最終配置條件運行。測試計劃應包括在最終目標環境中或在儘可能接近目標環境的環境中運行應用程序。這一點通常可通過部分複製最終環境或小心地共享最終環境來完成。
隨機破壞測試
測試可靠性的一個最簡單的方法是使用隨機輸入。這種類型的測試通過提供虛假的不合邏輯的輸入,努力使應用程序發生故障或掛起。輸入可以是鍵盤或滑鼠事件、程序消息流、Web 頁、數據緩存或任何其他可強制進入應用程序的輸入情況。應該使用隨機破壞測試測試重要的錯誤路徑,並公開軟體中的錯誤。這種測試通過強制失敗以便可以觀察返回的錯誤處理來改進代碼質量。
隨機測試故意忽略程序行為的任何規範。如果該應用程序中斷,則未通過測試。如果該應用程序不中斷,則通過測試。這裡的要點是隨機測試可高度自動化,因為它完全不關心基礎應用程序應該如何工作。
可能需要某種測試裝備,以驅使混亂的、高壓力的、不合邏輯的測試事件進入應用程序的介面中。Microsoft 使用名為“注射器”的工具,使得以將錯誤注射到任何 API 中,而無需訪問源代碼。“注射器”可用於:模擬資源失敗,修改調用參數,注射損壞的數據,檢查參數驗證界限,插入定時延遲,以及執行許多其他功能。

硬體


產品在設計、應用過程中,不斷經受自身及外界氣候環境及機械環境的影響,而仍需要能夠正常工作,這就需要以試驗設備對其進行驗證,這個驗證基本分為研發試驗、試產試驗、量產抽檢三個部分。可靠性試驗包括:老化試驗、溫濕度試驗、氣體腐蝕試驗、機械振動試驗、機械衝擊試驗、碰撞試驗和跌落試驗、防塵防水試驗以及包裝壓力試驗等多項環境可靠性試驗。

項目


可靠性測試是為了保證產品在規定的壽命期間內,在預期的使用、運輸或儲存等所有環境下,保持功能可靠性而進行的活動。是將產品暴露在自然的或人工的環境條件下經受其作用,以評價產品在實際使用、運輸和儲存的環境條件下的性能,並分析研究環境因素的影響程度及其作用機理。通過使用各種環境試驗設備模擬氣候環境中的高溫、低溫、高溫高濕以及溫度變化等情況,加速反應產品在使用環境中的狀況,來驗證其是否達到在研發、設計、製造中預期的質量目標,從而對產品整體進行評估,以確定產品可靠性壽命。