最近在看《軟體測試的藝術》,算是對測試有了一點入門。
藉著看書,一邊整理一下自己的思路,也有助於未來可能面試測試類的職位時能清晰地說出對測試的理解。
書中強調的乙個核心觀點是:測試的目的不在於驗證程式的正確性,而在於盡可能的找出程式的缺陷。對「測試成功」的定義也與我們通常理解的「成功」不同,甚至有些違揹我們的心理觀念。書中將軟體測試同醫生給病人看病做了較為恰當的模擬,如果乙個感到身體不適的人去找醫生,如果醫生沒有找到任何**,那麼醫生是不夠稱職的;同樣的,面對乙個規模較大的程式,它必然含有bug(這種論斷想必沒人會懷疑),那麼測試人員的任務就是找到這些bug。
那麼如何找到這些bug呢?那麼首先得對程式的bug進行明確的定義和劃分,才能有的放矢地針對不同型別的bug去運用不同的測試方法。暫時不從系統的層面去談測試(涉及到軟體工程方面的各個環節,屬於高層次的測試分析),而是從乙個程式片段或者程式本身的功能實現上去尋找測試的方法。
測試的主要方法有兩種:白盒測試和黑盒測試。白盒測試是以邏輯為驅動的測試;而黑盒測試是以資料為驅動的測試。有必要針對這兩種測試進行簡要說明:
白盒測試不太關注程式的介面,而關心程式在各種邏輯判斷(if的「是否判斷」,switch的各種case等)下(通過挑選各種測試用例),輸出的結果和預期的差異。針對白盒測試有幾種解讀:
1、語句覆蓋 : 覆蓋所有的語句(太難實現)
2、判定覆蓋 : 所有的判定被覆蓋
3、條件覆蓋 : 所有條件語句被覆蓋
4、判定/條件覆蓋 : 所有判定和條件均覆蓋
5、多重條件覆蓋 : 各種條件之間的組合被覆蓋
6、路徑覆蓋 : 各個路徑被覆蓋(不同於語句覆蓋)
白盒測試只能檢測**是否實現了邏輯(這種邏輯可以通過流程圖體現),但是並沒有檢驗邏輯本身是否體現了程式應該實現的功能。而黑盒測試,則是把程式當作乙個黑盒子去看待,帶入測試用例,執行程式,看程式的輸出是否和介面描述一致。
用於黑盒測試的測試用例可以選取一般功能測試以及邊界條件。(書中提及的因果圖沒細看)
模組測試(單元測試)是針對乙個模組而言的,通常採用先白盒測試再輔以黑盒測試。
(暫時先記這一些,到時候再補充)
《軟體測試》 讀書筆記
黑箱測試 在設計測試的過程中,把軟體系統當做乙個 黑箱 無法了解或使用系統的內部結構統計知識。白箱測試 在設計測試的過程中,設計者可以 看到 軟體系統的內部結構,並使用軟體的內部結構和知識來選擇測試資料及具體的測試方法。功能測試 a.單元測試 b.功能測試 c.整合測試 d.場景測試 e.系統測試 ...
軟體測試 讀書筆記
1.軟體測試背景 2002年,軟體測試進一步定義為 測試是為了度量和提高被測試軟體的質量,對測試軟體進行工程設計 實施和維護的整個生命週期過程 2 軟體缺陷 所有的軟體問題都可以統稱為軟體缺陷,可以從以下五點定義軟體缺陷 軟體未達到產品說明書標明的功能 軟體出現了產品說明書指明不會出現的錯誤 軟體功...
Testing 《軟體測試》讀書筆記(一)
軟體缺陷的正式定義 符合下列5個規則才能叫軟體缺陷 1.軟體未達到產品說明書標明的功能 2.軟體出現了產品說明書指明不會出現的錯誤 3.軟體功能超出產品說明書指明範圍 4.軟體未達到產品說明書雖未指出但應達到的目標 5.軟體測試員認為軟體難以理解 不易使用 執行速度緩慢,或者終端使用者認為不好。軟體...