軟體測試與可靠性評估方法研究

2022-05-05 18:54:12 字數 1622 閱讀 4470

軟體測試(software testing)是軟體生存期(software life cycle)中的乙個重要階段,是軟體質量保證的關鍵步驟。通俗地講,軟體測試就是在軟體投入執行前,對軟體需求分析、設計規格說明和編碼進行最終複審的活動。2023年ieee提出的軟體工程術語中給軟體測試下的定義是:「使用人工或自動的手段來執行或測定某個軟體系統的過程,其目的在於檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別」。這個定義明確指出:軟體測試的目的是為了檢驗軟體系統是否滿足需求。

從使用者的角度來看,普遍希望通過軟體測試暴露軟體中隱藏的錯誤和缺陷,所以軟體測試應該是「為了發現錯誤而執行程式的過程」。或者說,軟體測試應該根據軟體開發各階段的規格說明和程式的內部結構而精心設計一批測試用例(即輸入資料及其預期的輸出結果),並利用這些測試用例去執行程式,以發現程式錯誤或缺陷。

二.軟體測試的生命週期

測試主要依據是被試系統的研製任務書和技術規格書,是對軟體整體功能和效能的綜合測試與評估。測試原理是軟體測試活動的理論基礎,測試方法是測試原理的實際應用和獲得測試資料的手段。基於軟體的共性,對於軟體的測試要遵循一般軟體的測試原理和方法。同時,針對軟體的特性,必須找到合適的測試方法。測試用例的合理性對於軟體的測試與評估具有關鍵作用,而如何使設計的用例合情、合理並且典型有效並不容易。所以應該與軟體的研製人員以及終端使用者一起,有針對性地研究實際操作環境並加以描述,形成合理的測試用例集。另一方面,軟體執行環境的複雜程度對軟體評估具有重要作用,所以應產生盡量逼真的執行背景以便於研究。軟體測試的週期如圖1所示。

實踐證明,儘管人們在開發軟體的過程中使用了許多保證軟體質量的方法和技術,但開發出的軟體中還會隱藏許多錯誤和缺陷。這對於規模大、複雜性高的軟體更是如此。所以,嚴格的軟體測試對於保證軟體質量具有重要作用。

圖1 軟體測試的生命週期

軟體測試在軟體生存期中橫跨兩個階段。在軟體編碼階段,當編寫出乙個模組後,通常要對它進行必要的測試(稱為單元測試),這時測試與編碼屬於同乙個階段。在編碼階段結束後,對軟體系統還要進行各種綜合測試(整合測試與系統測試),這是乙個獨立階段,即軟體測試階段。在這個測試階段又有兩種性質不同的測試:研製單位內部進行的整合測試和系統測試與使用者(或第三方)進行的驗收性測試。

在軟體測試生命週期內,錯誤在軟體開發的每個階段都可能被帶入。在軟體測試中,某些錯誤被發現、分類、隔離,最終被糾正。由於軟體不斷被修改,所以這個過程是乙個反覆進行的過程。

三.測試方法和流程

軟體測試方法主要有黑箱測試方法與白箱測試兩類。黑箱測試又稱功能測試、資料驅動測試或基於規格說明的測試,是在完全不考慮程式內部結構和內部特性的情況下,檢查輸入與輸出之間關係是否符合要求。

白箱測試又稱結構測試、邏輯驅動測試或基於程式的測試,是在已知程式內部結構的情況下設計測試用例的測試方法。顯然,白箱測試適合在單元測試中運用,而在獨立測試階段多採用黑箱測試方法。

測試用例(test case)實際上是對軟體執行過程中所有可能存在的目標、運動、行動、環境和結果的描述,是對客觀世界的一種抽象。設計測試用例即設計針對特定功能或組合功能的測試方案,並編寫成文件。測試用例應該體現軟體工程的思想和原則。測試用例的選擇既要有一般情況,也應有極限情況以及最大和最小的邊界值情況。因為測試的目的是暴露應用軟體中隱藏的缺陷,所以在設計選取測試用例和資料時要考慮那些易於發現缺陷的測試用例和資料,結合複雜的執行環境,在所有可能的輸入條件和輸出條件中確定測試資料,來檢查應用軟體是否都能產生正確的輸出。

軟體可靠性測試

軟體可靠性測試的目的 軟體可靠性測試的主要目的有 1 通過在有使用代表性的環境中執行軟體,以證實軟體需求是否正確實現。2 為進行軟體可靠性估計採集準確的資料。估計軟體可靠性一般可分為四個步驟,即數 據採集 模型選擇 模型擬合以及軟體可靠性評估。可以認為,資料採集是整個軟體可靠性 估計工作的基礎,資料...

軟體效能測試與可靠性測試

效能測試 1.軟體效能測試包括三個目標 發現缺陷 效能調優 能力檢驗與規劃 2.軟體效能的主要指標有 響應時間 系統響應時間和應用延遲時間 吞吐量 併發使用者數 資源利用率 3.系統的響應時間通常是指該系統所有功能的平均響應時間或者所有功能的最大響應時間 4.對於無併發的應用系統而言,吞吐量與響應時...

軟體效能測試與可靠性測試

效能測試 1.軟體效能測試包括三個目標 發現缺陷 效能調優 能力檢驗與規劃 2.軟體效能的主要指標有 響應時間 系統響應時間和應用延遲時間 吞吐量 併發使用者數 資源利用率 3.系統的響應時間通常是指該系統所有功能的平均響應時間或者所有功能的最大響應時間 4.對於無併發的應用系統而言,吞吐量與響應時...