一般而言,軟件測(cè)試方法分為黑盒測(cè)試、白盒測(cè)試、灰盒測(cè)試、靜態(tài)測(cè)試、動(dòng)態(tài)測(cè)試、手動(dòng)測(cè)試、自動(dòng)化測(cè)試和探索性測(cè)試等類型。
【1】黑盒測(cè)試
黑盒測(cè)試又稱功能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于需求規(guī)格說明書的功能測(cè)試。該測(cè)試方法驗(yàn)證被測(cè)對(duì)象使用質(zhì)量及外部質(zhì)量表現(xiàn)。
采用黑盒測(cè)試方法,測(cè)試工程師將測(cè)試對(duì)象看作一個(gè)黑盒子,如圖所示,完全不考慮程序內(nèi)部邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)需求規(guī)格說明書、設(shè)計(jì)文檔及其他需求描述文檔,檢查被測(cè)對(duì)象是否與期望需求一致。
測(cè)試工程師無須了解被測(cè)對(duì)象的內(nèi)部構(gòu)造,完全模擬軟件產(chǎn)品的最終用戶使用該軟件,以用戶需求規(guī)格說明書為評(píng)判標(biāo)淮,檢查軟件產(chǎn)品是否滿足了用戶的需求。例如,使用某款社交類工具產(chǎn)品,用戶無須知道該產(chǎn)品如何開發(fā)出來,僅需從使用者角度來使用收發(fā)圖文信息、商品支付等功能即可。測(cè)試過程無須關(guān)注內(nèi)部設(shè)計(jì)信息,所采用的測(cè)試方法就是黑盒測(cè)試。
黑盒測(cè)試方法能更好、更真實(shí)地從用戶角度來考察被測(cè)系統(tǒng)的需求實(shí)現(xiàn)情況。在軟件測(cè)試的各個(gè)階段,如單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試及確認(rèn)測(cè)試等階段中都發(fā)揮著重要作用,尤其是在系統(tǒng)測(cè)試和確認(rèn)測(cè)試中,其作用是其他測(cè)試方法無法取代的。但黑盒測(cè)試方法的弊端也很明顯,由于僅關(guān)注被測(cè)對(duì)象外部特性表現(xiàn),對(duì)于一些結(jié)構(gòu)性、深層次的問題不易揭露,帶來漏測(cè)的潛在風(fēng)險(xiǎn)。
需注意的是,黑盒測(cè)試方法的思想是將被測(cè)對(duì)象作為一個(gè)黑盒子,在系統(tǒng)測(cè)試層面,軟件系統(tǒng)是黑盒子,是測(cè)試工程師的測(cè)試對(duì)象。在單元測(cè)試、集成測(cè)試階段,如果將函數(shù)單元、類文件、接口模塊作為一個(gè)黑盒子,那么使用的測(cè)試方法同樣稱為黑盒測(cè)試,并不能說黑盒測(cè)試方法只能用在系統(tǒng)測(cè)試和驗(yàn)收測(cè)試階段。
【案例:OA 系統(tǒng)圖書管理功能結(jié)構(gòu)圖 】
如圖所示,該功能模塊主要包括“圖書添加”“圖書借閱”“圖書歸還”“圖書類別”“查詢圖書”這5大功能。使用黑盒測(cè)試方法,從用戶應(yīng)用角度來看,可先以系統(tǒng)管理員身份登錄系統(tǒng)測(cè)試〝圖書類別”功能,再以普通用戶視角進(jìn)行“圖書查詢”“圖書借閱”“圖書歸還”,完全模擬用戶使用習(xí)慣。
【2】白盒測(cè)試
白盒測(cè)試,又稱結(jié)構(gòu)測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于程序代碼內(nèi)部構(gòu)成的測(cè)試。此時(shí),測(cè)試工程師需深入考查程序代碼的內(nèi)部結(jié)構(gòu)、邏輯設(shè)計(jì)等。同樣以某款社交工具軟件為例,測(cè)試工程師需了解產(chǎn)品的內(nèi)部設(shè)計(jì)信息,如編碼形式、類文件調(diào)用過程、接口參數(shù)傳遞過程等。
白盒測(cè)試需要測(cè)試工程師具備較深的軟件開發(fā)功底,熟悉相應(yīng)的開發(fā)語(yǔ)言,一般的測(cè)試工程師難以勝任該工作。圖中所示是白盒測(cè)試示意圖,相對(duì)于白盒測(cè)試工程師來說,軟件產(chǎn)品內(nèi)部構(gòu)成是透明的。
【案例:圖書添加功能頁(yè)面對(duì)象檢查功能】
下列代碼是“圖書添加” 功能頁(yè)面對(duì)象檢查功能函數(shù)。從白盒測(cè)試角度而言,測(cè)試工程師僅需關(guān)注此段函數(shù)所能實(shí)現(xiàn)的功能,無須關(guān)注該函數(shù)的外部功能特性。
【3】灰盒測(cè)試
與前面的黑盒測(cè)試、白盒測(cè)試相比,灰盒測(cè)試介于兩者之間。黑盒測(cè)試僅關(guān)注被測(cè)對(duì)象的外部特性(功能、性能、用戶界面、接口)表現(xiàn),不關(guān)注內(nèi)部的邏輯設(shè)計(jì)、構(gòu)成情況,白盒測(cè)試則僅從程序代碼的內(nèi)部構(gòu)成考慮,檢查其內(nèi)部代碼設(shè)計(jì)結(jié)構(gòu)、方法調(diào)用等。兩種方法從相反角度測(cè)試被測(cè)對(duì)象,但相對(duì)來說都比較“偏激”,灰盒測(cè)試則結(jié)合這兩種測(cè)試方法,一方面需要考慮被測(cè)對(duì)象的外部特性表現(xiàn),另一方面又需要考慮程序代碼的內(nèi)部結(jié)構(gòu),如圖所示。
通俗來說,灰盒測(cè)試就是白加黑,性能測(cè)試和自動(dòng)化測(cè)試就采用了灰盒測(cè)試的方法。
【4】靜態(tài)測(cè)試
靜態(tài)測(cè)試顧名思義,就是不執(zhí)行被測(cè)對(duì)象程序代碼、不運(yùn)行被測(cè)對(duì)象而實(shí)施的測(cè)試活動(dòng),是發(fā)現(xiàn)缺陷的過程。靜態(tài)測(cè)試包合閱讀程序代碼、文檔資料等,與需求規(guī)格說明書進(jìn)行比較,找出被測(cè)對(duì)象設(shè)計(jì)、描述、編碼等方面的錯(cuò)誤。
進(jìn)行程序代碼靜態(tài)測(cè)試時(shí),可采用一些代碼走查工具,如 QAC++、C++Test等。需要注意的是,代碼走查工具一般僅能發(fā)現(xiàn)語(yǔ)法或調(diào)用效率方面的問題,很難發(fā)現(xiàn)業(yè)務(wù)邏輯錯(cuò)誤。
以白盒測(cè)試靜態(tài)測(cè)試方法為例,針對(duì)一些功能函數(shù)、類等文件,可進(jìn)行閱讀、分析,發(fā)現(xiàn)被測(cè)對(duì)象中的缺陷。
【5】動(dòng)態(tài)測(cè)試
動(dòng)態(tài)測(cè)試運(yùn)行被測(cè)對(duì)象的程序代碼,執(zhí)行測(cè)試用例,檢查系統(tǒng)軟件運(yùn)行結(jié)果與預(yù)期結(jié)果的差異。通過動(dòng)態(tài)行為分析被測(cè)對(duì)象的正確性、可 靠性和有效性,并分析系統(tǒng)運(yùn)行速度、系統(tǒng)資源耗用等性能狀況。
動(dòng)態(tài)測(cè)試由 4 部分組成:設(shè)計(jì)測(cè)試用例、評(píng)審測(cè)試用例、執(zhí)行測(cè)試用例、輸出測(cè)試報(bào)告。
【6】手工測(cè)試
通過模擬終端用戶的業(yè)務(wù)流程應(yīng)用軟件系統(tǒng),檢查被測(cè)對(duì)象實(shí)際表現(xiàn)與預(yù)期結(jié)果間的差異,測(cè)試工程師手工運(yùn)行被測(cè)對(duì)象,這種模式即為手工測(cè)試。手工測(cè)試是最傳統(tǒng)的測(cè)試方法,也是現(xiàn)在大多數(shù)公司普遍采用的測(cè)試形式。測(cè)試工程師設(shè)計(jì)、執(zhí)行測(cè)試用例,比較實(shí)際結(jié)果與預(yù)期結(jié)果,記錄兩者的差異,最終輸出缺陷報(bào)告和測(cè)試報(bào)告。手工測(cè)試方法可以充分發(fā)揮測(cè)試工程師的主觀能動(dòng)性,將其智力活動(dòng)體現(xiàn)于測(cè)試工作中,能發(fā)現(xiàn)很多的缺陷,但該測(cè)試方法有一定的局限性與單調(diào)枯燥性。當(dāng)測(cè)試周期變長(zhǎng),業(yè)務(wù)重復(fù)性較大時(shí),手工測(cè)試容易變得枯燥乏味。
【7】自動(dòng)化測(cè)試
隨著軟件行業(yè)的不斷發(fā)展,軟件測(cè)試技術(shù)也在不斷地更新,出現(xiàn)了眾多的自動(dòng)化功能測(cè)試工具,如HP 的 Quick Test Professional(最新版本名為 UFT )、開源的 Selenium(見圖)、性能測(cè)試工具如 LoadRunner、JMeter 等。
所謂自動(dòng)化測(cè)試,即利用測(cè)試工具,編程實(shí)現(xiàn)模擬用戶業(yè)務(wù)使用流程的腳本,設(shè)定特定的測(cè)試場(chǎng)景,自動(dòng)尋找缺陷。自動(dòng)化測(cè)試的引入,大大地提高了測(cè)試效率和準(zhǔn)確性,而且封裝性較好的測(cè)試腳本,還可應(yīng)用于其他產(chǎn)品項(xiàng)目。業(yè)內(nèi)通常將自動(dòng)化功能測(cè)試稱為自動(dòng)化,而性能測(cè)試單獨(dú)成體系,不含在自動(dòng)化測(cè)試中。
1. 自動(dòng)化測(cè)試優(yōu)點(diǎn)
自動(dòng)化測(cè)試的優(yōu)點(diǎn)是快速、可重用,替代人的重復(fù)活動(dòng)?;貧w測(cè)試階段,可利用自動(dòng)化測(cè)試工具進(jìn)行,無須大量測(cè)試工程師手動(dòng)重復(fù)執(zhí)行測(cè)試用例,極大地提高了工作效率。有時(shí)做壓力測(cè)試,需要幾萬甚至幾十萬個(gè)用戶同時(shí)訪問某個(gè)站點(diǎn),以保證網(wǎng)站服務(wù)器不會(huì)出現(xiàn)死機(jī)或崩潰現(xiàn)象。一般來說,模擬幾萬人同時(shí)訪問某個(gè)系統(tǒng),通過人工很難實(shí)現(xiàn),但利用測(cè)試工具,如 LoadRunner,可非常容易地做到。
2. 自動(dòng)化測(cè)試缺點(diǎn)
當(dāng)然,自動(dòng)化測(cè)試的缺點(diǎn)也很明顯,它們只能檢查一些比較主要的問題,如崩潰、死機(jī),但卻無法發(fā)現(xiàn)新的錯(cuò)誤。另外,在自動(dòng)測(cè)試中編寫測(cè)試腳本的工作量也很大,有時(shí)該工作量其至超過了手動(dòng)測(cè)試的時(shí)間。
在自動(dòng)化測(cè)試活動(dòng)中,測(cè)試工具的應(yīng)用,可以提高測(cè)試質(zhì)量、測(cè)試效率。但在選擇和使用測(cè)試工具時(shí),也應(yīng)該看到在測(cè)試過程中,并不是所有的測(cè)試工具都適合引入;同時(shí),即使有了測(cè)試工具,會(huì)使用測(cè)試工具,也不等于測(cè)試工具真正能在測(cè)試中發(fā)揮作用。
因此,應(yīng)該根據(jù)實(shí)際情況選擇測(cè)試工具,選擇使用何種測(cè)試工具,千萬不可為了使用工具而刻意地使用工具。在目前軟件系統(tǒng)研發(fā)環(huán)境下,自動(dòng)化測(cè)試完全替代手工測(cè)試是不可能的。
自動(dòng)化測(cè)試不僅僅運(yùn)用在系統(tǒng)測(cè)試層面,在單元測(cè)試、集成測(cè)試階段同樣可以使用自動(dòng)化測(cè)試方法進(jìn)行測(cè)試。
最后: 下方這份完整的軟件測(cè)試視頻學(xué)習(xí)教程已經(jīng)整理上傳完成,朋友們?nèi)绻枰梢宰孕忻赓M(fèi)領(lǐng)取 【保證100%免費(fèi)】
文章來源:http://www.zghlxwxcb.cn/news/detail-458566.html
這些資料,對(duì)于【軟件測(cè)試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴上萬個(gè)測(cè)試工程師們走過最艱難的路程,希望也能幫助到你!文章來源地址http://www.zghlxwxcb.cn/news/detail-458566.html
到了這里,關(guān)于軟件測(cè)試常用的7種方法,最后一個(gè)是升職加薪關(guān)鍵?。慊A(chǔ)小白轉(zhuǎn)行IT互聯(lián)網(wǎng)高效進(jìn)階)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!