软件测试之测试的分类
目錄
- 1.按照開發(fā)階段劃分
- 2.按照實(shí)施組織劃分
- 3.按照按照是否運(yùn)行程序劃分
- 4.按照是否手工劃分
- 5.按照是否查看代碼劃分
- 6.按照測(cè)試地域劃分
- 7.按照測(cè)試對(duì)象劃分
1.按照開發(fā)階段劃分
單元測(cè)試(Unit Testing)
單元測(cè)試是對(duì)軟件組成單元進(jìn)行測(cè)試。其目的是檢驗(yàn)軟件基本組成單位的正確性。測(cè)試的對(duì)象是軟件設(shè)計(jì)的最小單位:模塊。又稱為模塊測(cè)試
測(cè)試階段:編碼后或者編碼前(TDD)
測(cè)試對(duì)象:最小模塊
測(cè)試人員:白盒測(cè)試工程師或開發(fā)工程師
測(cè)試依據(jù):代碼和注釋+詳細(xì)設(shè)計(jì)文檔
測(cè)試方法:白盒測(cè)試 測(cè)試內(nèi)容:模塊接口測(cè)試、局部數(shù)據(jù)結(jié)構(gòu)測(cè)試、路徑測(cè)試、錯(cuò)誤處理測(cè)試、邊界測(cè)試
集成測(cè)試(Integration Testing)
集成測(cè)試也稱聯(lián)合測(cè)試(聯(lián)調(diào))、組裝測(cè)試,將程序模塊采用適當(dāng)?shù)募刹呗越M裝起來(lái),對(duì)系統(tǒng)的接口及集成后的功能進(jìn)行正確性檢測(cè)的測(cè)試工作。集成主要目的是檢查軟件單位之間的接口是否正確。
測(cè)試階段:一般單元測(cè)試之后進(jìn)行
測(cè)試對(duì)象:模塊間的接口
測(cè)試人員:白盒測(cè)試工程師或開發(fā)工程師
測(cè)試依據(jù):單元測(cè)試的模塊+概要設(shè)計(jì)文檔
測(cè)試方法:黑盒測(cè)試與白盒測(cè)試相結(jié)合
測(cè)試內(nèi)容:模塊之間數(shù)據(jù)傳輸、模塊之間功能沖突、模塊組裝功能正確性、全局?jǐn)?shù)據(jù)結(jié)構(gòu)、單模塊缺陷對(duì)系統(tǒng)的影響
系統(tǒng)測(cè)試(System Testing)
將軟件系統(tǒng)看成是一個(gè)系統(tǒng)的測(cè)試。包括對(duì)功能、性能以及軟件所運(yùn)行的軟硬件環(huán)境進(jìn)行測(cè)試。時(shí)間大部分在系統(tǒng)測(cè)試執(zhí)行階段,包括回歸測(cè)試和冒煙測(cè)試。
測(cè)試階段:集成測(cè)試通過(guò)之后
測(cè)試對(duì)象:整個(gè)系統(tǒng)(軟、硬件)
測(cè)試人員:黑盒測(cè)試工程師
測(cè)試依據(jù):需求規(guī)格說(shuō)明文檔
測(cè)試方法:黑盒測(cè)試
測(cè)試內(nèi)容:功能、界面、可靠性、易用性、性能、兼容性、安全性等
回歸測(cè)試(Regression Testing)
回歸測(cè)試是指修改了舊代碼后,重新進(jìn)行測(cè)試以確認(rèn)修改沒(méi)有引入新的錯(cuò)誤或?qū)е缕渌a產(chǎn)生錯(cuò)誤。自動(dòng)回歸測(cè)試將大幅降低系統(tǒng)測(cè)試、維護(hù)升級(jí)等階段的成本。
冒煙測(cè)試(smoke testing) =
冒煙測(cè)試的對(duì)象是每一個(gè)新編譯的需要正式測(cè)試的軟件版本,目的是確認(rèn)軟件基本功能正常,可以進(jìn)行后續(xù)的正式測(cè)試工作。
冒煙測(cè)試的執(zhí)行者是版本編譯人員。
冒煙測(cè)試一般在開發(fā)人員開發(fā)完畢后送給測(cè)試人員來(lái)進(jìn)行測(cè)試時(shí),測(cè)試人員會(huì)先進(jìn)行冒煙測(cè)試,保證基本功能正常,不阻礙后續(xù)的測(cè)試。
驗(yàn)收測(cè)試是部署軟件之前的最后一個(gè)測(cè)試操作。它是技術(shù)測(cè)試的最后一個(gè)階段,也稱為交付測(cè)試。驗(yàn)收測(cè)試的目的是確保軟件準(zhǔn)備就緒,按照項(xiàng)目合同、任務(wù)書、雙方約定的驗(yàn)收依據(jù)文檔,向軟件購(gòu)買都展示該軟件系統(tǒng)滿足原始需求。
測(cè)試階段:系統(tǒng)測(cè)試通過(guò)之后
測(cè)試對(duì)象:整個(gè)系統(tǒng)(包括軟硬件)。
測(cè)試人員:主要是最終用戶或者需求方。
測(cè)試依據(jù):用戶需求、驗(yàn)收標(biāo)準(zhǔn)
測(cè)試方法:黑盒測(cè)試
測(cè)試內(nèi)容:同系統(tǒng)測(cè)試(功能…各類文檔等)
2.按照實(shí)施組織劃分
α測(cè)試(Alpha Testing)
α測(cè)試是由一個(gè)用戶在開發(fā)環(huán)境下進(jìn)行的測(cè)試
優(yōu)點(diǎn):有利于和測(cè)試,開發(fā)人員及時(shí)溝通問(wèn)題,及時(shí)解決
缺點(diǎn):容易受開發(fā)人員和測(cè)試人員的影響
β測(cè)試(Beta Testing)
Beta測(cè)試是一種驗(yàn)收測(cè)試。Beta測(cè)試由軟件的最終用戶們?cè)谝粋€(gè)或多個(gè)場(chǎng)所進(jìn)行。
優(yōu)點(diǎn):測(cè)試環(huán)境是用戶實(shí)際使用環(huán)境,有利于問(wèn)題發(fā)現(xiàn)
缺點(diǎn):時(shí)間較分散
第三方測(cè)試
介于開發(fā)方和用戶方間的組織的測(cè)試
α測(cè)試與Beta測(cè)試的區(qū)別:
① 測(cè)試的場(chǎng)所不同:Alpha測(cè)試是指把用戶請(qǐng)到開發(fā)方的場(chǎng)所來(lái)測(cè)試,beta測(cè)試是指在一個(gè)或多個(gè)用戶的場(chǎng)所進(jìn)行的測(cè) 試。
②Alpha測(cè)試的環(huán)境是受開發(fā)方控制的,用戶的數(shù)量相對(duì)比較少,時(shí)間比較集中。
beta測(cè)試的環(huán)境是不受開發(fā)方控制的, 用戶數(shù)量相對(duì)比較多,時(shí)間不集中。
③alpha測(cè)試先于beta測(cè)試執(zhí)行。
3.按照按照是否運(yùn)行程序劃分
靜態(tài)測(cè)試(Static testing)
靜態(tài)方法是指不運(yùn)行被測(cè)程序本身,僅通過(guò)分析或檢查源程序的語(yǔ)法、結(jié)構(gòu)、過(guò)程、接口等來(lái)檢查程序的正確性。對(duì)需求規(guī)格說(shuō)明書、軟件設(shè)計(jì)說(shuō)明書、源程序做結(jié)構(gòu)分析、流程圖分析、符號(hào)執(zhí)行來(lái)找錯(cuò)。分析如下
檢查項(xiàng):代碼風(fēng)格和規(guī)則審核;程序設(shè)計(jì)和結(jié)構(gòu)的審核;業(yè)務(wù)邏輯的審核;走查、審查與技術(shù)復(fù)審手冊(cè)。
靜態(tài)質(zhì)量:度量所依據(jù)的標(biāo)準(zhǔn)是ISO9126。在該標(biāo)準(zhǔn)中,軟件的質(zhì)量用以下幾個(gè)方面來(lái)衡量,即功能性(Functionality)、可靠性(Reliability)、可用性(Usability)、有效性(Efficiency)、可維護(hù)性(Maintainability)、可移植性(Portability)。
代碼靜態(tài)分析和文檔測(cè)試都屬于靜態(tài)測(cè)試
動(dòng)態(tài)測(cè)試(Dynamic testing)
動(dòng)態(tài)測(cè)試方法是指通過(guò)運(yùn)行被測(cè)程序,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,并分析運(yùn)行效率、正確性和健壯性等性能。這種方法由三部分組成:構(gòu)造測(cè)試用例、執(zhí)行程序、分析程序的輸出結(jié)果。
4.按照是否手工劃分
手工測(cè)試(Manual testing)
手工測(cè)試就是由人去一個(gè)一個(gè)的輸入用例,然后觀察結(jié)果,和機(jī)器測(cè)試相對(duì)應(yīng),屬于比較原始但是必須的一個(gè)步驟。
優(yōu)點(diǎn):自動(dòng)化無(wú)法替代探索性測(cè)試、發(fā)散思維結(jié)果的測(cè)試。
缺點(diǎn):執(zhí)行效率慢,量大易錯(cuò)。
自動(dòng)化測(cè)試(Automation Testing)
就是在預(yù)設(shè)條件下運(yùn)行系統(tǒng)或應(yīng)用程序,評(píng)估運(yùn)行結(jié)果,預(yù)先條件應(yīng)包括正常條件和異常條件。簡(jiǎn)單說(shuō)自動(dòng)化測(cè)試是把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過(guò)程。
自動(dòng)化測(cè)試比如功能測(cè)試自動(dòng)化、性能測(cè)試自動(dòng)化、安全測(cè)試自動(dòng)化。 通常所說(shuō)的自動(dòng)化是指功能測(cè)試自動(dòng)化。
自動(dòng)化測(cè)試按照測(cè)試對(duì)象來(lái)分,還可以分為接口測(cè)試、UI測(cè)試等。接口測(cè)試的ROI(產(chǎn)出投入比)要比UI測(cè)試高
自動(dòng)化實(shí)施步驟:
1.完成功能測(cè)試,版本基本穩(wěn)定
2.根據(jù)項(xiàng)目特性,選擇適合項(xiàng)目的自動(dòng)化工具,并搭建環(huán)境
3.提取手工測(cè)試的測(cè)試用例轉(zhuǎn)化為自動(dòng)化測(cè)試的用例
4.通過(guò)工具、代碼實(shí)現(xiàn)自動(dòng)化的構(gòu)造輸入,自動(dòng)檢測(cè)輸出結(jié)果是否符合預(yù)期
5.生成自動(dòng)測(cè)試報(bào)告
6.持續(xù)改進(jìn),腳本優(yōu)化。
5.按照是否查看代碼劃分
黑盒測(cè)試(Black-box Testing)
黑盒測(cè)試也稱功能測(cè)試,測(cè)試中把被測(cè)的軟件當(dāng)成一個(gè)黑盒子,不關(guān)心盒子的內(nèi)部結(jié)構(gòu)是什么,只關(guān)心軟件的輸入數(shù)據(jù)與輸出數(shù)據(jù)。
方法:等價(jià)類、邊界值、因果圖、正交表、場(chǎng)景法、錯(cuò)誤猜測(cè)法
白盒測(cè)試(White-box Testing)
白盒測(cè)試又稱結(jié)構(gòu)測(cè)試、透明盒測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于代碼的測(cè)試。白盒指的打開盒子,去研究里面的源代碼 和程序結(jié)果。接口測(cè)試也是白盒測(cè)試的是一種 。
方法:
(1)語(yǔ)句覆蓋法
(2)邏輯覆蓋(判定覆蓋,條件覆蓋,判定和條件組合覆蓋,條件和條件組合覆蓋)
(3)路徑覆蓋
(4)循環(huán)覆蓋
灰盒測(cè)試(Gray-Box Testing)
灰盒測(cè)試,是介于白盒測(cè)試與黑盒測(cè)試之間的一種測(cè)試,灰盒測(cè)試多用于集成測(cè)試階段,不僅關(guān)注輸出、輸入的正 確性,同時(shí)也關(guān)注程序內(nèi)部的情況
6.按照測(cè)試地域劃分
國(guó)際化測(cè)試
軟件的國(guó)際化和軟件的本地化是開發(fā)面向全球不同地區(qū)用戶使用的軟件系統(tǒng)的兩個(gè)過(guò)程。而本地化測(cè)試和國(guó)際化測(cè)試則是針對(duì)這類軟件產(chǎn)品進(jìn)行的測(cè)試。由于軟件的全球化普及,還有軟件外包行業(yè)的興起,軟件的本地化和國(guó)際化測(cè)試儼然成為了一個(gè)獨(dú)特的測(cè)試專門領(lǐng)域。
本地化和國(guó)際化測(cè)試與其他類型的測(cè)試存在很多不同之處。下面是本地化和國(guó)際化測(cè)試 的一些要點(diǎn)。
1、本地化后的軟件在外觀上與原來(lái)版本是否存在很大的差異,外觀是否墼齊、不走樣。
2、是否對(duì)所有界面元素都進(jìn)行了本地化處理,包括對(duì)話框、菜單、工具欄、狀態(tài)欄、提示信息(包括聲音的提示)、日志等。
3、在不同的屏幕分辨率下界面是否正常顯示。
4、是否存在不同的字體大小,字體設(shè)置是否恰當(dāng)。
5、日期、數(shù)字格式、貨幣等是否能適應(yīng)不同國(guó)家的文化習(xí)俗。例如,中文是年月日,而英文是月日年。
6、排序的方式是否考慮了不同語(yǔ)言的特點(diǎn)。例如,中文按照第一個(gè)字的漢語(yǔ)拼音順序排序,而英文按照首字母排序。
7、在不同的國(guó)家采用不同的度量單位,軟件是否能自適應(yīng)和轉(zhuǎn)換。
8、軟件是否能在不同類型的硬件上正常運(yùn)行,特別是在當(dāng)?shù)厥袌?chǎng)上銷售的流行硬件上。
9、軟件是否能在Windows或者其他操作系統(tǒng)的當(dāng)?shù)匕姹旧险_\(yùn)行。
10、聯(lián)機(jī)幫助和文檔是否已經(jīng)翻譯,翻譯后的鏈接是否正常。正文翻譯是否正確、恰當(dāng), 是否有語(yǔ)法錯(cuò)誤。
軟件本地化和國(guó)際化測(cè)試是一個(gè)綜合了翻譯行業(yè)和軟件測(cè)試行業(yè)的測(cè)試類型。它要求測(cè) 試人員具備一定的翻譯能
力、語(yǔ)言文化,同時(shí)具備測(cè)試人員的基本技能。
本地化測(cè)試
之前我們所講的全是本地化測(cè)試。
7.按照測(cè)試對(duì)象劃分
業(yè)務(wù)測(cè)試
是測(cè)試人員把系統(tǒng)各個(gè)模塊串接起來(lái)運(yùn)行、模擬真實(shí)用戶實(shí)際的工作流程,滿足用戶需求定義的功能來(lái)進(jìn)行測(cè)試的過(guò)程。
界面測(cè)試
界面測(cè)試(簡(jiǎn)稱UI測(cè)試),測(cè)試用戶界面的功能模塊的布局是否合理、整體風(fēng)格是否一致、各個(gè)控件的放置位置是否符合客戶使用習(xí)慣,此外還要測(cè)試界面操作便捷性、導(dǎo)航簡(jiǎn)單易懂性,頁(yè)面元素的可用性,界面中文字是否正確,命名是否統(tǒng)一,頁(yè)面是否美觀,文字、圖片組合是否完美等。
容錯(cuò)性測(cè)試 容錯(cuò)性測(cè)試是檢查軟件在異常條件下自身是否具有防護(hù)性的措施或某種災(zāi)難性恢復(fù)的手段。當(dāng)系統(tǒng)出錯(cuò)時(shí),能否在指定時(shí)間間隔內(nèi)修正錯(cuò)誤并重新啟動(dòng)系統(tǒng)。容錯(cuò)性測(cè)試包括兩個(gè)方面:
①輸入異常數(shù)據(jù)或進(jìn)行異常操作,以檢驗(yàn)系統(tǒng)的保護(hù)性。如果系統(tǒng)的容錯(cuò)性好,系統(tǒng)只給出提示或內(nèi)部消化掉,而不會(huì)導(dǎo)致系統(tǒng)出錯(cuò)甚至崩潰。
②災(zāi)難恢復(fù)性測(cè)試。通過(guò)各種手段,讓軟件強(qiáng)制性地發(fā)生故障,然后驗(yàn)證系統(tǒng)已保存的用戶數(shù)據(jù)是否丟失,系統(tǒng)和數(shù)據(jù)是否能盡快恢復(fù)。
文檔測(cè)試
●開發(fā)文件:可行性研究報(bào)告、軟件需求說(shuō)明書、數(shù)據(jù)要求說(shuō)明書、概要設(shè)計(jì)說(shuō)明書、詳細(xì)設(shè)計(jì)說(shuō)明書、數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書、模塊開發(fā)卷宗。
●用戶文件:用戶手冊(cè)、操作手冊(cè),用戶文檔的作用:改善易安裝性;改善軟件的易學(xué)性與易用性;改善軟件可靠性;降低技術(shù)支持成本。
●管理文件:項(xiàng)目開發(fā)計(jì)劃、測(cè)試計(jì)劃、測(cè)試分析報(bào)告、開發(fā)進(jìn)度月報(bào)、項(xiàng)目開發(fā)總結(jié)報(bào)告。
●文檔測(cè)試的關(guān)注點(diǎn):
文檔的術(shù)語(yǔ)
文檔的正確性
文檔的完整性
文檔的一致性
文檔的易用性
兼容性測(cè)試
兼容性主要是指軟件之間能否很好的運(yùn)做,會(huì)不會(huì)有影響、軟件和硬件之間能否發(fā)揮很好的效率工作,會(huì)不會(huì)影響導(dǎo)致系統(tǒng)的崩潰。
●平臺(tái)測(cè)試
●瀏覽器測(cè)試
Chrome,Firefox,edge,IE,360,搜狗,Safari,每一個(gè)瀏覽器的主流版本
●軟件本身能否向前或者向后兼容:對(duì)之前或之后的版本的影響
●測(cè)試軟件能否與其它相關(guān)的軟件兼容:如淘寶支付寶安裝兼容
●數(shù)據(jù)兼容性測(cè)試:淘寶支付金額和物流會(huì)流轉(zhuǎn)到支付寶通知消息中
易用性測(cè)試
產(chǎn)品設(shè)計(jì)遵循標(biāo)準(zhǔn)規(guī)范
直觀性
舒適性
安裝測(cè)試
測(cè)試程序的安裝、卸載
典型的是app的安裝、卸載
安全測(cè)試 安全測(cè)試是一個(gè)相對(duì)獨(dú)立的領(lǐng)域,需要更多的專業(yè)知識(shí)。例如web的安全測(cè)試,需要熟悉各種網(wǎng)絡(luò)協(xié)議TCP\HTTP,防火墻,CDN,熟悉各種操作系統(tǒng)的漏洞,熟悉路由器等。從軟件來(lái)說(shuō),熟悉各種攻擊手段,例如
SQL注入、Xss等。作為web入門測(cè)試,可以IBM的appscan。
性能測(cè)試
檢查系統(tǒng)是否滿足需求規(guī)格說(shuō)明書中規(guī)定的性能。
通常表現(xiàn)在以下幾個(gè)方面:
對(duì)資源利用(如內(nèi)存、處理機(jī)周期等)
進(jìn)行的精確度量
對(duì)執(zhí)行間隔
日志事件(如中斷,報(bào)錯(cuò))
響應(yīng)時(shí)間 吞吐量(TPS)
輔助存儲(chǔ)區(qū)(例如緩沖區(qū)、工作區(qū)的大小等)
處理精度等進(jìn)行的監(jiān)測(cè)
內(nèi)存泄漏測(cè)試
造成內(nèi)存泄露的原因有很多,最常見的有以下幾種。
分配完內(nèi)存之后忘了回收。
程序?qū)懛ㄓ袉?wèn)題,造成沒(méi)辦法回收。
某些API函數(shù)的使用不正確,造成內(nèi)存泄露。
沒(méi)有及時(shí)釋放。
內(nèi)存泄漏的檢測(cè):
1、對(duì)于不同的程序可以使用不同的方法來(lái)進(jìn)行內(nèi)存泄露的檢查,還可以使用一些專門的工具來(lái)進(jìn)行內(nèi)存問(wèn)題的檢查,例如MemProof.
AQTime、Purify、BundsChecker等。
有些開發(fā)工具本身就帶有內(nèi)存問(wèn)題檢查機(jī)制.要確保程序員在編寫程序和編譯程序的時(shí)候打開這些功能。 2、通過(guò)代碼掃描分析工具來(lái)檢查
總結(jié)
以上是生活随笔為你收集整理的软件测试之测试的分类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 从零开始学Node.js(八_删查)
- 下一篇: 1、类型和语法——类型