黑盒測試是什么,黑盒測試的方法是什么,如何去做
時間:2020-03-04 22:35:34 | 來源:網(wǎng)絡(luò) 有藍暢整理
軟件測試中,最常聽到“黑盒測試”與“白盒測試”,它們是軟件測試中最基本的測試方法。
今天我們來介紹下黑盒測試:什么是黑盒測試?
黑盒測試是從一種從軟件外部對軟件實施的測試,也稱功能測試或基于規(guī)格說明的測試。其基本觀點是:任何程序都可以看作是從輸入定義域到輸出值域的映射,這種觀點將被測程序看作一個打不開的黑盒,黑盒里面的內(nèi)容(實現(xiàn))是完全不知道的,只知道軟件要做什么。因無法看到盒子中的內(nèi)容,所以不知道軟件是如何實現(xiàn)的,也不關(guān)心黑盒里面的結(jié)構(gòu),只關(guān)心軟件的輸入數(shù)據(jù)和輸出結(jié)果。
檢測軟件功能能否按照需求規(guī)格說明書的規(guī)定正常工作,是否有功能遺漏;
檢測是否有人機交互錯誤,是否有數(shù)據(jù)結(jié)構(gòu)和外部數(shù)據(jù)庫訪問錯誤,是否能恰當?shù)亟邮諗?shù)據(jù)并保持外部信息(如數(shù)據(jù)庫或文件)等的完整性;
檢測行為、性能等特性是否滿足要求等; 檢測程序初始化和終止方面的錯誤等。
黑盒測試優(yōu)點:
① 與軟件具體實現(xiàn)無關(guān),如果軟件實現(xiàn)發(fā)生了變化,測試用例仍可用;
② 設(shè)計黑盒測試用例可以和軟件實現(xiàn)同時進行,因此可壓縮項目總開發(fā)時間。
黑盒測試常用方法
等價類劃分
邊界值分析
因果圖
決策表分析
等價類劃分
完全不考慮程序的內(nèi)部結(jié)構(gòu),只根據(jù)程序規(guī)格說明書對輸入范圍進行劃分,把所有可能的輸入數(shù)據(jù),即程序輸入域劃分為若干個互不相交的子集,稱為等價類,然后從每個等價類中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例,進行測試。
劃分原則:區(qū)間、數(shù)值、數(shù)值集合、限制條件或規(guī)則、細分等價類
邊界值分析
邊界值和等價類密切相關(guān),輸入等價類和輸出等價類的邊界是要著重測試的邊界情況。在等價類的劃分過程中產(chǎn)生了許多等價類邊界。邊界是最容易出錯的地方,所以,從等價類中選取測試數(shù)據(jù)時應(yīng)該關(guān)注邊界值。
在等價類劃分基礎(chǔ)上進行邊界值分析測試的基本思想是,選取正好等于、剛剛大于或剛剛小于等價類邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值做為測試數(shù)據(jù)。
對于一個n變量的程序,邊界值分析測試會產(chǎn)生4n+1個測試用例。
因果圖
(1)確定軟件規(guī)格中的原因和結(jié)果。分析規(guī)格說明中哪些是原因(即輸入條件或輸入條件的等價類),哪些是結(jié)果(即輸出條件),并給每個原因和結(jié)果賦予一個標識符。
(2)確定原因和結(jié)果之間的邏輯關(guān)系。分析軟件規(guī)格說明中的語義,找出原因與結(jié)果之間、原因與原因之間對應(yīng)的關(guān)系,根據(jù)這些關(guān)系畫出因果圖。
(3)確定因果圖中的各個約束。由于語法或環(huán)境的限制,有些原因與原因之間、原因與結(jié)果之間的組合情況不可能出現(xiàn)。為表明這些特殊情況,在因果圖上用一些記號表明約束或限制條件。
(4)把因果圖轉(zhuǎn)換為決策表。
(5)根據(jù)決策表設(shè)計測試用例。
決策表分析
在所有的黑盒測試方法中,基于決策表的測試是最嚴格,最具有邏輯性的測試方法。
決策表是把作為條件的所有輸入的各種組合值以及對應(yīng)輸出值都羅列出來而形成的表格。
它能夠?qū)碗s的問題按照各種可能的情況全部列舉出來,簡明并避免遺漏。因此,利用決策表能夠設(shè)計出完整的測試用例集合。
步驟:
(1)列出所有的條件樁和動作樁。
(2)確定規(guī)則的個數(shù)。
(3)填入條件項。
(4)填入動作項,得到初始決策表。
(5)簡化決策表,合并相似規(guī)則。
對于n個條件的決策表,相應(yīng)有2n個規(guī)則
決策表合并原則:即若表中有兩條以上規(guī)則具有相同的動作,并且在條件項之間存在極為相似的關(guān)系,便可以合并。
網(wǎng)站優(yōu)化公司:網(wǎng)站優(yōu)化的作用
如何實現(xiàn)SEO關(guān)鍵詞排名提升成為了企業(yè)亟待解決的問題
提升網(wǎng)站快速排名的SEO策略,讓你的網(wǎng)站名列前茅
打造高效SEO網(wǎng)站系統(tǒng),提升您的在線業(yè)務(wù)