-
按照測(cè)試手段分類:黑盒測(cè)試、白盒測(cè)試;靜態(tài)測(cè)試、動(dòng)態(tài)測(cè)試;手工測(cè)試、自動(dòng)化測(cè)試
一、黑盒測(cè)試
不考慮程序內(nèi)部結(jié)構(gòu)和特性下,通過相關(guān)暴露出的接口,對(duì)程序進(jìn)行測(cè)試
只檢查程序的功能是否按照需求規(guī)格說明的規(guī)定正常使用
程序是否能正常的接收輸入數(shù)據(jù)并產(chǎn)生輸出數(shù)據(jù)
一般針對(duì)軟件界面或可見的功能
從用戶的視角,通過不同的數(shù)據(jù)驅(qū)動(dòng)系統(tǒng),通過輸出來判斷
優(yōu)缺點(diǎn):
優(yōu)點(diǎn):容易實(shí)施,不需要關(guān)注內(nèi)部的實(shí)現(xiàn);更貼近用戶的使用角度
缺點(diǎn):測(cè)試覆蓋率較低,一般只能覆蓋到代碼量的不到40%
針對(duì)黑盒的自動(dòng)化測(cè)試,復(fù)用率較低,維護(hù)成本較高(關(guān)注功能,變化多的也是功能 自動(dòng)化測(cè)試代碼維護(hù)成本高)
黑盒測(cè)試主要測(cè)試什么:
1)是否有不正確或遺漏的功能;
2)在接口上,輸入是否能正確的接受,能否輸出正確的結(jié)果;
3)數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(文件數(shù)據(jù))訪問錯(cuò)誤;
4)性能是否滿足要求
設(shè)計(jì)方法:
1)等價(jià)類劃分法:輸入條件等價(jià)的歸為一類,形成幾組代表性的輸入
2)邊界值分析法:關(guān)注邊界條件
3)錯(cuò)誤推測(cè)法:基于經(jīng)驗(yàn)或直覺來判斷程序中可能出現(xiàn)錯(cuò)誤,針對(duì)性的設(shè)計(jì)測(cè)試用例(文件超大或文件不存在;界面輸入時(shí)考慮特殊字符)
4)因果圖法:對(duì)多種輸入條件組合的測(cè)試方法
5)正交試驗(yàn)分析法:篩選代表性的輸入數(shù)據(jù)
6)狀態(tài)遷移圖法:梳理軟件功能點(diǎn)中的狀態(tài)關(guān)系,畫出狀態(tài)變遷圖設(shè)計(jì)測(cè)試用例
7)流程分析法:梳理程序的邏輯執(zhí)行的路徑來設(shè)計(jì)測(cè)試用例
二、白盒測(cè)試(結(jié)構(gòu)化測(cè)試 透明盒測(cè)試)
1、根據(jù)程序的邏輯結(jié)構(gòu)來設(shè)計(jì)測(cè)試用例,用邏輯的覆蓋率來衡量測(cè)試的完整性,強(qiáng)調(diào)邏輯
2、邏輯的單位:
語句 :語句覆蓋指的是用例設(shè)計(jì)出來保證每一條語句至少執(zhí)行一次
條件 :保證每一個(gè)條件表達(dá)式執(zhí)行一次
條件組合: 覆蓋所有不同條件的組合成果
分支 :每個(gè)分支執(zhí)行一次
路徑:每一個(gè)可能的路徑至少執(zhí)行一次
優(yōu)點(diǎn):迫使測(cè)試人員去仔細(xì)思考軟件的實(shí)現(xiàn),理解原理;可以檢測(cè)代碼中的每條分支和路徑;揭露隱藏在代碼中的錯(cuò)誤;對(duì)代碼的測(cè)試比較徹底
缺點(diǎn):追求高覆蓋率導(dǎo)致成本高;無法檢測(cè)代碼中遺漏的路徑和數(shù)據(jù)敏感性(數(shù)據(jù)處理的有問題)的錯(cuò)誤;不能直接驗(yàn)證需求的正確性
測(cè)試方法:
代碼檢測(cè)法:多面檢查 走查
靜態(tài)結(jié)構(gòu)分析法:測(cè)試工具分析源代碼的內(nèi)部邏輯結(jié)構(gòu)
靜態(tài)質(zhì)量度量法
邏輯覆蓋法
基本路徑測(cè)試法
三、灰盒測(cè)試
介于黑白盒測(cè)試之間的,關(guān)注輸出對(duì)于輸入的正確性,同時(shí)也關(guān)注內(nèi)部表現(xiàn)
四、靜態(tài)測(cè)試
不運(yùn)行被測(cè)程序,直接看文檔或代碼,來發(fā)現(xiàn)程序的不足
互審 走查 會(huì)議
五、動(dòng)態(tài)測(cè)試
動(dòng)態(tài)測(cè)試是指通過運(yùn)行被測(cè)程序,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,并分析運(yùn)行效率、正確性和健壯性等
六、手工測(cè)試
由專門的測(cè)試人員從用戶視角來驗(yàn)證軟件是否滿足設(shè)計(jì)要求的行為。更適用于針對(duì)深度的測(cè)試和強(qiáng)調(diào)主觀判斷的測(cè)試(探索性測(cè)試)
七、自動(dòng)化測(cè)試
使用單獨(dú)的測(cè)試工具軟件控制測(cè)試的自動(dòng)化執(zhí)行以及對(duì)預(yù)期和結(jié)果進(jìn)行自動(dòng)檢查(單元測(cè)試 接口測(cè)試 性能測(cè)試)
八、手動(dòng)測(cè)試與自動(dòng)化測(cè)試區(qū)別
1、手工測(cè)試的優(yōu)缺點(diǎn)
易發(fā)現(xiàn)缺陷(創(chuàng)造性 主觀性)
容易實(shí)施(只要環(huán)境具備 人員到位)
創(chuàng)造性、靈活性
覆蓋量化難(人對(duì)測(cè)試做到什么程度很難量化、覆蓋率能達(dá)到多少不好量化)
重復(fù)測(cè)試效率低
不一致性、可靠性低
人力資源依賴(依賴人能力的高低)
2、自動(dòng)化測(cè)試
高效率、速度快
高復(fù)用性
覆蓋率容易度量
準(zhǔn)確、可靠
不知疲勞
機(jī)械、發(fā)現(xiàn)缺陷率低
一次性投入大(從測(cè)試工具的選型、框架的設(shè)計(jì)、腳本的編寫與維護(hù)投入大)
查看全部 -
其他測(cè)試
回歸測(cè)試
Monkey測(cè)試
冒煙測(cè)試
AB測(cè)試
查看全部 -
文檔測(cè)試
可靠性測(cè)試
易用性測(cè)試
本地化測(cè)試
部署測(cè)試
無障礙測(cè)試
查看全部 -
兼容性測(cè)試
查看全部 -
安全測(cè)試
滲透測(cè)試
查看全部 -
性能測(cè)試
查看全部 -
軟件測(cè)試類型
查看全部 -
敏捷測(cè)試(Agile Testing)
遵循敏捷宣言的一種測(cè)試實(shí)踐
探索式測(cè)試的優(yōu)點(diǎn):
????更能激發(fā)測(cè)試人員的創(chuàng)造性和工作樂趣
????增加了發(fā)現(xiàn)新的或較深入Bug的可能性
????在較短的時(shí)間內(nèi)找到更多Bug以及對(duì)SUT做一個(gè)快速的評(píng)估
????有利于更加有效地實(shí)施自動(dòng)化
????更加適用于敏捷項(xiàng)目
????減少了在簡(jiǎn)單、繁復(fù)上用例的無謂編寫時(shí)間
探索式測(cè)試的缺點(diǎn):
????測(cè)試管理上有局限性,較難協(xié)調(diào)和控制
????對(duì)于Bug的重復(fù)利用和重現(xiàn)上作用有限
????對(duì)測(cè)試人員的測(cè)試技能和業(yè)務(wù)知識(shí)深度依賴較大
????只有在SUT已完全可用的前提下才更有作用
????ET的生產(chǎn)率很難定義
????ET本身較難進(jìn)行自動(dòng)化
查看全部 -
軟件測(cè)試的分類
按階段分類:?jiǎn)卧獪y(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試
單元測(cè)試
定義:對(duì)軟件中的最小可測(cè)試單元進(jìn)行檢查和驗(yàn)證
原則1:盡可能保證各個(gè)測(cè)試用例時(shí)互相獨(dú)立的
原則2:一般由代碼的開發(fā)人員來實(shí)施,用以檢驗(yàn)所開發(fā)的代碼功能符合自己的設(shè)計(jì)要求
益處:能盡早發(fā)現(xiàn)缺陷、有利于重構(gòu)、簡(jiǎn)化集成、文檔、用于設(shè)計(jì)
集成測(cè)試
定義:是在單元測(cè)試的基礎(chǔ)上,測(cè)試在將所有的軟件單元按照概要設(shè)計(jì)規(guī)格說明的要求組裝城模塊、子系統(tǒng)或系統(tǒng)的過程中各部分工作是否達(dá)到或?qū)崿F(xiàn)相應(yīng)技術(shù)指標(biāo)及要求的活動(dòng)
主要實(shí)施方案:Big bang、自頂向下、自底向上、核心系統(tǒng)集成、高頻集成
與單元測(cè)試對(duì)比:測(cè)試的對(duì)象、依據(jù)、方法不同
系統(tǒng)測(cè)試
定義:是將經(jīng)過集成測(cè)試的軟件,作為計(jì)算機(jī)系統(tǒng)的一個(gè)部分,與系統(tǒng)中其他部分結(jié)合起來,在實(shí)際運(yùn)行環(huán)境下對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行一系列嚴(yán)格有效地測(cè)試,以發(fā)現(xiàn)軟件潛在的問題,保證系統(tǒng)的正常運(yùn)行
關(guān)注點(diǎn):系統(tǒng)本身的使用、與其他相關(guān)系統(tǒng)的連通、在不同使用壓力下的表現(xiàn)、在真實(shí)使用環(huán)境下的表現(xiàn)
與集成測(cè)試的對(duì)比:
驗(yàn)收測(cè)試
定義:也稱交付測(cè)試。針對(duì)用戶需求、業(yè)務(wù)流程的正式的測(cè)試,確定系統(tǒng)是否滿足驗(yàn)收標(biāo)準(zhǔn),由用戶、客戶或其他授權(quán)機(jī)構(gòu)決定是否接受系統(tǒng)。
細(xì)分:用戶驗(yàn)收測(cè)試、運(yùn)行驗(yàn)收測(cè)試、合同和規(guī)范驗(yàn)收測(cè)試、alpha測(cè)試、Beta測(cè)試
查看全部 -
軟件測(cè)試的分類
軟件測(cè)試模式
查看全部 -
講的特別好,點(diǎn)贊。
查看全部 -
測(cè)試分為:?jiǎn)卧獪y(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試
單元測(cè)試:對(duì)軟件中最小可測(cè)試單元進(jìn)行檢測(cè)與驗(yàn)證。
單元測(cè)試益處:盡早發(fā)現(xiàn)缺陷、有利于重構(gòu)、簡(jiǎn)化集成、減少文檔、用于設(shè)計(jì)
單元測(cè)試限制:不可覆蓋所有執(zhí)行路徑,不可保證捕捉到所有路徑,每一行代碼,一般需要3-5行測(cè)試代碼才可完成
集成測(cè)試:在單元測(cè)試基礎(chǔ)上測(cè)試,測(cè)試是否可達(dá)到或?qū)崿F(xiàn)相應(yīng)技術(shù)指標(biāo)要求的活動(dòng)、
驗(yàn)收測(cè)試分為:用戶驗(yàn)收測(cè)試、運(yùn)行驗(yàn)收測(cè)試、合同與規(guī)范驗(yàn)收、alpha測(cè)試,Beta測(cè)試
查看全部 -
2-軟件測(cè)試手段
根據(jù)測(cè)試對(duì)象的可見度:黑盒測(cè)試、 白盒測(cè)試
根據(jù)狀態(tài):靜態(tài)測(cè)試、動(dòng)態(tài)測(cè)試
執(zhí)行方式:手工測(cè)試、自動(dòng)化測(cè)試
黑盒測(cè)試:
不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性下,通過相關(guān)暴露出的接口,對(duì)程序進(jìn)行測(cè)試。
只檢查程序的功能是否按照需求規(guī)定,正常使用;
程序是否能適當(dāng)?shù)妮斎胼敵鰯?shù)據(jù),并產(chǎn)生正確的輸出信息;
一般針對(duì)軟件外面的界面,可見的功能;
從用戶的視角,通過不同數(shù)據(jù)事件,通過輸出結(jié)果進(jìn)行判斷;
優(yōu)點(diǎn):
1.容易實(shí)施,不需要關(guān)注內(nèi)部的實(shí)現(xiàn)
2.更貼近用戶的使用角度
缺點(diǎn):
1.測(cè)試覆蓋率較低,一般只能覆蓋到代碼量的不到40%
2.針對(duì)黑盒的自動(dòng)化測(cè)試,復(fù)用率較低,維護(hù)成本較高。因:產(chǎn)品活動(dòng)增/刪(更新)
黑盒測(cè)試主要測(cè)試什么
1.是否有不正確或遺漏的功能?
2.在接口上,輸入是否能正確的接受?能否輸出正確的結(jié)果?
3.是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪問錯(cuò)誤?
4.性能上是否能夠滿足要求?
黑盒測(cè)試的主要設(shè)計(jì)方法
等價(jià)類劃分法:針對(duì)程序的輸入條件進(jìn)行分類,輸入典型的數(shù)據(jù)
邊界值分析法:特殊的邊界數(shù)據(jù),測(cè)試代碼的邊界狀態(tài)
錯(cuò)誤推測(cè)法:基于經(jīng)驗(yàn),直覺,判斷錯(cuò)誤的地方;特殊字符,文件不存在
因果圖法:根據(jù)輸入輸出看做原因和結(jié)果,形成因果圖。(因果圖法是一種利用圖解法分析輸入的各種組合情況,從而設(shè)計(jì)測(cè)試用例的方法,它適合于檢查程序輸入條件的各種組合情況。)
正交試驗(yàn)分析法:選出代表性的數(shù)據(jù),作為輸入數(shù)據(jù)
狀態(tài)遷移圖法:軟件審批的過程,各種狀態(tài)遷移關(guān)系圖來設(shè)計(jì)
流程分析法:處理程序邏輯執(zhí)行的路徑
白盒測(cè)試:邏輯覆蓋率??
主要的邏輯單位:?
? ? ? ? ? ?語句覆蓋:保證每條語句執(zhí)行一次
分支(判定):保證每條分支至少執(zhí)行一次
條件:條件表達(dá)式,至少計(jì)算一次
條件組合:所以不同條件下的組合情況
路徑:程序中,每個(gè)可能的路徑至少執(zhí)行一次
優(yōu)點(diǎn)
1.迫使測(cè)試人員去仔細(xì)思考軟件的實(shí)現(xiàn),理解原理。
2.可以檢測(cè)代碼中的每條分支和路徑。
3.揭示隱藏在代碼中的錯(cuò)誤。
4.對(duì)代碼的測(cè)試比較徹底。
缺點(diǎn)
1.昂貴。
2.無法檢測(cè)代碼中遺漏的路徑和數(shù)據(jù)敏感性錯(cuò)誤
3.不能直接驗(yàn)證需求的正確性白盒主要測(cè)試方法:
代碼檢測(cè)法:多面 代碼審查??
靜態(tài)結(jié)構(gòu)分析法:測(cè)試工具,內(nèi)部結(jié)構(gòu)分析
靜態(tài)質(zhì)量度量法:標(biāo)準(zhǔn)的度量模型
邏輯覆蓋法:6種邏輯,語句 ,分支,條件,條件組合,路徑,判定
基本路徑測(cè)試法:通過分析復(fù)雜度,選出基本可執(zhí)行路徑的集合。程序控制流圖,描述程序控制流
灰盒測(cè)試
介于黑、白盒測(cè)試之間的,關(guān)注輸出對(duì)于輸入的正確性,同時(shí)也關(guān)注內(nèi)部表現(xiàn)
靜態(tài)測(cè)試
定義:靜態(tài)測(cè)試是指無須執(zhí)行被測(cè)程序,而是通過評(píng)審軟件文檔或代碼,度量程序靜態(tài)復(fù)雜度,檢查軟件是否符合編程標(biāo)準(zhǔn),借以發(fā)現(xiàn)編寫的程序的不足之處,減少錯(cuò)誤出現(xiàn)的概率;
動(dòng)態(tài)測(cè)試
定義:動(dòng)態(tài)測(cè)試是指通過運(yùn)行被測(cè)程序,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,并分析運(yùn)行效率、正確性和健壯性等。
手工測(cè)試
由專門的測(cè)試人員從用戶視角來驗(yàn)證軟件是否滿足設(shè)計(jì)要求的行為。更適用針對(duì)深度的測(cè)試和強(qiáng)調(diào)主觀判斷的測(cè)試。眾包測(cè)試,探索式測(cè)試
自動(dòng)化測(cè)試
使用單獨(dú)的測(cè)試工具軟件控制測(cè)試的自動(dòng)化執(zhí)行以及對(duì)預(yù)期和結(jié)果進(jìn)行自動(dòng)檢查。
單元測(cè)試、接口測(cè)試、性能測(cè)試等查看全部 -
很不錯(cuò)很不錯(cuò)很不錯(cuò)
查看全部 -
性能測(cè)試:驗(yàn)證軟件的系統(tǒng)性能,可以滿足需求規(guī)格,驗(yàn)證我們的系統(tǒng)可以滿足需求所要求的性能
a·負(fù)載測(cè)試:在測(cè)試過程中,逐步的增加負(fù)載,來觀察系統(tǒng)的表現(xiàn),最終確定出系統(tǒng)在正常的指標(biāo)范圍下的最大負(fù)載。
b·壓力測(cè)試:測(cè)試系統(tǒng)在極限情況下的壓力情況,最終系統(tǒng)在什么樣的壓力環(huán)境下會(huì)導(dǎo)致失效,不能正常運(yùn)行,確定出我們這個(gè)系統(tǒng)所能承受的最大極限。
c·穩(wěn)定性測(cè)試:一般是以稍大于正常業(yè)務(wù)量的負(fù)載進(jìn)行持續(xù)的、長(zhǎng)時(shí)間的測(cè)試,比如:24*5,連續(xù)5天的對(duì)這個(gè)系統(tǒng)進(jìn)行24小時(shí)的施加壓力,以確定系統(tǒng)在較長(zhǎng)時(shí)間的運(yùn)行情況下,我們這個(gè)系統(tǒng)地穩(wěn)定性情況。
性能指標(biāo):(WAB應(yīng)用)
并發(fā)用戶數(shù)VU,同時(shí)訪問系統(tǒng)的用戶數(shù)量;
每秒事務(wù)數(shù)TPS,每秒系統(tǒng)處理業(yè)務(wù)的數(shù)量;
系統(tǒng)響應(yīng)時(shí)間;
設(shè)備性能,CPU等內(nèi)存使用情況
性能測(cè)試工具:LoadRunner(國(guó)內(nèi)普及高) ,Silkperformer , Jmeter(java開源的有效的測(cè)試工具) ,WebLoad , Apache Bench, LoadUI(專門針對(duì)http接口的性能測(cè)試)
靜態(tài)性能評(píng)估:開發(fā)Web應(yīng)用時(shí),基于一系列Web應(yīng)用頁面性能的最佳實(shí)踐隊(duì)Web應(yīng)用的頁面進(jìn)行靜態(tài)分析,并給出評(píng)估結(jié)果的性能分析方法。
評(píng)估的標(biāo)準(zhǔn)/工具(YSlow,PageSpeed)
下面博主以chrome瀏覽器為例,演示了這兩個(gè)插件。
應(yīng)用性能管理(APM):
提供對(duì)系統(tǒng)的實(shí)時(shí)監(jiān)控以實(shí)現(xiàn)性能管理、故障管理的解決方案。
下面博主演示了聽云公司的官網(wǎng)上的產(chǎn)品——聽云server的使用。
查看全部
舉報(bào)