可靠性測試的分類
一、軟件可靠性測試
            二、硬件可靠性測試
軟件可靠性測試
概念
也稱軟件的可靠性評估,指根據軟件系統(tǒng)可靠性結構(單元與系統(tǒng)間可靠性關系)、壽命類型和各單元的可靠性試驗信息,利用概率統(tǒng)計方法,評估出系統(tǒng)的可靠性特征量。
軟件可靠性是軟件系統(tǒng)在規(guī)定的時間內以及規(guī)定的環(huán)境條件下,完成規(guī)定功能的能力。一般情況下,只能通過對軟件系統(tǒng)進行測試來度量其可靠性。
測試方式
測試可靠性是指運行應用程序,以便在部署系統(tǒng)之前發(fā)現(xiàn)并移除失敗。因為通過應用程序的可選路徑的不同組合非常多,所以在一個復雜應用程序中不可能找到所有的潛在失敗。但是,可測試在正常使用情況下最可能的方案,然后驗證該應用程序是否提供預期的服務。如果時間允許,可采用更復雜的測試以揭示更微小的缺陷。
可靠性測試使用組件壓力測試
壓力測試是指模擬巨大的工作負荷以查看應用程序在峰值使用情況下如何執(zhí)行操作。利用組件壓力測試,可隔離構成組件和服務、推斷出它們公開的導航方法、函數方法和接口方法以及創(chuàng)建調用這些方法的測試前端。對于那些進入數據庫服務器或一些其他組件的方法,可創(chuàng)建一個提供所需格式的啞元數據的后端。測試儀器在觀察結果的同時,反復插入啞元數據。
這里的想法是在隔離的情況下,對每個組件施加遠超過正常應用程序將經歷的壓力。例如,以盡可能快的速度使用  1  –  10,000,000  循環(huán),查看是否有暴露的問題。單獨測試每個  DLL  可幫助確定組件的失敗總次數。
對于分布式  Web  應用程序,Microsoft  提供“Web  應用程序壓力工具”。有關更多信息,請參見“Microsoft  Web  Application  Stress  Tool”(Microsoft  Web  應用程序壓力工具).如果您購買了  Visual  Studio  .NET  企業(yè)版,還會提供另一個名為  Application  Center  Test  的工具,它用來預覽  Application  Center  2000  中某些技術的介紹性信息。
            可靠性測試使用集中壓力測試
對每個單獨的組件進行壓力測試后,應對帶有其所有組件和支持服務的整個應用程序進行壓力測試。集中壓力測試主要關注與其他服務、進程以及數據結構(來自內部組件和其他外部應用程序服務)的交互。
集中測試從最基礎的功能測試開始。您需要知道編碼路徑和用戶方案、了解用戶試圖做什么以及確定用戶運用您的應用程序的所有方式。
測試腳本應根據預期的用法運行應用程序。例如,如果您的應用程序顯示  Web  頁,而且  99%  的客戶只是搜索該站點、只有  1%  的客戶將真正購買,這使得提供對搜索和其他瀏覽功能進行壓力測試的測試腳本才有意義。當然,也應對購物車進行測試,但是預期的使用暗示搜索測試應在測試中占很大比重。
在日程和預算允許的范圍內,應始終盡可能延長測試時間。不是測試幾天或一周,而是要延續(xù)測試達一個月、一個季度或者一年之久,并查看應用程序在較長時期內的運行情況。
可靠性測試使用真實環(huán)境測試
在隔離的受保護的測試環(huán)境中可靠的軟件,在真實環(huán)境的部署中可能并不可靠。雖然隔離測試在早期的可靠性測試進程中是有用的,但真實環(huán)境的測試環(huán)境才能確保并行應用程序不會彼此干擾。這種測試經常發(fā)現(xiàn)與其他應用程序之間的意外的導致失敗的交互。
可靠性需要確保應用程序能夠在真實環(huán)境中運行,即能夠在具有所有預期客戶事件配置文件的服務器空間中,使用最終配置條件運行。測試計劃應包括在最終目標環(huán)境中或在盡可能接近目標環(huán)境的環(huán)境中運行應用程序。這一點通??赏ㄟ^部分復制最終環(huán)境或小心地共享最終環(huán)境來完成。
可靠性測試使用隨機破壞測試
測試可靠性的一個最簡單的方法是使用隨機輸入。這種類型的測試通過提供虛假的不合邏輯的輸入,努力使應用程序發(fā)生故障或掛起。輸入可以是鍵盤或鼠標事件、程序消息流、Web  頁、數據緩存或任何其他可強制進入應用程序的輸入情況。應該使用隨機破壞測試測試重要的錯誤路徑,并公開軟件中的錯誤。這種測試通過強制失敗以便可以觀察返回的錯誤處理來改進代碼質量。
隨機測試故意忽略程序行為的任何規(guī)范。如果該應用程序中斷,則未通過測試。如果該應用程序不中斷,則通過測試。這里的要點是隨機測試可高度自動化,因為它完全不關心基礎應用程序應該如何工作。
可能需要某種測試裝備,以驅使混亂的、高壓力的、不合邏輯的測試事件進入應用程序的接口中。Microsoft  使用名為“注射器”的工具,使得以將錯誤注射到任何  API  中,而無需訪問源代碼?!白⑸淦鳌笨捎糜冢耗M資源失敗,修改調用參數,注射損壞的數據,檢查參數驗證界限,插入定時延遲,以及執(zhí)行許多其他功能。
硬件可靠性測試
可靠性測試也稱產品的可靠性評估,產品在規(guī)定的條件下、在規(guī)定的時間內完成規(guī)定的功能的能力。產品在設計、應用過程中,不斷經受自身及外界氣候環(huán)境及機械環(huán)境的影響,而仍需要能夠正常工作,這就需要以試驗設備對其進行驗證,這個驗證基本分為研發(fā)試驗、試產試驗、量產抽檢三個部分。可靠性試驗包括:老化試驗、溫濕度試驗、氣體腐蝕試驗、機械振動試驗、機械沖擊試驗、碰撞試驗和跌落試驗、防塵防水試驗以及包裝壓力試驗等多項環(huán)境可靠性試驗。