1)按照測(cè)試技術(shù)劃分
黑盒測(cè)試:功能測(cè)試,必須
白盒測(cè)試:邏輯結(jié)構(gòu)測(cè)試,代碼的邏輯、算法、結(jié)構(gòu)是否正確,要求必須懂得代碼,需要編寫測(cè)試用例,可選
灰盒測(cè)試:介于中間
注意:在單元測(cè)試時(shí),白盒應(yīng)用相對(duì)較多,在集成測(cè)試時(shí),灰盒測(cè)試應(yīng)用相對(duì)較多,在系統(tǒng)、驗(yàn)收測(cè)試時(shí)一般就不會(huì)使用白盒測(cè)試和灰盒測(cè)試了。
2)按是否需要運(yùn)行代碼劃分
靜態(tài)測(cè)試:界面測(cè)試,文檔測(cè)試,代碼測(cè)試【重點(diǎn)關(guān)注代碼的規(guī)范性,一般檢查變量的命名,注釋的頻率,編程的規(guī)范性,不需要寫測(cè)試用例,一般只需要有代碼審查單】
注意:一般經(jīng)常把白盒測(cè)試和靜態(tài)測(cè)試的要素結(jié)合在一起,形成靜態(tài)白盒測(cè)試
動(dòng)態(tài)測(cè)試:運(yùn)行程序進(jìn)行檢查,檢查實(shí)際輸出結(jié)果和預(yù)期結(jié)果是否相符
3)按軟件特性分類
功能測(cè)試
性能測(cè)試
1. 等價(jià)類劃分
常見的軟件測(cè)試面試題劃分等價(jià)類: 等價(jià)類是指某個(gè)輸入域的子集合.在該子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的.并合理地假定:測(cè)試某等價(jià)類的代表值就等于對(duì)這一類其它值的測(cè)試.因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價(jià)類,在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)作為測(cè)試的輸入條件,就可以用少量代表性的測(cè)試數(shù)據(jù).取得較好的測(cè)試結(jié)果.等價(jià)類劃分可有兩種不同的情況:有效等價(jià)類和無效等價(jià)類.
2. 邊界值分析法
邊界值分析方法是對(duì)等價(jià)類劃分方法的補(bǔ)充。測(cè)試工作經(jīng)驗(yàn)告訴我,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤.
使用邊界值分析方法設(shè)計(jì)測(cè)試用例,首先應(yīng)確定邊界情況.通常輸入和輸出等價(jià)類的邊界,就是應(yīng)著重測(cè)試的邊界情況.應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界的值作為測(cè)試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值作為測(cè)試數(shù)據(jù).
3. 錯(cuò)誤推測(cè)法
基于經(jīng)驗(yàn)和直覺推測(cè)程序中所有可能存在的各種錯(cuò)誤, 從而有針對(duì)性的設(shè)計(jì)測(cè)試用例的方法.
錯(cuò)誤推測(cè)方法的基本思想: 列舉出程序中所有可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,根據(jù)他們選擇測(cè)試用例. 例如, 在單元測(cè)試時(shí)曾列出的許多在模塊中常見的錯(cuò)誤. 以前產(chǎn)品測(cè)試中曾經(jīng)發(fā)現(xiàn)的錯(cuò)誤等, 這些就是經(jīng)驗(yàn)的總結(jié)。還有, 輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況。輸入表格為空格或輸入表格只有一行. 這些都是容易發(fā)生錯(cuò)誤的情況??蛇x擇這些情況下的例子作為測(cè)試用例.
4. 因果圖方法
前面介紹的等價(jià)類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系, 相互組合等. 考慮輸入條件之間的相互組合,可能會(huì)產(chǎn)生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價(jià)類,他們之間的組合情況也相當(dāng)多. 因此必須考慮采用一種適合于描述對(duì)于多種條件的組合,相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來考慮設(shè)計(jì)測(cè)試用例. 這就需要利用因果圖(邏輯模型). 因果圖方法最終生成的就是判定表. 它適合于檢查程序輸入條件的各種組合情況.
5. 正交表分析法
有時(shí)候,可能因?yàn)榇罅康膮?shù)的組合而引起測(cè)試用例數(shù)量上的激增,同時(shí),這些測(cè)試用例并沒有明顯的優(yōu)先級(jí)上的差距,而測(cè)試人員又無法完成這么多數(shù)量的測(cè)試,就可以通過正交表來進(jìn)行縮減一些用例,從而達(dá)到盡量少的用例覆蓋盡量大的范圍的可能性。
6. 場(chǎng)景分析方法
指根據(jù)用戶場(chǎng)景來模擬用戶的操作步驟,這個(gè)比較類似因果圖,但是可能執(zhí)行的深度和可行性更好。
白盒測(cè)試用例設(shè)計(jì)的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果
黑盒法用例設(shè)計(jì)的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測(cè)試,以最少的用例在合理的時(shí)間內(nèi)發(fā)現(xiàn)最多的問題
詳細(xì)的描述一個(gè)測(cè)試活動(dòng)完整的過程。1. 項(xiàng)目經(jīng)理通過和客戶的交流,完成需求文檔,由開發(fā)人員和測(cè)試人員共同完成需求文檔的評(píng)審,評(píng)審的內(nèi)容包括:需求描述不清楚的地方和可能有明顯沖突或者無法實(shí)現(xiàn)的功
《全國(guó)計(jì)算機(jī)等級(jí)考試三級(jí)教程軟件測(cè)試》目錄 第1章 軟件測(cè)試的基本概念1.1 軟件質(zhì)量的概念1.1.1 軟件質(zhì)量的定義1.1.2 軟件質(zhì)量的屬性1.1.3 軟件質(zhì)量模型1.1.4 軟件質(zhì)量的度量1.1.5 影響軟件質(zhì)量的主要因素1.2 軟件測(cè)試的概念1.2.1 軟件測(cè)試的定義與目的1.2.2 軟件測(cè)試的原則1.3 軟件的缺陷與錯(cuò)誤1.3.1 軟件缺陷的定義和類型1.3.2 軟件缺陷的級(jí)別1.3.3 軟件缺陷產(chǎn)生的原因1.3.4 軟件缺陷的構(gòu)成第1章 軟件測(cè)試的基本概念1.1 軟件質(zhì)量的概念1.1.1 軟件質(zhì)量的定義1.1.2 軟件質(zhì)量的屬性1.1.3 軟件質(zhì)量模型1.1.4 軟件質(zhì)量的度量1.1.5 影響軟件質(zhì)量的主要因素1.2 軟件測(cè)試的概念1.2.1 軟件測(cè)試的定義與目的1.2.2 軟件測(cè)試的原則1.3 軟件的缺陷與錯(cuò)誤1.3.1 軟件缺陷的定義和類型1.3.2 軟件缺陷的級(jí)別1.3.3 軟件缺陷產(chǎn)生的原因1.3.4 軟件缺陷的構(gòu)成1.3.5 修復(fù)軟件缺陷的代價(jià)1.4 軟件測(cè)試的經(jīng)濟(jì)學(xué)與心理學(xué)1.4.1 軟件測(cè)試的心理學(xué)1.4.2 軟件測(cè)試的經(jīng)濟(jì)學(xué)1.5 軟件質(zhì)量保證1.5.1 軟件質(zhì)量保證概要1.5.2 軟件質(zhì)量保證活動(dòng)的實(shí)施1.5.3 軟件的驗(yàn)證與確認(rèn)1.5.4 驗(yàn)證和確認(rèn)任務(wù)分析 本章小結(jié) 第2章 軟件生存周期中測(cè)試的實(shí)施2.1 軟件開發(fā)階段2.1.1 軟件生存周期2.1.2 軟件測(cè)試的生存周期模型2.1.3 軟件測(cè)試過程模型2.1.4 測(cè)試信息流2.2 需求獲取與分析階段的測(cè)試2.2.1 需求評(píng)審的實(shí)施2.2.2 需求規(guī)格說明的評(píng)審2.2.3 Wiegers 用例與需求評(píng)審表2.2.4 基于原型的測(cè)試2.2.5 基于需求的測(cè)試覆蓋率評(píng)估2.3 設(shè)計(jì)階段的測(cè)試2.3.1 設(shè)計(jì)的測(cè)試因素2.3.2 設(shè)計(jì)評(píng)審的實(shí)施2.3.3 設(shè)計(jì)規(guī)格說明的評(píng)審2.3.4 設(shè)計(jì)元素的覆蓋原則2.4 編程階段的測(cè)試2.4.1 白盒測(cè)試與黑盒測(cè)試2.4.2 源代碼的控制流覆蓋原則2.4.3 源代碼的數(shù)據(jù)流覆蓋原則2.4.4 源代碼的靜態(tài)分析與動(dòng)態(tài)測(cè)試2.5 運(yùn)行和維護(hù)階段的測(cè)試2.6 回歸測(cè)試2.6.1 回歸測(cè)試的概念2.6.2 回歸測(cè)試的類型2.6.3 回歸測(cè)試的時(shí)機(jī)2.6.4 回歸測(cè)試的實(shí)施 本章小結(jié) 第3章 代碼檢查、走查與評(píng)審3.1 桌上檢查3.1.1 桌上檢查的實(shí)施3.1.2 桌上檢查的檢查表3.2 代碼檢查3.2.1 特定的角色和職責(zé)3.2.2 代碼檢查的實(shí)施3.2.3 用于代碼檢查的檢查表3.3 走查3.3.1 特定的角色和職責(zé)3.3.2 走查的實(shí)施3.3.3 走查中的靜態(tài)分析技術(shù)3.4 同行評(píng)審3.4.1 同行評(píng)審的角色和職責(zé)3.4.2 同行評(píng)審的內(nèi)容3.4.3 評(píng)審的方法和技術(shù)3.4.4 評(píng)審工作 本章小結(jié) 第4章 白盒測(cè)試4.1 覆蓋率的概念4.2 邏輯覆蓋4.2.1 語句覆蓋與塊覆蓋4.2.2 判定覆蓋(分支覆蓋)4.2.3 條件覆蓋4.2.4 條件/判定覆蓋4.2.5 條件組合覆蓋4.2.6 路徑覆蓋4.2.7 ESTCA覆蓋4.2.8 LCSAJ覆蓋4.3 路徑測(cè)試4.3.1 分支結(jié)構(gòu)的路徑測(cè)試4.3.2 循環(huán)結(jié)構(gòu)的路徑測(cè)試4.3.3 圈復(fù)雜度與基本路徑測(cè)試4.4 數(shù)據(jù)流測(cè)試4.4.1 定義∕使用測(cè)試的幾個(gè)定義4.4.2 定義∕使用測(cè)試舉例4.4.3 定義∕使用路徑測(cè)試覆蓋指標(biāo)4.5 基于覆蓋的測(cè)試用例選擇4.5.1 覆蓋率的使用4.5.2 使用最少的測(cè)試用例來達(dá)到覆蓋4.6 程序插樁技術(shù)4.6.1 程序插樁4.6.2 用于測(cè)試覆蓋率的程序插樁4.6.3 用于斷言檢測(cè)的程序插樁4.6.4 用于數(shù)據(jù)流異常檢測(cè)的程序插樁 本章小結(jié) 第5章 黑盒測(cè)試5.1 等價(jià)類測(cè)試5.1.1 等價(jià)類的概念5.1.2 等價(jià)類測(cè)試的原則5.1.3 等價(jià)類方法測(cè)試用例設(shè)計(jì)舉例5.2 邊界值分析5.2.1 邊界值分析的概念5.2.2 選擇測(cè)試用例的原則5.2.3 邊界值方法測(cè)試用例設(shè)計(jì)舉例5.3 基于判定表的測(cè)試5.3.1 判定表的概念5.3.2 基于判定表的測(cè)試用例設(shè)計(jì)舉例5.4 基于因果圖的測(cè)試5.4.1 因果圖的適用范圍5.4.2 用因果圖生成測(cè)試用例5.4.3 因果圖法測(cè)試用例設(shè)計(jì)舉例5.5 基于狀態(tài)圖的測(cè)試5.5.1 狀態(tài)圖5.5.2 利用狀態(tài)轉(zhuǎn)換樹生成測(cè)試用例5.5.3 利用狀態(tài)轉(zhuǎn)換表生成測(cè)試用例5.6 基于功能圖的測(cè)試5.6.1 功能圖5.6.2 功能圖法設(shè)計(jì)測(cè)試用例舉例5.7 基于用例和場(chǎng)景的測(cè)試5.7.1 基本流和備選流5.7.2 利用用例和場(chǎng)景設(shè)計(jì)測(cè)試用例的實(shí)例5.8 基于有向圖的測(cè)試用例設(shè)計(jì)5.8.1 使用基于有向圖的測(cè)試的場(chǎng)合5.8.2 基于事務(wù)流建模設(shè)計(jì)測(cè)試用例5.8.3 基于控制流建模設(shè)計(jì)測(cè)試用例5.8.4 基于有向圖設(shè)計(jì)測(cè)試用例的過程5.9 基于正交實(shí)驗(yàn)設(shè)計(jì)法的測(cè)試5.9.1 提取功能說明,構(gòu)造因子/ 狀態(tài)表5.9.2 加權(quán)篩選,生成因素分析表5.9.3 利用正交表構(gòu)造測(cè)試數(shù)據(jù)集5.10 其他黑盒測(cè)試用例設(shè)計(jì)技術(shù) 本章小結(jié) 第6章 單元測(cè)試和集成測(cè)試6.1 單元測(cè)試的基本概念6.1.1 單元測(cè)試的定義6.1.2 單元測(cè)試與集成測(cè)試、系統(tǒng)測(cè)試的區(qū)別6.1.3 單元測(cè)試環(huán)境6.2 單元測(cè)試策略6.2.1 自頂向下的單元測(cè)試策略6.2.2 自底向上的單元測(cè)試策略6.2.3 孤立測(cè)試6.2.4 綜合測(cè)試6.3 單元測(cè)試分析6.3.1 模塊接口6.3.2 局部數(shù)據(jù)結(jié)構(gòu)6.3.3 獨(dú)立路徑6.3.4 出錯(cuò)處理6.3.5 邊界條件6.4 單元測(cè)試的測(cè)試用例設(shè)計(jì)原則6.4.1 單元測(cè)試的測(cè)試用例設(shè)計(jì)步驟6.4.2 單元測(cè)試中的白盒測(cè)試與黑盒測(cè)試6.5 集成測(cè)試的基本概念6.6 集成測(cè)試策略6.6.1 基于分解的集成策略6.6.2 基于功能的集成6.6.3 基于路徑的集成6.6.4 基于調(diào)用圖的集成6.7 集成測(cè)試分析6.7.1 體系結(jié)構(gòu)分析6.7.2 模塊單元分析6.7.3 接口分析6.7.4 風(fēng)險(xiǎn)分析6.7.5 可測(cè)試性分析6.7.6 集成測(cè)試策略分析6.7.7 常見的集成測(cè)試故障6.8 集成測(cè)試的測(cè)試用例設(shè)計(jì)原則6.8.1 集成測(cè)試的測(cè)試用例設(shè)計(jì)步驟6.8.2 場(chǎng)景測(cè)試 本章小結(jié) 第7章 系統(tǒng)測(cè)試7.1 系統(tǒng)測(cè)試概念7.2 系。
軟件測(cè)試分類 軟件測(cè)試是一項(xiàng)復(fù)雜的系統(tǒng)工程,從不同的角度考慮可以有不同的劃分方法,對(duì)測(cè)試進(jìn)行分類是為了更好的明確測(cè)試的過程,了解測(cè)試究竟要完成哪些工作,盡量做到全面測(cè)試。
1,按是否需要執(zhí)行被測(cè)軟件的角度 按是否需要執(zhí)行被測(cè)軟件的角度,可分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試,前者不利用計(jì)算機(jī)運(yùn)行待測(cè)程序而應(yīng)用其他手段實(shí)現(xiàn)測(cè)試目的,如代碼審核。(我認(rèn)為主要是讓測(cè)試人員對(duì)編譯器發(fā)現(xiàn)不了的潛在錯(cuò)誤進(jìn)行分析,如無效的死循環(huán),多余的變量等),而動(dòng)態(tài)測(cè)試則通過運(yùn)行被測(cè)試軟件來達(dá)到目的。
2、按階段劃分: 1 單元測(cè)試 單元測(cè)試是對(duì)軟件中的基本組成單位進(jìn)行的測(cè)試,如一個(gè)模塊、一個(gè)過程等等。它是軟件動(dòng)態(tài)測(cè)試的最基本的部分,也是最重要的部分之一,其目的是檢驗(yàn)軟件基本組成單位的正確性。
因?yàn)閱卧獪y(cè)試需要知道內(nèi)部程序設(shè)計(jì)和編碼的細(xì)節(jié)知識(shí),一般應(yīng)由程序員而非測(cè)試員來完成,往往需要開發(fā)測(cè)試驅(qū)動(dòng)模塊和樁模塊來輔助完成單元測(cè)試。因此應(yīng)用系統(tǒng)有一個(gè)設(shè)計(jì)很好的體系結(jié)構(gòu)就顯得尤為重要。
一個(gè)軟件單元的正確性是相對(duì)于該單元的規(guī)約而言的。因此,單元測(cè)試以被測(cè)試單位的規(guī)約為基準(zhǔn)。
單元測(cè)試的主要方法有控制流測(cè)試、數(shù)據(jù)流測(cè)試、排錯(cuò)測(cè)試、分域測(cè)試等等。 2 集成測(cè)試 集成測(cè)試是在軟件系統(tǒng)集成過程中所進(jìn)行的測(cè)試,其主要目的是檢查軟件單位之間的接口是否正確。
它根據(jù)集成測(cè)試計(jì)劃,一邊將模塊或其他軟件單位組合成越來越大的系統(tǒng),一邊運(yùn)行該系統(tǒng),以分析所組成的系統(tǒng)是否正確,各組成部分是否合拍。集成測(cè)試的策略主要有自頂向下和自底向上兩種。
3 系統(tǒng)測(cè)試 系統(tǒng)測(cè)試是對(duì)已經(jīng)集成好的軟件系統(tǒng)進(jìn)行徹底的測(cè)試,以驗(yàn)證軟件系統(tǒng)的正確性和性能等滿足其規(guī)約所指定的要求,檢查軟件的行為和輸出是否正確并非一項(xiàng)簡(jiǎn)單的任務(wù),它被稱為測(cè)試的“先知者問題”。因此,系統(tǒng)測(cè)試應(yīng)該按照測(cè)試計(jì)劃進(jìn)行,其輸入、輸出和其他動(dòng)態(tài)運(yùn)行行為應(yīng)該與軟件規(guī)約進(jìn)行對(duì)比。
軟件系統(tǒng)測(cè)試方法很多,主要有功能測(cè)試、性能測(cè)試、隨機(jī)測(cè)試等等。 4 驗(yàn)收測(cè)試 驗(yàn)收測(cè)試旨在向軟件的購(gòu)買者展示該軟件系統(tǒng)滿足其用戶的需求。
它的測(cè)試數(shù)據(jù)通常是系統(tǒng)測(cè)試的測(cè)試數(shù)據(jù)的子集。所不同的是,驗(yàn)收測(cè)試常常有軟件系統(tǒng)的購(gòu)買者代表在現(xiàn)場(chǎng),甚至是在軟件安裝使用的現(xiàn)場(chǎng)。
這是軟件在投入使用之前的最后測(cè)試。 5 回歸測(cè)試 回歸測(cè)試是在軟件維護(hù)階段,對(duì)軟件進(jìn)行修改之后進(jìn)行的測(cè)試。
其目的是檢驗(yàn)對(duì)軟件進(jìn)行的修改是否正確。這里,修改的正確性有兩重含義:一是所作的修改達(dá)到了預(yù)定目的,如錯(cuò)誤得到改正,能夠適應(yīng)新的運(yùn)行環(huán)境等等;二是不影響軟件的其他功能的正確性。
6 Alpha 測(cè)試:在系統(tǒng)開發(fā)接近完成時(shí)對(duì)應(yīng)用系統(tǒng)的測(cè)試;測(cè)試后,仍然會(huì)有少量的設(shè)計(jì)變更。這種測(cè)試一般由最終用戶或其他人員員完成,不能由程序員或測(cè)試員完成。
7 Beta 測(cè)試:當(dāng)開發(fā)和測(cè)試根本完成時(shí)所做的測(cè)試,而最終的錯(cuò)誤和問題需要在最終發(fā)行前找到。這種測(cè)試一般由最終用戶或其他人員員完成,不能由程序員或測(cè)試員完成。
3、按測(cè)試方法劃分: 1 白盒測(cè)試 白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,是指基于一個(gè)應(yīng)用代碼的內(nèi)部邏輯知識(shí),即基于覆蓋全部代碼、分支、路徑、條件的測(cè)試,它是知道產(chǎn)品內(nèi)部工作過程,可通過測(cè)試來檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說明書的規(guī)定正常進(jìn)行,按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,檢驗(yàn)程序中的每條通路是否都有能按預(yù)定要求正確工作,而不顧它的功能,白盒測(cè)試的主要方法有邏輯驅(qū)動(dòng)、基路測(cè)試等,主要用于軟件驗(yàn)證?!鞍缀小狈ㄈ媪私獬绦騼?nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試。
“白盒”法是窮舉路徑測(cè)試。在使用這一方案時(shí),測(cè)試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測(cè)試數(shù)據(jù)。
貫穿程序的獨(dú)立路徑數(shù)是天文數(shù)字。但即使每條路徑都測(cè)試了仍然可能有錯(cuò)誤。
第一,窮舉路徑測(cè)試決不能查出程序違反了設(shè)計(jì)規(guī)范,即程序本身是個(gè)錯(cuò)誤的程序。第二,窮舉路徑測(cè)試不可能查出程序中因遺漏路徑而出錯(cuò)。
第三,窮舉路徑測(cè)試可能發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯(cuò)誤。 白盒測(cè)試可以借助一些工具來完成如Junit Framework,Jtest等。
2 黑盒測(cè)試 黑盒測(cè)試是指不基于內(nèi)部設(shè)計(jì)和代碼的任何知識(shí),而基于需求和功能性的測(cè)試,黑盒測(cè)試也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,它是在已知產(chǎn)品所應(yīng)具有的功能,通過測(cè)試來檢測(cè)每個(gè)功能是否都能正常使用,在測(cè)試時(shí),把程序看作一個(gè)不能打開的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測(cè)試者在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。黑盒測(cè)試方法主要有等價(jià)類劃分、邊值分析、因—果圖、錯(cuò)誤推測(cè)等,主要用于軟件確認(rèn)測(cè)試。
“黑盒”法著眼于程序外部結(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)構(gòu)、針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。“黑盒”法是窮舉輸入測(cè)試,只有把所有可能的輸入都作為測(cè)試情況使用,才能以這種方法查出程序中所有的錯(cuò)誤。
實(shí)際上測(cè)試情況有無窮多個(gè),人們不僅要測(cè)試所有。
1、從是否關(guān)心內(nèi)部結(jié)構(gòu)來看 (1)白盒測(cè)試:又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,是一種按照程序內(nèi)部邏輯結(jié)構(gòu)和編碼結(jié)構(gòu),設(shè)計(jì)測(cè)試數(shù)據(jù)并完成測(cè)試的一種測(cè)試方法。
(2)黑盒測(cè)試:又稱為數(shù)據(jù)驅(qū)動(dòng)測(cè)試,把測(cè)試對(duì)象當(dāng)做看不見的黑盒,在完全不考慮程序內(nèi)部結(jié)構(gòu)和處理過程的情況下,測(cè)試者僅依據(jù)程序功能的需求規(guī)范考慮,確定測(cè)試用例和推斷測(cè)試結(jié)果的正確性,它是站在使用軟件或程序的角度,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對(duì)應(yīng)關(guān)系出發(fā)進(jìn)行的測(cè)試。(3)灰盒測(cè)試:是一種綜合測(cè)試法,它將“黑盒”測(cè)試與“白盒”測(cè)試結(jié)合在一起,是基于程序運(yùn)行時(shí)的外部表現(xiàn)又結(jié)合內(nèi)部邏輯結(jié)構(gòu)來設(shè)計(jì)用例,執(zhí)行程序并采集路徑執(zhí)行信息和外部用戶接口結(jié)果的測(cè)試技術(shù)。
2、從是否執(zhí)行代碼看 (1)靜態(tài)測(cè)試:指不運(yùn)行被測(cè)程序本身,僅通過分析或檢查源程序的語法、結(jié)構(gòu)、過程、接口等來檢查程序的正確性。(2)動(dòng)態(tài)測(cè)試:是指通過運(yùn)行被測(cè)程序,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,并分析運(yùn)行效率、正確性和健壯性等性能指標(biāo)。
3、從開發(fā)過程級(jí)別看 (1)單元測(cè)試:又稱模塊測(cè)試,是針對(duì)軟件設(shè)計(jì)的最小單位----程序模塊或功能模塊,進(jìn)行正確性檢驗(yàn)的測(cè)試工作。其目的在于檢驗(yàn)程序各模塊是否存在各種差錯(cuò),是否能正確地實(shí)現(xiàn)了其功能,滿足其性能和接口要求。
(2)集成測(cè)試:又叫組裝測(cè)試或聯(lián)合,是單元測(cè)試的多級(jí)擴(kuò)展,是在單元測(cè)試的基礎(chǔ)上進(jìn)行的一種有序測(cè)試。旨在檢驗(yàn)軟件單元之間的接口關(guān)系,以期望通過測(cè)試發(fā)現(xiàn)各軟件單元接口之間存在的問題,最終把經(jīng)過測(cè)試的單元組成符合設(shè)計(jì)要求的軟件。
(3)系統(tǒng)測(cè)試:是為判斷系統(tǒng)是否符合要求而對(duì)集成的軟、硬件系統(tǒng)進(jìn)行的測(cè)試活動(dòng)、它是將已經(jīng)集成好的軟件系統(tǒng),作為基于整個(gè)計(jì)算機(jī)系統(tǒng)的一個(gè)元素,與計(jì)算機(jī)硬件、外設(shè)、某些支持軟件、人員、數(shù)據(jù)等其他系統(tǒng)元素結(jié)合在一起,在實(shí)際運(yùn)行環(huán)境下,對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的組裝測(cè)試和確認(rèn)測(cè)試。在系統(tǒng)測(cè)試中,對(duì)于具體的測(cè)試類型有:(1)功能測(cè)試:對(duì)軟件需求規(guī)格說明書中的功能需求逐項(xiàng)進(jìn)行的測(cè)試,以驗(yàn)證功能是否滿足要求。
(2)性能測(cè)試:對(duì)軟件需求規(guī)格說明書的功能需求逐項(xiàng)進(jìn)行的測(cè)試,以驗(yàn)證功能是否滿足要求。(3)接口測(cè)試:對(duì)軟件需求規(guī)格說明中的接口需求逐項(xiàng)進(jìn)行的測(cè)試。
(4)人機(jī)交互界面測(cè)試:對(duì)所有人機(jī)交互界面提供的操作和顯示界面進(jìn)行的測(cè)試,以檢驗(yàn)是否滿足用戶的需求。(5)強(qiáng)度測(cè)試:強(qiáng)制軟件運(yùn)行在異常乃至發(fā)生故障的情況下(設(shè)計(jì)的極限狀態(tài)到超出極限),驗(yàn)證軟件可以運(yùn)行到何種程序的測(cè)試。
(6)余量測(cè)試:對(duì)軟件是否達(dá)到規(guī)格說明中要求的余量的測(cè)試。(7)安全性測(cè)試:檢驗(yàn)軟件中已存在的安全性、安全保密性措施是否有效的測(cè)試,(8)可靠性測(cè)試:在真實(shí)的或仿真的環(huán)境中,為做出軟件可靠性估計(jì)而對(duì)軟件進(jìn)行的功能(其輸入覆蓋和環(huán)境覆蓋一般大于普通的功能測(cè)試) (9)恢復(fù)性測(cè)試:對(duì)有恢復(fù)或重置功能的軟件的每一類導(dǎo)致恢復(fù)或重置的情況,逐一進(jìn)行的測(cè)試。
(10)邊界測(cè)試:對(duì)軟件處在邊界或端點(diǎn)情況下運(yùn)行狀態(tài)的測(cè)試。(11)數(shù)據(jù)處理測(cè)試:對(duì)完成專門數(shù)據(jù)處理功能所進(jìn)行的測(cè)試。
(12)安裝性測(cè)試:對(duì)安裝過程是否符合安裝規(guī)程的測(cè)試,以發(fā)現(xiàn)安裝過程中的錯(cuò)誤。(13)容量測(cè)試:檢驗(yàn)軟件的能力最高能達(dá)到什么程度的測(cè)試。
(14)互操作性測(cè)試:為驗(yàn)證不同軟件之間的互操作能力而進(jìn)行的測(cè)試。(15)敏感性測(cè)試:為發(fā)現(xiàn)在有效輸入類中可能引起某種不穩(wěn)定性或不正常處理的某些數(shù)據(jù)的組合而進(jìn)行的測(cè)試。
(16)標(biāo)準(zhǔn)符合性測(cè)試:驗(yàn)證軟件與相關(guān)國(guó)家標(biāo)準(zhǔn)或規(guī)范(如軍用標(biāo)準(zhǔn)、國(guó)家標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)及國(guó)際標(biāo)準(zhǔn))一致性的測(cè)試。(17)兼容性測(cè)試:驗(yàn)證軟件在規(guī)定條件下與若干個(gè)實(shí)體共同使用或?qū)崿F(xiàn)數(shù)據(jù)格式轉(zhuǎn)換時(shí)能滿足有關(guān)要求能力的測(cè)試。
(18)中文本地化測(cè)試:驗(yàn)證軟件在不降低原有能力的條件下,處理中文能力的測(cè)試。4、從執(zhí)行過程是否需要人工干預(yù)來看 (1)手工測(cè)試:就是測(cè)試人員按照事先為覆蓋被測(cè)軟件需求而編寫的測(cè)試用例,根據(jù)測(cè)試大綱中所描述的測(cè)試步驟和方法,手工地一個(gè)一個(gè)地輸 入執(zhí)行,包括與被測(cè)軟件進(jìn)行交互(如輸入測(cè)試數(shù)據(jù)、記錄測(cè)試結(jié)果等),然后觀察測(cè)試結(jié)果,看被測(cè)程序是否存在問題,或在執(zhí)行過程中是否會(huì)有一場(chǎng)發(fā)生,屬于比較原始但是必須執(zhí)行的一個(gè)步驟。
(2)自動(dòng)化測(cè)試:實(shí)際上是將大量的重復(fù)性的測(cè)試工作交給計(jì)算機(jī)去完成,通常是使用自動(dòng)化測(cè)試工具來模擬手動(dòng)測(cè)試步驟,執(zhí)行用某種程序設(shè)計(jì)語言編寫的過程(全自動(dòng)測(cè)試就是指在自動(dòng)測(cè)試過程中,不需要人工干預(yù),由程序自動(dòng)完成測(cè)試的全過程;半自動(dòng)測(cè)試就是指在自動(dòng)測(cè)試過程中,需要手動(dòng)輸入測(cè)試用例或選擇測(cè)試路徑,再由自動(dòng)測(cè)試程序按照人工指定的要求完成自動(dòng)測(cè)試)5、從測(cè)試實(shí)施組織看 (1)開發(fā)測(cè)試:開發(fā)人員進(jìn)行的測(cè)試 (2)用戶測(cè)試:用戶方進(jìn)行的測(cè)試 (3)第三方測(cè)試:有別于開發(fā)人員或用戶進(jìn)行的測(cè)試,由專業(yè)的第三方承擔(dān)的測(cè)試,目的是為了保證測(cè)試工作的客觀性6、從測(cè)試所處的環(huán)境看 (1)阿爾法測(cè)試:是由一個(gè)用戶在開發(fā)環(huán)境下進(jìn)行的測(cè)試,也可以是公司內(nèi)部的用戶在模擬實(shí)際操作環(huán)境下進(jìn)行的測(cè)試 (2)。
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請(qǐng)?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號(hào)-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時(shí)間:2.875秒