可靠性測試教程(什麼是,方法,工具,示例)
在給定環境中,軟體在一段時間內無故障執行的可能性定義為可靠性。
在當今這個機械化的環境中,人們天真地相信任何程式。人們認為軟體系統產生的任何結果都是正確的,因此他們遵循它。這是一個我們都會犯的常見錯誤。
使用者相信顯示的資料是正確的,並且軟體將始終正常工作。這就是可靠性測試需求產生的原因。
可靠性測試
可靠性測試是一種軟體測試程式,用於確定軟體是否可以在給定環境中在一段時間內無故障執行。可靠性測試確保軟體產品沒有錯誤,並且能夠執行其預期功能。
可靠性從字面上理解為“產生相同的結果”。換句話說,“可靠”一詞表明某事物值得信賴,並且每次都會提供相同的結果。可靠性測試也是如此。
可靠性測試何時發揮作用?
以下是可靠性測試的目標 -
找出重複故障的模式。
確定在給定時間段內發生的故障次數。
確定故障的主要原因
在修復錯誤後,對軟體程式的多個元件執行效能測試。
測試用例應以涵蓋軟體所有方面的方式編寫。應定期執行測試用例,以便我們可以將當前結果與先前結果進行比較,並檢視是否存在任何差異。如果它產生相同或相似的結果,則認為軟體是值得信賴的。
我們還可以透過執行測試用例一段時間並檢視在此時間段後結果是否在沒有任何錯誤的情況下正確顯示來測試可靠性。在執行可靠性測試時,我們必須驗證環境限制,例如記憶體洩漏、電池電量低、網路連線不良、資料庫問題等。
可靠性測試示例
零售 PC 在 8 小時內不崩潰的可能性為 99%,這稱為可靠性。可靠性測試分為三類。
建模
測量
改進
可以使用以下公式計算故障的可能性。
機率 = 故障例項數 / 評估的案例總數
影響軟體可靠性的因素
軟體中缺陷的總數。
人們與系統互動的方式
可靠性測試是提高軟體質量的關鍵之一。此測試有助於檢測軟體設計和功能中的許多缺陷。
可靠性測試的基本目標是檢視軟體是否滿足客戶的可靠性要求。
將有多個可靠性測試階段。在單元、元件、子系統和系統級別,將對複雜系統進行測試。
可靠性測試型別
功能測試 此測試評估適當性,或應用程式是否按預期用於其預期用途。它將在此處檢查應用程式的互操作性,以便使用與其互動的其他元件和系統對其進行測試。它透過檢查在 Beta 測試期間發現的缺陷來確保系統的準確性。除此之外,它還檢查安全性和合規性。安全測試關注的是防止對應用程式的意外或故意未經授權的訪問。我們將透過檢視應用程式是否滿足特定標準(例如標準、規則等)來驗證合規性。
壓力測試 負載測試將確定系統相對於其他系統或效能的執行情況。它還取決於使用系統的併發使用者數量以及系統對使用者的行為。系統必須及時響應使用者命令(例如 5 秒)並滿足使用者期望。
迴歸測試 迴歸測試將確定系統是否正常執行,以及由於安裝新的軟體功能是否引入了任何缺陷。當修復錯誤並且測試人員需要重新測試它時,也會執行此操作。
如何測試可靠性
與其他型別的測試相比,可靠性測試成本更高。因此,在執行可靠性測試時,適當的計劃和管理至關重要。其中包括將使用的測試過程、測試環境的資料、測試計劃和測試點等。
要開始可靠性測試,測試人員必須跟蹤以下專案 -
設定可靠性目標。
建立您的操作配置檔案
計劃和執行測試
根據測試結果做出判斷。
正如我們之前所述,我們可以透過建模、測量和改進三個類別來執行可靠性測試。
以下是可靠性測試中的重要引數 -
無故障執行的可能性
無故障執行的持續時間
執行它的環境
軟體建模(步驟 1) 建模技術分為兩類 -
預測建模
估計建模
可以使用適當的模型來產生有意義的結果。
為了簡化問題,可以使用假設和抽象,但沒有一個模型適合所有場景。
以下是在這兩種模型之間主要區別 -
問題 | 預測模型 | 估計模型 |
---|---|---|
資料參考 | 它基於歷史資料。 | 它利用來自軟體開發過程的最新資料。 |
在開發週期中使用時 | 它通常在開發和測試階段之前開發。 | 它最常用於軟體開發生命週期的末期。 |
時間範圍 | 它將能夠預測未來的可靠性。 | 它將預測現在或將來的可靠性。 |
測量(步驟 2)
由於無法直接測試軟體可靠性,因此會考慮各種因素來評估軟體可靠性。目前有四種軟體可靠性測量方法 -
產品指標 產品指標由四種不同類別的組成 -
軟體大小 - 程式碼行數 (LOC) 方法是一種估算軟體大小的簡單方法。此度量僅計算原始碼;不包括註釋和其他非可執行語句。
功能點指標 - 功能點指標是一種評估軟體開發功能的方法。它將考慮輸入、輸出、主檔案等的數量。它獨立於程式語言,並衡量提供給使用者的功能。
複雜性 - 它與軟體可靠性直接相關;因此,描述複雜性至關重要。面向複雜性的指標透過將程式碼轉換為圖形表示來確定程式控制結構的難度。
測試覆蓋率指標 - 它是透過充分評估軟體產品來查詢軟體產品中故障和可靠性的一種方法。軟體可靠性是確定系統是否已充分驗證和測試的能力。
專案管理指標 研究人員發現,良好的管理可以帶來更高質量的產品。透過採用更好的開發流程、風險管理流程、配置管理流程等,良好的管理可以實現可靠性的提高。
流程指標 該方法對產品的質量有直接影響。可以使用流程指標估算、監控和改進軟體可靠性和質量。
故障和失效指標 故障和失效指標主要用於確定系統是否完全無故障。為了達到此目的,將收集、彙總和分析測試過程中(即交付前)發現的兩種型別的錯誤以及交付後用戶報告的故障。
平均故障間隔時間用於評估軟體可靠性 (MTBF)。MTBF 由以下組成
平均故障時間 (MTTF) 是兩次連續故障之間的時間。
平均修復時間 (MTTR) 是解決問題所需的時間。
MTBF = MTTF + MTTR 是計算最大故障間隔時間的公式。
對於良好的軟體,可靠性是一個介於 0 和 1 之間的數字。
當修復程式中的故障或缺陷時,可靠性會提高。
步驟 3 - 增強
改進完全取決於應用程式或系統中出現的故障,或軟體的功能。改進方法將根據軟體模組的複雜性而有所不同。兩個主要限制,時間和資金,將限制投入到提高軟體可靠性中的工作量。
可靠性測試方法示例
可靠性測試是對應用程式進行全面測試,以在系統釋出之前識別並消除缺陷。
可靠性測試主要有三種方法:
重測信度
平行形式信度
決策一致性
總結
可靠性測試是可靠性工程計劃中必不可少的一部分。更準確地說,它是可靠性工程工作的核心。
此外,在軟體測試期間,可靠性測試主要用於揭示特定的故障模式和其他問題。
在軟體工程中,可靠性測試分為三類。
建模
測量
改進
改進因素對軟體可靠性的影響
軟體中缺陷的總數。
人們與系統互動的方式。