-
軟件測試的分類
按照測試對象的可見度:黑盒測試、 白盒測試
按照狀態(tài):靜態(tài)測試、動(dòng)態(tài)測試
按照執(zhí)行方式:手工測試、自動(dòng)化測試
1、黑盒測試(功能測試):不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性下,通過相關(guān)暴露出的接口,對程序進(jìn)行測試????優(yōu)點(diǎn):(1)易于實(shí)施;(2)貼近用戶視角。
????缺點(diǎn):(1)測試覆蓋率較低;(2)復(fù)用率較低,維護(hù)成本較高。
????測試重點(diǎn):(1)是否有不正確或遺漏的功能;(2)針對接口,輸入與輸出是否正確;(3)是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息訪問錯(cuò)誤;(4)性能是否滿足要求。
2、白盒測試(邏輯結(jié)構(gòu)測試)
????主要的邏輯單位:
?????????語句:保證每條語句至少執(zhí)行一次
????????分支(判定):保證每條分支至少執(zhí)行一次
????????條件:條件表達(dá)式至少計(jì)算一次
????????條件組合:所有不同條件下的組合情況,至少執(zhí)行一次
????????路徑:每個(gè)可能的路徑至少執(zhí)行一次????優(yōu)點(diǎn):(1)迫使測試人員仔細(xì)思考軟件的實(shí)現(xiàn),理解原理;(2)可以檢驗(yàn)代碼的每條分支和路徑;(3)揭示隱藏在代碼中的錯(cuò)誤;(4)對代碼的測試比較徹底。
????缺點(diǎn):(1)昂貴,較高覆蓋率,工作量大;(2)無法檢測代碼中遺漏的路徑和數(shù)據(jù)敏感性的錯(cuò)誤;(3)不能直接驗(yàn)證需求的正確性。
????白盒測試的主要測試方法:(1)代碼檢測法;(2)靜態(tài)結(jié)構(gòu)分析法;(3)靜態(tài)質(zhì)量度量法;(4)邏輯覆蓋法;(5)基本路徑測試法。
3、灰盒測試:介于黑、白盒測試之間,關(guān)注輸出對于輸入的正確性,同時(shí)關(guān)注內(nèi)部表現(xiàn)
4、靜態(tài)測試:無需執(zhí)行被測程序,而是評審軟件文檔或代碼,度量程序靜態(tài)復(fù)雜度,檢測軟件是否符合編程標(biāo)準(zhǔn)(直接看文檔或代碼)
5、動(dòng)態(tài)測試:運(yùn)行被測程序,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,并分析運(yùn)行效率、正確性和健壯性等
6、手工測試:從用戶視角來驗(yàn)證軟件是否滿足設(shè)計(jì)要求
7、自動(dòng)化測試:使用單獨(dú)的測試工具控制測試的自動(dòng)化執(zhí)行
查看全部 -
1、單元測試:對軟件的最小可測試單元進(jìn)行檢查和驗(yàn)證
????原則:(1)盡可能保證各個(gè)測試用例是互相獨(dú)立的;(2)一般由開發(fā)人員來實(shí)施。
????優(yōu)點(diǎn):(1)能盡早發(fā)現(xiàn)缺陷;(2)有利于重構(gòu);(3)簡化集成;(4)文檔;(5)用于設(shè)計(jì)。
????缺點(diǎn):(1)不可能覆蓋所有的執(zhí)行路徑;(2)一行代碼一般需要3-5行測試代碼才能完成單元測試。
2、集成測試:把已測試過的單元組裝成模塊,檢測和驗(yàn)證其是否達(dá)到或?qū)崿F(xiàn)設(shè)計(jì)要求
????主要實(shí)施方案:(1)Big Bang(一次性集成,把大部分開發(fā)模塊進(jìn)行組裝);(2)自頂向下;(3)自底向上;(4)核心系統(tǒng)集成;(5)高頻集成。
3、系統(tǒng)測試:把集成測試的軟件作為計(jì)算機(jī)系統(tǒng)的一個(gè)部分,檢驗(yàn)它能否與系統(tǒng)中的其它部分協(xié)調(diào)工作
????關(guān)注點(diǎn):(1)系統(tǒng)本身的使用;(2)系統(tǒng)與其它相關(guān)系統(tǒng)之間的連通;(3)系統(tǒng)在不同使用壓力下的表現(xiàn)。
4、驗(yàn)收測試(交付測試):針對用戶需求、業(yè)務(wù)流程的正式測試,確定軟件是否滿足驗(yàn)收標(biāo)準(zhǔn)
集成測試與單元測試的區(qū)別:(1)測試對象不同;(2)測試依據(jù)不同;(3)測試方法不同。
系統(tǒng)測試與集成測試的區(qū)別:(1)測試對象不同;(2)測試時(shí)間不同;(3)測試內(nèi)容不同;(4)測試角度不同(系統(tǒng)測試偏業(yè)務(wù),集成測試偏技術(shù))。
查看全部 -
單元測試: 對軟件中的最小可測試單元進(jìn)行檢查和驗(yàn)證
原則:
盡可能保證各個(gè)測試用例是相互獨(dú)立的。
一般由代碼的開發(fā)人員來實(shí)施,用以檢驗(yàn)所開發(fā)的代碼功能符合自己的設(shè)計(jì)要求
益處:
????1.能盡早發(fā)現(xiàn)缺陷
????2.有利于重構(gòu)
????3.簡化集成
????4.文檔
????5.用于設(shè)計(jì)
限制:
????1.不可能覆蓋所有的執(zhí)行路徑,所以不可能保證捕捉到所有路徑的錯(cuò)誤
????2.每一行代碼,一般需要3~5行測試代碼才能完成單元測試。所以存在投入和產(chǎn)出的一個(gè)平衡。
框架:
????xunit,Junit,nunit,phpunit,cppunit.
查看全部 -
測試分類 1.單元測試 2.集成測試 3.系統(tǒng)測試 4.驗(yàn)收測試查看全部
舉報(bào)