軟體測試其實並不是一個複雜的工序,我看老師的課件,好多什麼原則啊之類的東西,我覺得基本都是廢話,還是測試方法這部分才是最實用的。
關於軟體測試就唯寫這一篇了,下面就總結一下軟體測試方法
1. 黑箱測試和白盒測試。
黑箱測試其實就是說軟體內部代碼本身對我們來說是隱形,我們只能給輸入留,然後查看輸出資料流情況,或者根據事件驅動或客戶需求來查看軟體是否符合需求規格說明書,這種測試也叫功能測試或資料驅動測試。
理想的方法是測試所有的可能輸入組合,但是這是絕對不可能完成的。
白盒測試就是說軟體內部是透明的,我們可以清楚地看到它的邏輯結構,然後選擇測試案例,對所有的邏輯路徑進行測試,以查看每個邏輯點與預期結果是否一致。這種測試也叫做結構測試或邏輯驅動測試。
白盒測試要求所有的邏輯路徑至少被使用一次,邏輯值均要測試真假值,檢查內部結構以保證有效性。
2.靜態測試和動態測試。
靜態測試即直接通讀代碼,並不運行和編譯,一般藉助一些工具對代碼進行掃描,找出不符合規範的部分,根據某種模型評價代碼品質,產生系統的呼叫歷程圖等。靜態測試載入器的代表有:Telelogic公司的Logiscope軟體;PR公司的PRQA軟體。
動態測試則是在代碼中可執行檔中加入一些檢測性代碼,以觀測運行中的資料變化,所以要求程式是啟動並執行。動態測試載入器的代表 有:Compuware公司的DevPartner軟體;Rational公司的Purify系列等。
3.自動化的測試和手動測試。
略了吧。。。
軟體測試的分類,應用一下老師課件裡的圖片:
|
單元測試:就是針對小模組測試,主要通過白盒測試的方法找出錯誤,在開發階段進行。 整合測試:在單元測試的基礎上,將模組組合測試,主要目標是發現模組之間的介面和功能相關性錯誤。 系統測試:將軟體放在整個電腦環境下,包括軟硬體平台、某些支援軟體、資料和人員等,在實際運行環境下進行一系列的測試,包括恢複測試、安全性測試、強度測試和效能測試等 驗收測試:目的是向未來的使用者表明系統能夠像預定要求那樣工作,驗證軟體的功能和效能如同使用者所合理期待的那樣 功能測試:一般須在完成整合測試後進行,而且是針對應用系統進行測試。功能測試是基於產品功能說明書,是在已知產品所應具有的功能,從使用者角度來進行功能驗證,以確認每個功能是否都能正常使用 以上每個階段,都有自己的目標、任務和方法,我也懶得詳細的說了,理論性的東西,說的再多不如自己測試一回來的容易理解。 |
軟體測試的階段:
階 段 |
輸 入 |
輸 出 |
需求分析 |
需求定義, 市場分析文檔, 相關技術文檔 |
市場需求分析會議記要 , 功能設計, 技術設計 |
設計審查 |
市場需求文檔, 技術設計文檔 |
測試計劃, 測試案例 |
功能驗證 |
程式碼完成檔案包,功能詳細設計說明書 最終技術文檔 |
完整測試案例,完備的測試計劃, 缺陷報告, 功能驗證測試報告 |
系統測試 |
代碼修改後的檔案包 完整測試案例,完備的測試計劃 |
缺陷報告 缺陷狀態報表 項目階段報告 |
確認測試 |
程式碼凍結檔案包 確認測試案例 |
缺陷狀態報表 缺陷報告審查 版本審查 |
版本發布 |
代碼發布檔案包 測試計劃檢查清單 |
目前的版本已知問題的清單 版本發布報告 |
軟體測試的基本概念就這麼些了,針對裡面提到的每個概念都有很多內容,寫起來沒完沒了,我還是決定就看一遍得了,不用記下來了。