天天看點

軟體測試基礎——理論知識

(一)軟體測試的過程:

1、分析測試需求

  • 測試人員對使用者的需求進行分析,了解軟體要做什麼,怎麼做,進而确定将來怎麼 測試。
  • 測試第一個任務是需求分析
    • 測試需求分析要做好
    • 時刻都要提醒自己考慮使用者需求
    • 制造缺陷的罪魁禍首不是程式員
    • 做好需求評審
    • 審查所做的内容是否符合使用者的需求

2 編寫測試計劃

  • 測試負責人編寫測試計劃;
  • 測試計劃的内容

    包含産品概述、測試範圍/測試區域/測試項、 測試目标/被測特征、測試優先 級、測試配置/測試資源(硬體、軟體、人力、技術等)、測試周期、進度安 排(測試任務、人員安排)、 測試政策、測試方法/途徑、測試交流、風險分 析、測試标準、需傳遞文檔等内容。

3 設計與編寫測試用例

  • 設計用例主要反映在編寫測試點上;
  • 根據公司格式或者選擇一些模闆編寫測試用例。

4 執行測試

  • 搭建測試環境;
  • 執行測試用例,記錄測試事件;
  • 送出和跟蹤缺陷。

5 評估與總結

  • 分析實際測試與計劃的偏差;
  • 收集并送出各種測試文檔和資料,對資料進行分析;
  • 給出是否繼續測試還是終止測試結論;
  • 總結經驗教訓

(二)常見的測試模型

  • V 模型
  • W 模型
  • H 模型
  • X 模型
  • 前置模型
  • 靈活測試模型

V 模型

軟體測試基礎——理論知識

(1)優點:

- V 模型明确地将測試分為不同的級别或階段。

- 每個階段都與開發的各階段相對應。

- V 模型的測試政策包括低層測試和高層測試,低層測試是為了源代碼的正确 性,高層測試是為了整個系統滿足使用者的需求。

(2)缺點:

  • 測試是開發之後的一個階段。實際應用中容易導緻需求階段的錯誤一直到最後 系統測試階段才被發現。
  • 測試的對象就是程式本身。忽視了測試活動對需求分析,系統設計等活動的驗證和确認的功能,直到後期的驗收測試才被發現。
  • 過程是線性的、順序的,不能反複和疊代。

W 模型

軟體測試基礎——理論知識

(1)優點:

  • W 模型從 V 模型演化過來,實際上開發是 V,測試是并行的 V,測試與開發 同步進行,有利于盡早地全面的發現問題。
  • 測試伴随整個軟體開發周期。
  • 測試的對象不僅僅是程式,需求、設計等同樣要測試。

(2)缺點:

  • W 模型中,需求、設計、編碼等活動被視為串行的,同時,測試和開發活動 也保持着一種線性的前後關系,上一階段完全結束,才可正式開始下一個階段 工作。這樣就無法支援疊代的開發模型。

H 模型

軟體測試基礎——理論知識
  • 它将測試活動完全獨立出來,形成一個完全獨立的流程,将測試準備活動和測 試執行活動清晰地展現出來。測試貫穿産品整個生命周期,與其他流程并發地 進行。
  • 軟體測試不僅僅指測試的執行,還包括很多其他的活動(計劃、需求分析、用 例設計、環境搭建、送出缺陷、評估總結等)。
  • 當某個測試時間點就緒時,軟體測試即從測試準備階段進入測試執行階段。
  • 軟體測試要盡早準備,盡早執行。
  • 軟體測試是根據被測物的不同而分層次進行的。不同層次的測試活動可以是按 照某個次序先後進行的,但也可能是反複的。

X 模型 (不需要掌握)

與W模型一樣,為解決V模型的缺點而提出的。

軟體測試基礎——理論知識

前置模型

軟體測試基礎——理論知識

靈活測試模型

  • 靈活測試是協同測試的一種形式,程式員結對程式設計,程式員分飾測試員角色, 靈活測試是連續測試。
  • 靈活測試側重單元測試和驗收測試。單元測試的過程是先設計單元測試用例, 然後進行編碼,之後執行測試。
  • 靈活測試強調客戶參與,單元測試通過之後代碼內建到代碼庫中,再由客戶進 行驗收測試。