- 按測試技術(shù)荚恶,可分為黑盒測試、白盒測試梅鹦、灰盒測試裆甩;
- 按測試方法,可分為:靜態(tài)測試齐唆、動態(tài)測試嗤栓;
- 按測試執(zhí)行方式,可分為:手工測試箍邮、自動化測試茉帅;
- 按測試階段,可分為:單元測試锭弊、集成測試堪澎、系統(tǒng)測試、驗(yàn)收測試味滞;
- 按測試實(shí)施組織樱蛤,可分為:開發(fā)方測試钮呀、用戶方測試、第三方測試昨凡;
- 按軟件質(zhì)量特征分類:
功能測試爽醋、安全測試、性能測試便脊、可靠性測試蚂四、壓力測試、安裝測試哪痰、用戶界面測試遂赠、兼容性測試 - 其他測試方法:回歸測試、冒煙測試晌杰、monkey測試跷睦、A/B測試
一、黑盒測試
1乎莉、定義
在程序接口進(jìn)行測試送讲,它只是檢查程序功能是否按照規(guī)格說明書的規(guī)定正常使用奸笤。也被稱為功能測試或者數(shù)據(jù)驅(qū)動測試惋啃。它是通過測試來檢測每個功能是否都能正常使用。在測試中监右,把程序看作一個不能打開的黑盒子边灭,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在程序接口進(jìn)行測試健盒,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用绒瘦,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。黑盒測試著眼于程序外部結(jié)構(gòu)扣癣,不考慮內(nèi)部邏輯結(jié)構(gòu)惰帽,主要針對軟件界面和軟件功能進(jìn)行測試。
2父虑、黑盒測試優(yōu)缺點(diǎn)
優(yōu)點(diǎn):1该酗、容易實(shí)施,不需要關(guān)注程序內(nèi)部的實(shí)現(xiàn)士嚎;2呜魄、更貼近用戶的使用角度;
缺點(diǎn):1莱衩、測試覆蓋率較低爵嗅,一般只能覆蓋到代碼量的40%;2笨蚁、針對黑盒的自動化測試睹晒,復(fù)用率較低趟庄,維護(hù)成本較高。
3伪很、黑盒測試主要測試內(nèi)容
- 是否有不正確或遺漏的功能岔激;
- 在接口上,輸入是否能正確的接受是掰?能否輸出正確的結(jié)果虑鼎;
- 是否有數(shù)據(jù)結(jié)構(gòu)錯誤或外部信息訪問錯誤?
- 性能上是否能夠滿足要求键痛?
4炫彩、黑盒測試的主要設(shè)計(jì)方法
- 流程分析法
- 等價類劃分法
- 邊界值分析法
- 錯誤推測法
- 因果圖法
- 正交試驗(yàn)分析法
- 狀態(tài)遷移圖法
- 流程分析法
二、白盒測試
1絮短、定義
要完全了解程序結(jié)構(gòu)和處理過程江兢,它按照程序內(nèi)部邏輯測試程序,檢驗(yàn)程序中每條通路是否按預(yù)定要求正確工作丁频。也被稱為結(jié)構(gòu)測試或邏輯驅(qū)動測試杉允。
2、主要邏輯單位
語句席里、條件叔磷、條件組合、分支奖磁、路徑
3改基、白盒測試的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
1、迫使測試人員去仔細(xì)思考軟件的實(shí)現(xiàn)咖为,理解原理
2秕狰、可以檢測代碼中的每條分支和路徑
3、揭示隱藏在代碼中問題
4躁染、對代碼的測試比較徹底
缺點(diǎn):
1鸣哀、代價有些高,需要測試人員有編程能力
2吞彤、無法檢測代碼中遺漏的路徑和數(shù)據(jù)敏感性錯誤
3我衬、不能直接驗(yàn)證需求的正確性
三、灰盒測試
介于黑盒測試與白盒測試之間的測試备畦,既要像黑盒測試那樣關(guān)注輸出對于輸入的正確性低飒,同時也關(guān)注內(nèi)容表現(xiàn),但這種關(guān)注不像白盒測試那樣詳細(xì)懂盐、完整褥赊,只是通過一些表征性的現(xiàn)象、事件莉恼、標(biāo)志判斷內(nèi)部的運(yùn)行狀態(tài)拌喉。
四速那、靜態(tài)測試
1、定義
靜態(tài)測試是指無需執(zhí)行被測程序尿背,而是通過評審軟件文檔或代碼端仰,度量程序靜態(tài)復(fù)雜度,檢查軟件是否符合編程標(biāo)準(zhǔn)田藐,借以發(fā)現(xiàn)編寫的程序的不足之處荔烧,減少錯誤出現(xiàn)的概率
2、其形式有程序員互查汽久、小組組織查找鹤竭、召開正式評審會審查
五、動態(tài)測試
動態(tài)測試是指通過運(yùn)行被測程序景醇,檢查運(yùn)行結(jié)果和預(yù)期結(jié)果的差異臀稚,并分析運(yùn)行效率,正確性和健壯性等三痰。也就是通過實(shí)際運(yùn)行情況來評價程序的性能吧寺。
六、手工測試
由專門的測試人員從用戶視角來驗(yàn)證軟件是否滿足設(shè)計(jì)要求的行為散劫。
更適用針對深度的測試和強(qiáng)調(diào)主觀判斷的測試稚机。比如:眾包測試和探索式測試
七、自動化測試
1舷丹、定義
適用單獨(dú)的測試工具軟件控制測試的自動化執(zhí)行以及對預(yù)期和結(jié)果進(jìn)行自動檢查抒钱。
2、手工測試和自動化測試的區(qū)別
手工測試 | 自動化測試 |
---|---|
易發(fā)現(xiàn)缺陷 | 高效率颜凯、速度快 |
容易實(shí)施 | 高復(fù)用性 |
創(chuàng)造性、靈活性 | 覆蓋率容易度量 |
覆蓋量化難 | 準(zhǔn)確仗扬、可靠 |
重復(fù)測試效率低 | 不知疲勞 |
不一致性症概、可靠性低 | 機(jī)械、發(fā)現(xiàn)缺陷率低 |
人力資源依賴 | 一次性投入較大 |
八早芭、功能測試
根據(jù)產(chǎn)品特性彼城,操作描述和用戶方案,測試一個產(chǎn)品的特性和可操作行為以確定它們滿足設(shè)計(jì)需求退个。針對的問題主要是功能錯誤/遺漏募壕,界面問題,性能錯誤语盈,數(shù)據(jù)以及訪問錯誤舱馅,初始化及終止錯誤。這里性能錯誤指的是軟件本身的性能問題刀荒。
功能自動化測試主要的工具:QTP(基于關(guān)鍵字驅(qū)動)代嗤,silkTest棘钞,Rational robot,selenium(開源針對web應(yīng)用)干毅,Watir宜猜,sikuli(基于截圖)
九、性能測試
驗(yàn)證軟件系統(tǒng)的性能能夠滿足需求所需求的性能指標(biāo)硝逢。性能測試一般分為負(fù)載測試姨拥,壓力測試,穩(wěn)定性測試渠鸽。性能指標(biāo)包括并發(fā)用戶數(shù)(VU)垫毙,每秒事物數(shù)(TPS),系統(tǒng)相應(yīng)時間拱绑,設(shè)備性能综芥。
性能測試工具:loadrunner,silkperformer猎拨,Jmeter膀藐,WebLoad等
web應(yīng)用性能測試重點(diǎn):靜態(tài)性能評估,開發(fā)web應(yīng)用時红省,基于一系列web應(yīng)有頁面性能優(yōu)化的最佳實(shí)踐對Web應(yīng)用的頁面進(jìn)行靜態(tài)分析额各,并給出評估結(jié)果的性能分析方法。業(yè)內(nèi)有YSlow和PageSpeed兩種主流的評判標(biāo)準(zhǔn)/工具吧恃,都是瀏覽器插件虾啦。
應(yīng)用性能管理(APM)主要是提供給系統(tǒng)的實(shí)時監(jiān)控以實(shí)現(xiàn)性能管理,故障管理的解決方案痕寓。
十傲醉、安全測試
對軟件產(chǎn)品進(jìn)行測試以保證軟件符合產(chǎn)品安全需求和質(zhì)量標(biāo)準(zhǔn)。滲透測試通過模擬對軟件系統(tǒng)的惡意攻擊行為來評估系統(tǒng)安全性的一種測試呻率,是取得用戶一種授權(quán)的一種攻擊測試硬毕。
開放的web應(yīng)用安全項(xiàng)目OWASP:http://www.owasp.org
安全測試工具:Appscan針對web應(yīng)用的漏洞掃描工具,Webinspect礼仗,Nessus針對服務(wù)器主機(jī)類的漏洞掃描工具吐咳,Nmap端口嗅探的工具,MetaSploit攻擊框架元践,F(xiàn)ortify針對白盒測試
十一韭脊、兼容性測試
軟件本身的兼容性,對歷史版本的功能和數(shù)據(jù)進(jìn)行兼容单旁;不同平臺的兼容沪羔,可能在多個平臺上運(yùn)行,需要考慮多個平臺的驗(yàn)證慎恒;軟件對運(yùn)行設(shè)備的兼容性任内,不同的設(shè)備不同的軟件表現(xiàn)撵渡;軟件的互操作性,同一個廠商的不同軟件在同一臺設(shè)備可能會有相互操作死嗦。對于web應(yīng)用趋距,不同的瀏覽器之間的兼容,IE越除,F(xiàn)ireFox节腐,Chrome,Opera
兼容性的測試工具:BrowserShots摘盆,BrowserSandbox
十二翼雀、回歸測試
在軟件功能修改后,對軟件進(jìn)行重新測試以確認(rèn)修改沒有引入新的錯誤或者導(dǎo)致其他部分產(chǎn)生錯誤孩擂,最適合實(shí)施自動化測試狼渊。可以針對模塊進(jìn)行回歸測試类垦。
十三狈邑、冒險(xiǎn)測試
用于確認(rèn)代碼中的更改會按照預(yù)期運(yùn)行,且不會破壞整個版本的穩(wěn)定性蚤认。針對全流程的一個關(guān)鍵業(yè)務(wù)的流程的驗(yàn)證米苹。
十四、monkey測試
用一些隨機(jī)砰琢,稀奇古怪的方式來操作軟件蘸嘶,以測試系統(tǒng)的健壯性和穩(wěn)定性。andriod的sdk就有monkey測試的接口陪汽。
十五训唱、A/B測試
用于互聯(lián)網(wǎng)行業(yè),通過頁面提供兩個版本給用戶使用并記錄相關(guān)的用戶行為數(shù)據(jù)掩缓,來確定更優(yōu)化設(shè)計(jì)的一種測試方案雪情。實(shí)施要點(diǎn):多個方案并行實(shí)施,并用戶數(shù)量達(dá)到一定的數(shù)量級你辣;每次改動僅改動一個變量;按照某種規(guī)則進(jìn)行優(yōu)勝劣汰尘执。