黑盒測試的定義:
黑盒測試(功能測試或資料驅動測試):在測試時,把被測程式視為乙個不能開啟的黑盒子,在完全不考慮程式內部結構和內部特性的情況下進行。
靜態黑盒測試方法:文件測試,特別是產品需求文件、使用者手冊、幫助檔案等的審查。
動態黑盒測試方法:通過資料輸入並執行程式來檢驗輸出結果,如功能測試、驗收測試和一些效能測試等。
黑盒測試的目的:
採用黑盒測試的目的主要是在已知軟體產品所應具有的功能 的基礎上進行,
1.檢查程式功能能否按需求規格說明書的規定正常使用,測試各個功能是否有遺漏,檢測效能等特性要求是否滿足。
2.檢測人機互動是否錯誤,檢測資料結構或外部資料庫訪問是否錯誤,程式是否能適當地接收輸入資料而產生正確的輸出結果,並保持外部資訊(如資料庫或檔案)的完整
3.檢測程式初始化和終止方面的錯誤。
黑盒測試的優缺點:
優點:(1)有針對性地尋找問題,並且定位問題更準確。 (2)黑盒測試可以證明產品是否達到使用者要求的功能,符合使用者的工作要求。 (3)能重複執行相同的動作,測試工作中最枯燥的部分可交由機器完成。
缺點:(1)需要充分了解產品用到的技術,測試人員需要具有較多經驗。 (2)在測試過程中很多是手工測試操作。 (3)測試人員要負責大量文件、報表的編制和整理工作。
黑盒測試用例設計方法:
①等價類劃分
等價類劃分法是一種重要的、常用的黑盒測試方法,它將不能窮舉的測試過程進行合理分類,從而保證設計出來的測試用例具有完整性和代表性,把所有可能的輸入資料(有效的和無效的)劃分成若干個等價的子集(稱為等價類),使得每個子集中的乙個典型值在測試中的作用與這一子集中所有其它值的作用相同,可從每個子集中選取一組資料來測試程式。
有效等價類:對於程式的需求規格說明書來說是合理的、有意義的輸入資料組成的集合。利用有效等價類可以檢驗程式是否實現了規格說明書中所要求的功能或效能(正面用例)
無效等價類:與有效等價類正好相反,無效等價類指對程式的規格說明是不合理的或無意義的輸入資料所構成的集合。無效等價類至少應有乙個,也可能有多個。(負面用例)
等價類劃分的原則:
原則1:在輸入條件規定了取值範圍或值的個數的情況下,則可以確立乙個有效等價類和兩個無效等價類。如:在成績表中輸入是學生成績,範圍是0~100。 (~,0)、[0,100]、(100,~)
原則2:在輸入條件規定了輸入值的集合或者規定了「必須如何」的條件的情況下,可確立乙個有效等價類和乙個無效等價類; 如:學生成績在0~100分之間,但是必須大於等於60分才能記為及格。 [0,60),[60,100]
原則3:在輸入條件是乙個布林量的情況下,可確定乙個有效等價類和乙個無效等價類。(true or false)(奇數 和 偶數)
原則4:在規定了輸入資料的一組值(假定n個),並且程式要對每乙個輸入值分別處理的情況下,可確立n個有效等價類和乙個無效等價類。例:輸入條件說明學歷可為:專科、本科、碩士、博士四種之一,則分別取這四個值作為四個有效等價類,另外把四種學歷之外的任何學歷作為無效等價類。
原則5:在規定了輸入資料必須遵守的規則的情況下,可確立乙個有效等價類(符合規則)和若干個無效等價類(從不同角度違反規則)。比如:過馬路時,遇到「紅燈禁行」 有效等價類:所有車輛和行人都停下來(符合規則) 無效等價類:車輛沒有停下來(不符合規則) 行人沒有停下來(不符合規則)
原則6:在確知已劃分的等價類中各元素在程式處理中的方式不同的情況下,則應再將該等價類進一步的劃分為更小的等價類。
②邊界值分析
邊界值分析法利用輸入變數的最小值(min)、略大於最小值(min+)、輸入值域內的任意值(nom)、略小於最大值(max-)和最大值(max)來設計測試用例 4n+1個測試
健壯性測試是作為邊界值分析的乙個簡單的擴充,它除了對變數的5個邊界值分析取值外,還需要增加乙個略大於最大值(max+)以及略小於最小值(min-)的取值,檢查超過極限值時系統的情況。因此,對於有n個變數的函式採用健壯性測試需要6n+1個測試用例。
③決策表法
因果圖和判定表法,如果輸入條件和輸出結果較多的情況下,適合用決策表。因果圖顧名思義就是畫圖。
③-①判定表法:
在所有的黑盒測試方法中,基於判定表的測試是最為嚴格、最具有邏輯性的測試方法。
判定表由4部分組成,即條件樁、動作樁、條件項、動作項,及規則
條件樁:列出了問題的所有條件,通常認為列出的條件的次序無關緊要
動作樁:列出了問題規定可能採取的操作,這些操作的排列順序沒有約束
條件項:列出針對它所列條件的取值,在所有可能情況下的真假值
動作項:列出條件項的各種取值情況下應該採取的動作
規則(條件項和動作項):任何乙個條件組合的特定取值及其相應要執行的操作。在判定表中貫穿條件項和動作項的一列就是一條規則,n個條件的判定表有2的n次方個規則
③-②因果圖法
④錯誤推測法
基於經驗和直覺推測程式中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法。
⑤正交試驗法
⑥場景法
現在的軟體都是用事件來觸發流程的,事件觸發時的情景並成了場景,而同一事件不同的觸發順序和處理結果就形成事件流。
用例場景用來描述流經用例的路徑,從用例開始到結束,遍歷這條路徑上所有基本流和備選流。
配合用例圖使用。
怎樣成為一名厲害的軟體測試工程師?
對於每個軟體測試從業人員來說,成為一名厲害的軟體測試工程師,應該是職業生涯中奮鬥的目標。那麼要想成為一名厲害的測試工程師,需要怎麼做呢?測試,從狹義的角度來講,包括以下這些環節 測試計畫和測試用例編寫 測試執行 質量報告書寫 測試人員一般會在開發階段進行測試計畫和測試用例的編寫和前期準備工作。在測試...
寫給一名軟體測試工程師
你要為自己每一次的懦弱而懺悔 曾經不願承認自己出生於農村,曾經不敢面對自己是一名外包員工,曾經一次次的不甘心自己只是一名 測試工程師 不做失敗者 微軟 ibm oracle 華為等等,這些公司選拔的測試工程師應該都是出類拔萃的人才。可惜不是你,說起你的大學,就想起郭敬明的 一夢三四年 你開始想做測試...
如何成為一名軟體架構師
作為一名軟體架構師具有很好的前景。那麼如何成為一名軟體架構師?無論你是一名剛畢業的新手,還是一名資深的軟體開發工程師,這份指引都會對你有所幫助。koen health公司的軟體架構師jerry clinesmith,在it領域有近20年的開發經驗,是一名頂級的軟體開發專家以及軟體架構師。此次採訪分為...