測試從零開始-No.5-測試的基本概念和分類
軟件測試階段分類
軟件測試按階段,可劃分以下幾類:
單元測試
集成測試
系統測試
回歸測試
單元測試、集成測試、系統測試的比較:
1、測試范疇不同
單元測試屬于白盒測試范疇
集成測試屬于灰盒測試范疇
系統測試屬于黑盒測試范疇
2、測試重點不一樣
單元測試主要測試內部數據結構、邏輯控制、異常處理等
集成測試主要測試模塊間的接口與接口數據傳遞關系,以及模塊組合后的整體功能
系統測試主要測試整個系統相對于需求的符合度
3、檢驗基準不一樣
單元測試主要通過邏輯覆蓋率來評估
集成測試主要通過接口覆蓋率來評估
系統測試主要通過測試用例對需求規格的覆蓋率來評估
測試人員要編寫的主要文檔有哪些?
測試計劃:測試范圍、方法、資源,以及相應測試活動的時間進度安排表的文檔;
測試方案:為完成軟件集成特性的測試而進行的設計測試方法的細節文檔;
測試用例:為完成一個測試項的測試輸入、預期結果、測試執行條件等因素的文檔;
測試報告:執行測試結果的文檔;
測試日報:每天測試執行情況的記錄和總結。
用戶指導手冊:教用戶怎么使用軟件的文檔,用途與我們平常買家電的時候附帶的說明書類似,一般情況下這個不歸測試人員編寫,但是有一些小公司可能會讓測試寫這個文檔。
軟件測試過程的幾個模型,簡單了解一下:
V模型:左到右,描述了開發與測試過程之間的階段對應關系,缺點是不適用于需求變化,靈活性差。
雙V模型/W模型:
優點:測試伴隨整個產品開發周期,測試對象不僅是程序還有需求、設計文檔測試介入較早,及早發現問題,降低修復成本
缺點:實施起來比較復雜,難度大,對于需求階段和設計階段的測試設計要求較高(計算機技術、業務知識、管理能力、測試素質等)
為什么要盡早進行測試工作?
按照被測對象的不同,可以分為:
白盒測試
灰盒測試
黑盒測試
白盒測試是依據被測軟件分析程序內部構造,并根據內部構造設計用例,來對內部控制流程進行測試,可完全不顧程序的整體功能實現情況。白盒測試是基于程序結構的邏輯驅動測試。白盒測試發現問題后解決問題的成本較低。
黑盒測試把被測對象看成一個黑盒,只考慮其整體特性,不考慮其內部具體實現。黑盒測試針對的被測對象可以是一個系統、一個子系統、一個模塊、一個子模塊等。測試人員不需要了解實現的細節,包括特定的編程語言;從用戶的視角進行測試,很容易被大家理解和接受;有助于暴露任何與規格不一致或有歧義的問題;壓力測試和負載測試都屬于黑盒測試。
灰盒測試就是介于白盒和黑盒之間的一種。既要關注整體特性,又要關注內部具體實現。
按照是否運行被測對象,可以劃分為:
靜態測試
動態測試
靜態測試:不運行被測試的軟件系統,而是采用其他手段和技術對被測試軟件進行檢測的一種測試技術。例如:代碼走讀、文檔評審、代碼掃描等都是靜態測試的范疇。
動態測試:按照預先設計的數據和步驟去運行被測軟件系統,從而對被測軟件系統進行檢測的一種測試技術。
按照是否借助工具劃分:
手工測試
自動化測試
人工測試:測試活動(如評審、測試設計、測試執行等)由人來完成,狹義上是指測試執行由人工完成,這是最基本的測試形式
自動化測試:一般是指通過計算機模擬人的測試行為,替代人的測試活動,狹義上是指測試執行由計算機來完成
自動化測試的意義:
提高回歸測試的效率,可以運行更多更頻繁的測試,比如冒煙測試。可以執行手工測試困難或不可能做的測試,比如大量的重復操作或者集成測試。
自動化測試的限制:
不能取代手工測試,自動化測試只能提高測試效率,不能提高測試有效性,即不可能發現更多缺陷,手工測試比自動測試發現的缺陷更多;
對測試設計依賴性極大,測試設計的不好會遺漏問題;工具本身并不具備想象力,自動化測試對軟件開發具有很大的依賴性,開發上出現變更可能導致前面的自動化測試完全失效。
單元測試 自動化測試
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。