軟件測試方法課程筆記(1)

舉某些例子, 軟件測試方法有黑盒測試, 白盒測試 按階段來區分的話有單元測試, 集成測試, 系統測試 按目的來分有性能測試

對於測試來說應給出相應的標準來量化, 對頁面應用等測試(自主進行). 最後是軟件測試的自動化以及測試的管理

該課程並不會給出具體的工具, 應該針對應用進行相應的修改

成績劃分(Exam70%, Discussion10%(twice, PPT and report), quiz20%(five times))

1. 概述

1.1 爲何軟件測試是需要的

  • 軟件無處不在
  • 產品的合格率(利用指數函數的性質來說明多部分系統難以完美)
  • 舉出例子說明軟件失效造成的災難
    • North east Black 停電事故
    • Ariane5 爆炸
    • Mars Polar Lander 傳感器失效

(1) 有錯誤的軟件是不安全的 (2) 世界上大部分的經濟損失都是由於軟件失效 (3) 充分的測試可以規避風險 (4) 我們希望軟件是可靠的

1.2 軟件測試的部分內容(什麼是缺陷, 歷史, 概念)

Error, Fault, Failure, Incident都統稱爲缺陷

軟件產品中所存在的問題, 最終表現爲不能滿足客戶的需求

缺陷之定義:

  • 滿足用戶期望與否
  • 非正確執行的可行性
  • 所有類型的軟件問題

缺陷的源頭:

  • 需求定義
  • 設計
  • 實現
  • 支持的系統
  • 軟件測試的完整性
  • 更新迭代

軟件的開發流程都有可能出現缺陷

什麼時候會出現缺陷:

  • 該完成沒有完成
  • 不該完成而去做
  • 沒有提及的去做了
  • 沒有提及但是應該完成的沒有完成
  • ....

大部分情況都會產生缺陷

正確的程序應該具有的特性:

  • 沒有語法問題
  • 運行中沒有明顯問題
  • 沒有不合適的語句
  • 有效的輸入, 正確的輸出
  • 無效的輸入, 正確的輸出
  • 任何可能的輸入, 正確的輸出

軟件質量, 軟件質量保證, 質量控制 (軟件質量的評判是多維度的) 軟件質量保證給出了一系列章程的制訂 質量控制是具體的操作, 是質量保證的具體細節

1.3 軟件測試的定義

首先是定義:

  1. 軟件測試是系統化, 有計劃的行動步驟
  2. 通過測試能夠給出產品和服務質量的相關數據
  3. 測試可以發現用戶期望實現與否
  4. 測試是軟件質量保證的關鍵步驟
  • verification(驗證) 從開發者的角度
  • validation(確認) 從用戶的角度

關於測試的類型有許多種, 包括:

  1. 根據測試生成的源來劃分(C1)
  2. 根據生命週期中所處的位置來劃分(C2)
  3. 根據測試目標(C3)
  4. 根據被測對象的特徵(C4)
  5. 根據模型進行劃分(C5)

C1: 根據需求 --> 黑盒 根據代碼 --> 白盒 根據形式化模型 --> 模型測試 組件接口 --> 接口測試

C2: 編碼 -->單元測試 集成 --> 集成測試 系統集成 --> 系統測試 維護 --> 迴歸測試 發佈之前的版本 --> beta測試

C3: 系統性能 --> 性能測試 etc

測試用例實質上就是一組輸入和輸出, 最後看預期的結果是否相符

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章