檢視程式內部**:
黑盒和白盒
黑盒:(功能和效能測試)
不用考慮內部情況,按照程式功能按正常規定使用,檢視程式是否能把輸入資料產生為正確結果
功能測試:
邏輯功能,介面,易用性,安裝,相容性;
效能測試:
一般效能,穩定性,壓力,負載
通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項指標進行測試(處理速度,cpu)
白盒:邏輯覆蓋(語句、分支、條件、判定條件、條件組合)
迴圈覆蓋(簡單、巢狀、串接迴圈)
需要檢查程式內部構造,檢查程式邏輯入手,得出測試資料;開發技能,編寫樁和驅動,基本的測試技術
樁:代替被呼叫軟體的元件
驅動:代替呼叫軟體的元件
按照軟體開發階段:
單元測試、整合系統測試和驗收測試
單元測試:
對軟體中最小可測試的單元進行檢查和驗證;目的是檢驗軟體基本組成的正確性
(白盒測試技術,動態測試的組成部分;好的單元測試會發現大部分bug;)
需要具備:編碼能力、測試技術、單元測試工具
缺點:介面問題和大環境問題無法發現
整合測試:
測試單元模組組裝成系統或子系統再進行測試;目的是檢查單元之間的介面是否正確
介面測試、互動測試
自頂向下,自底向上
自底向上的整合是從最底層模組(即葉子節點)開始,按照呼叫圖的結構,從上而下,逐層將各模組組裝起來。在從下而上的整合測試環境中,需對哪些未經整合測試的模組開發驅動模組。
自頂向下的整合是從主控模組(主程式,即根節點)開始,按照系統程式結構,沿著控制層從上而下,逐漸將各模組組裝起來。在從上向下的整合測試過程中,需對哪些未經整合的模組開發樁模組。在整合過程中,可以採用寬度優先或深度優先的策略向下推進。
具備技能:編碼技能、介面知識、測試技能、經驗豐富
缺點:元件外的bug,以及對需求的不滿足的bug,無法測出來
系統測試:
將整個軟體系統全部整合好作為乙個整體在測試。驗證軟體系統的正確性和效能是否滿足規定的要求
依據《軟體系統需求規格說明書》
系統需求、功能和非功能性需求和工具的使用
缺點:對使用者需求的理解如果存在錯誤,或者一些隱性需求,可能容易測不出來
驗收測試:
根據使用者需求和業務流程進行的測試,確保系統符合所有驗收標準
驗收測試分為兩種:
α測試和β測試
α測試:flurps(首字母縮寫)
funtion 功能
local 本地化
usable 可用性
responsiblity 可靠性
performance 效能
support 支援
α測試:
α測試是由使用者在開發環境下進行的測試,也可以是公司內部的使用者在模擬實際操作環境下進行的測試,檢視發現錯誤並修正,目的是評價軟體產品的flurps
α測試的關鍵在於可能逼真的模擬實際執行環境,使用者對軟體產品的操作要盡可能的涵蓋所有使用者的操作方式
β測試:
經過α測試的版本被稱為β版本,同α測試一樣都是由潛在的客戶進行測試,而不是由產品的開發者進行測試,不同的是,β測試開發者通常不在現場。
β測試發現的bug交給開發修復,然後向全體客戶發布最終的軟體產品。
按照是否需要執行被測軟體角度:
靜態測試和動態測試
靜態測試:
不執行被測軟體,靜態的檢查程式的**或者介面文件可能出現的問題
動態測試:
實際運作被測的軟體,輸入相應的資料,檢視輸入和輸出結果是否一致
按照測試目標的不同:
功能測試和非功能測試
國際標準化組織iso在iso9126中定義了幾個非功能屬性:
1功2可3易4效5維6移
按照測試的執行方式:
手工測試和自動化測試
手工測試:(業務的邏輯)
不借助自動測試工具完成的測試
自動化測試:(測試軟體底層架構)
借助工具進行的測試,測試工具複雜性(缺乏自動化測試人員)
優缺點:
優點: 缺點:
1、節約測試的時間 1、自動化工具不具備普遍性
2、處理精確事務 2、工具的複雜性制約人的使用
3、處理大資料量事務 3、測試工具昂貴
4、產品不穩定時不能使用
注:效能測試:
效能測試是指通過工具模擬多種正常、峰值以及異常負載條件來對系統的各項效能指標進行測試。(比如:處理速度、響應時間、cpu使用、記憶體使用情況等。)
主要考查一些效能指標是否符合使用者要求。
負載測試:(最大承載量)
負載測試是確定在各種工作負載下系統的效能,目標是測試當負載逐漸增加時,系統各項效能指標的變化情況。
壓力測試:
壓力測試是在規定的或超過規定的需求條件下測試元件/系統,以對其進行評估。
為了評價乙個系統或元件達到或超過需求規定的界限時的反應的測試。可以檢查系統在超負荷的情況下的效能反應。
考察測試人員的硬性指標有哪幾種:
缺陷逃逸率:
缺陷逃逸率=(使用者發現的缺陷個數/總共出現的缺陷個數)*100%
測試效率:
測試效率=執行的測試用例個數/測試執行的工作日
其他測試型別:
確認測試、回歸測試、冒煙測試、隨機測試、猴子測試
確認測試:
重新執行上次失敗的測試用例,來驗證是否已經修復
回歸測試:
對軟體修改後在進行測試,目的的是檢測軟體的修改是否準確
冒煙測試:
對軟體大規模測試前,先對軟體的基本功能是否實現進行檢測
隨機測試:(對經驗有要求)
隨機輸入檢測資料進行檢測,保證測試的有機覆蓋
猴子測試:
沒有主觀想法,隨意點,讓意想得到的操作來呈現錯誤
軟體測試分類 按照測試技術劃分
第一種劃分 白盒測試 黑盒測試 灰盒測試 白盒測試 結構測試 通過 對程式內部結構的分析 檢測 來尋找問題。白盒測試可以把程式看成裝在乙個透明的白盒子裡,也就是清楚了解程式結構和處理過程,檢查是否所有的 結構及路徑 都是正確的,檢查軟體內部動作是否按照設計說明的規定正常進行。黑盒測試 通過軟體的 外...
軟體測試分類
白盒測試 走查,審查,技術評審 走查 開發組內部,無計畫,可以自由進行,程度低 審查 開發組內部,有計畫,有正式流程,產出物,程度中 技術評審 開發組,測試組,技術專家,qa,產品經理等,程度高 黑盒測試 邏輯功能,易用性,安裝,相容,效能 兩者區別 1.白盒測試可以提高測試的覆蓋度,白盒測試可以通...
軟體測試分類
整合測試 整合測試也稱聯合測試 組裝測試,將程式模組採用適當的整合策略組裝起來,對系統的介面及整合後的功能進行正確性檢測的測試工作。主要目的是檢查軟體單位之間的介面是否正確。系統測試 將軟體系統看成是乙個系統的測試。包括對功能 效能以及軟體所執行的軟硬體環境進行測試。時間大部分在系統測試執行階段,包...