《軟體工程》總結——第十章

來源:互聯網
上載者:User

標籤:

本章的主要內容是軟體測試

驗證與確認

      軟體的錯誤

            1. 軟體未達到產品說明書標明的功能;2. 軟體出現了產品說明書指明不會出現的錯誤;3. 軟體功能超出了產品說明書指明的範圍;4. 軟體未達到產品說明書雖未指出單應達到的目標;5. 軟體測試人員認為軟體難以理解、不易使用、運行速度緩慢,或者終端使用者不滿意。

      驗證與確認

            驗證和確認是兩個相互獨立但卻相輔相成的活動,Boehm 對兩者的關係作出如下的描述:驗證:我們是否在正確地製造產品?;確認:我們是否在製造正確地產品?。EagLesone 和 Ridley 把這兩個概念進行了整合,提出:我們是否在保持產品的正確性?。

      V & V 的活動

            驗證和確認在各個階段中制定和管理特定的任務,其活動跨越了軟體的整個生命週期。IEEE Std 1012—1998 給出一個驗證和確認過程。

軟體測試基礎

      什麼是軟體測試

            Glen Myers 對軟體測試提出了以下觀點:1. 測試時一個程式的執行過程,其目的在於發現錯誤;2. 一個好的測試案例很可能是發現至今尚未察覺的錯誤;3. 一個成功的測試案例是發現至今尚未察覺的錯誤的測試。

      軟體測試的基本原則

            1. 應當把“儘早地和不斷地進行軟體測試”作為軟體開發人員的座右銘;2. 程式員應避免檢查自己的程式;3. 在設計測試案例時,應當包括合理地輸入條件和不合理的輸入條件;4. 測試案例應由測試輸入資料和與之對應的預期輸出結果這兩部分組成;5. 充分注意測試中的群集現象;6. 嚴格執行測試計劃,排除測試的隨意性;7. 應當對每一個測試結果做全面檢查;8. 妥善儲存一些測試過程文檔,為維護提供方便。

      軟體測試的軟體開發各階段的關係

            軟體開發從擷取需求、分析設計到編碼實現,是一個自頂向下、逐步精化的過程。而軟體測試過程卻是自底向上,從局部到整體,逐步整合的過程。在開發的不同階段,會出現不同類型的缺陷和錯誤,需要不同的測試技術和方法來發現這些缺陷。

      測試文檔

            1. 測試計劃;2. 測試規範;3. 測試案例;4. 缺陷報告。測試文檔的重要性表現在以下幾個方面:1. 驗證需求的正確性;2. 實驗室檢驗資源;3. 明確任務的風險;4. 產生測試案例;5. 評價測試結果;6. 再測試;7. 決定測試的有效性。

      軟體測試資訊流

            軟體測試時需要以下3類資訊:1. 軟體配置;2. 測試組態;3. 測試載入器。

      軟體測試人員

            人間測試人員需要具備以下能力:1. 溝通能力;2. 移情能力;3. 技術能力;4. 自信心;5. 外交能力;6. 幽默感;7. 很強的記憶力;8. 耐心;9. 懷疑精神;10. 自我督促;11. 洞察力。

軟體測試策略

      單元測試

            1. 模組介面測試;2. 局部資料結構測試;3. 重要執行路經測試;4. 錯誤處理測試;5. 邊界條件測試;6. 單元測試方法。

      整合測試

            1. 自頂向下整合;2. 自底向上整合。

      確認測試

            通過綜合測試之後,軟體已完全組裝起來,介面方面額錯誤也以排除,這時就可以開始對軟體進行最後的確認測試。確認測試主要檢查軟體能否按合約要求進行工作,及是否滿足軟體需求說明書中的確認標準。

      系統測試

            在系統測試之前,軟體工程師應該完成下列工作:1. 為測試軟體系統的輸入資訊設計出錯處理通路;2. 設計測試案例,類比錯誤資料和軟體介面可能發生的錯誤,記錄測試結果,為系統測試提供經驗和協助;3. 參與系統測試的規劃和設計,保證軟體測試的合理性。系統測試包括以下幾個測試:1. 恢複測試;2. 安全性測試;3. 強度測試;4. 效能測試。

      軟體調試

            1. 簡單的調試方法;2. 歸納法調試;3. 演繹法調試;4. 回溯法調試。

軟體測試方法

      靜態測試與動態測試

            靜態測試是指被測試程式不在機器上運行,而是採用人工檢測和電腦輔助靜態分析的手段對程式進行檢測,主要方法包括:1. 人工測試;2. 電腦輔助靜態測試。

            動態測試是指通過運行程式發現錯誤,一般意義上的測試主要是指動態測試。

 

      黑箱測試與白盒測試

            黑箱測試也稱功能測試或資料驅動測試,它是在已知產品所應具有功能的情況下,通過測試來檢測每個功能是否都能正常使用。

            白盒測試也稱結構測試或邏輯驅動測試,它知道產品內部工作過程,可通過測試來監測產品內部動作是否按照按照規格說明的規定正常運行,按照程式內部的結構測試程式,檢驗程式中的每條通路是否都能按預定要求正確工作,而不顧他的功能。

      黑箱測試方法

            1. 等價類別劃分;2. 邊界值分析;3. 狀態測試;4. 失敗條件測試;5. 錯誤推測法。

      白盒測試方法

            1. 邏輯覆蓋;2. 路徑測試。

      程式的靜態測試

            1. 尋找問題;2. 遵守規則;3. 審查準備;4. 編寫報告。

物件導向軟體測試

      物件導向測試類型

            1. 模型測試;2. 類測試;3. 互動測試;4. 系統(子系統)測試;5. 驗收測試;6. 發布測試。

      物件導向測試案例

            1. 日期測試;2. 線性表問題。

      GUI 測試案例

            1. 第一組測試案例:用於測試狀態圖中的3個狀態各自內部轉換;2. 第二組測試案例:用於測試狀態圖中3個狀態各自內部的轉換;3. 第三組測試案例:用於測試加法算式正確性,

軟體測試載入器

      Junit

            基本使用非常簡單,基本步驟如下:1. 建立,從 junit. framework. TestCase 派生 unit test 需要的 test unit;2. 編寫測試方法,提供類似如下函數簽名的測試方法:public void testXXXXX();3. 編譯,書寫完 test case 後,編譯所寫的 test case 類;4. 運行,啟動 junit test runner,運行這個 test case。

      LoadRunner

            LoadRunner 是一種預測系統行為和效能的工業標準級負載測試工具。通過類比上千萬使用者實施並發負載及即時效能檢測的方式來確認和尋找問題,LoadRunner能夠對整個企業架構進行測試。通過使用LoadRunner,企業能最大限度地縮短測試時間,最佳化效能和加速應用系統的發布周期。

《軟體工程》總結——第十章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.