面向物件分析與設計 - 測試與質量保證



程式程式碼編寫完成後,必須進行測試以檢測並隨後處理其中的所有錯誤。測試目的採用多種方案。

另一個重要方面是程式的適用性,它確定程式是否達到了其目標。適用性定義了軟體質量。

面向物件系統的測試

測試是軟體開發過程中的持續活動。在面向物件系統中,測試包含三個級別:單元測試、子系統測試和系統測試。

單元測試

在單元測試中,測試各個類。檢視類屬性是否按設計實現,以及方法和介面是否無錯誤。單元測試是實現結構的應用工程師的責任。

子系統測試

這涉及測試特定的模組或子系統,是子系統負責人的責任。它包括測試子系統內的關聯以及子系統與外部的互動。子系統測試可用作每個新發布的子系統版本的迴歸測試。

系統測試

系統測試涉及對整個系統進行測試,這是質量保證團隊的責任。在組裝新版本時,團隊經常將系統測試用作迴歸測試。

面向物件測試技術

灰盒測試

可以為測試面向物件程式而設計的不同型別的測試用例稱為灰盒測試用例。一些重要的灰盒測試型別包括:

  • 基於狀態模型的測試 - 這包括狀態覆蓋、狀態轉換覆蓋和狀態轉換路徑覆蓋。

  • 基於用例的測試 - 測試每個用例中的每個場景。

  • 基於類圖的測試 - 測試每個類、派生類、關聯和聚合。

  • 基於序列圖的測試 - 測試序列圖中訊息中的方法。

子系統測試技術

子系統測試的兩種主要方法是:

  • 基於執行緒的測試 - 整合和測試實現子系統中單個用例所需的所有類。

  • 基於使用的測試 - 測試每個層次結構級別上的模組的介面和服務。測試從單個類開始,到包含類的較小模組,逐步到較大的模組,最後到所有主要子系統。

系統測試類別

  • Alpha測試 - 由開發軟體的組織內的測試團隊執行。

  • Beta測試 - 由選擇的合作客戶組執行。

  • 驗收測試 - 客戶在接受交付物之前執行。

軟體質量保證

軟體質量

Schulmeyer和McManus將軟體質量定義為“整個軟體產品的適用性”。高質量的軟體正是它應該做的,並根據使用者規定的需求規範的滿足程度來解釋。

質量保證

軟體質量保證是一種確定軟體產品適用程度的方法。確定軟體質量所包含的活動包括:

  • 審計
  • 制定標準和指南
  • 製作報告
  • 審查質量體系

質量因素

  • 正確性 - 正確性決定軟體需求是否得到適當滿足。

  • 可用性 - 可用性決定不同類別的使用者(初學者、非技術人員和專家)是否可以使用該軟體。

  • 可移植性 - 可移植性決定軟體是否可以在具有不同硬體裝置的不同平臺上執行。

  • 可維護性 - 可維護性決定糾正錯誤和更新模組的難易程度。

  • 可重用性 - 可重用性決定模組和類是否可以重用於開發其他軟體產品。

面向物件度量

度量可以大致分為三類:專案度量、產品度量和過程度量。

專案度量

專案度量使軟體專案經理能夠評估正在進行的專案的狀況和績效。以下度量適用於面向物件的軟體專案:

  • 場景指令碼數量
  • 關鍵類數量
  • 支援類數量
  • 子系統數量

產品度量

產品度量衡量已開發軟體產品的特性。適用於面向物件系統的產品度量包括:

  • 每個類的方案數 - 它決定類的複雜性。如果假設類的所有方法都同樣複雜,那麼具有更多方法的類更復雜,因此更容易出錯。

  • 繼承結構 - 具有多個小型繼承格的系統比具有單個大型繼承格的系統結構更好。根據經驗,繼承樹不應超過 7 (± 2) 個級別,並且樹應保持平衡。

  • 耦合和內聚 - 具有低耦合和高內聚的模組被認為設計更好,因為它們允許更大的可重用性和可維護性。

  • 類的響應 - 它衡量由類例項呼叫的方法的效率。

過程度量

過程度量有助於衡量過程的執行情況。它們在長期內收集所有專案的資料。它們被用作長期軟體過程改進的指標。一些過程度量包括:

  • 千行程式碼 (KLOC) 數量
  • 缺陷去除效率
  • 測試期間檢測到的平均故障數量
  • 每千行程式碼的潛在缺陷數量
廣告