按開發(fā)階段劃分
1.單元測試(Unit Testing)
單元測試,又稱模塊測試。對軟件的組成單位進(jìn)行測試,其目的是檢驗軟件基本組成單位的正確性。測試的對象的是軟件你測試的最小單位:模塊。
測試階段:編碼后或者編碼前
測試對象:模塊
測試人員:白盒測試工程師或開發(fā)人員
測試依據(jù):代碼和注釋+詳細(xì)文檔
測試方法:白盒測試
測試內(nèi)容:模塊接口測試、局部數(shù)據(jù)測試、路徑測試、錯誤處理測試、邊界測試
補充說明:
(1)學(xué)習(xí)測試依據(jù)時,我們可以對比軟件測試的“V”模型結(jié)合記憶
(2)白盒測試不是單元測試,單元測試是白盒測試
(3)測試驅(qū)動開發(fā):測試人員先編寫測試用例,開發(fā)人員根據(jù)測試用例寫程序
2.集成測試(Integration Testing)
集成測試也稱聯(lián)合測試(聯(lián)調(diào))、組裝測試:將程序模塊采用適當(dāng)?shù)募刹呗越M裝起來,對系統(tǒng)的接口及集成后的功能進(jìn)行正確性檢測的測試工作。集成主要目的是檢查軟件單位之間的接口是否正確。
測試階段:一般是單元測試之后
測試對象:模塊間的接口
測試人員:白盒測試工程師或開發(fā)工程師
測試依據(jù):單元測試的文檔+概要設(shè)計文檔
測試方法:黑盒測試與白盒測試(灰盒測試)
測試內(nèi)容:模塊之間數(shù)據(jù)傳輸、模塊之間功能沖突、模塊組裝功能的正確性、全局?jǐn)?shù)據(jù)結(jié)構(gòu)、單模塊缺陷對系統(tǒng)的影響
補充說明:
單元測試是一個模塊內(nèi)部的測試,集成測試是在模塊之間進(jìn)行測試(至少兩個)
3.系統(tǒng)測試(System Testing)
系統(tǒng)測試:將軟件系統(tǒng)看成是一個系統(tǒng)的測試。包括對功能、性能以及軟件所運行的軟硬件環(huán)境進(jìn)行測試。時間大部分在系統(tǒng)測試執(zhí)行階段,包括回歸測試和冒煙測試。
測試階段:集成測試階段之后
測試對象:整個系統(tǒng)(軟件、硬件)
測試人員:黑盒測試工程師
測試依據(jù):需求規(guī)格說明文檔
測試方法:黑盒測試
測試內(nèi)容:功能、界面、可靠性、易用性、性能、兼容性、安全性等
補充說明:
(1)系統(tǒng)測試是從完整的角度,廣面去看待問題,不再看模塊
(2)雖然系統(tǒng)測試包括冒煙測試和回歸測試,但三者之間是有嚴(yán)格的先后順序的,即:先冒煙、再系統(tǒng)、后回歸。
(1)回歸測試(Regression Testing):指修改了舊的代碼之后,重新進(jìn)行測試以確認(rèn)修改沒有引入新的錯誤或?qū)е缕渌a產(chǎn)生錯誤。(自動回歸測試將大幅度降低系統(tǒng)測試、維護(hù)升級等階段的成本)。
在整個軟件測試過程中占有很大的工作比重,軟件開發(fā)的各個階段都會進(jìn)行多次回歸測試。隨著系統(tǒng)的龐大,回歸測試的成本越來越大,通過正確的回歸測試策略來改進(jìn)回歸測試的效率和有效性是很有意義的。
(2)冒煙測試(smoke testing):該術(shù)語來自硬件,指對一個硬件或一組硬件進(jìn)行更改或修復(fù)后,直接給設(shè)備加電。如果沒有冒煙,則該組件就通過了測試,也可以理解為該種測試耗時短,僅用一袋煙的功夫就足夠了。
冒煙測試的對象是每一個新編譯的需要正式測試的軟件版本,目的是確認(rèn)軟件基本功能正常,可以進(jìn)行后續(xù)正式的測試工作。
冒煙測試的執(zhí)行者是版本編譯人。
冒煙測試一般在開發(fā)人員開發(fā)完畢后送給測試人員來進(jìn)行測試時,測試人員會先進(jìn)行冒煙測試,保證基本功能正常,不阻礙后續(xù)測試。
4.驗收測試(Acceptance Testing)
驗收測試(交付測試):是部署軟件之前的最后一個測試操作。它是技術(shù)測試的最后一個階段,也稱為交付測試。驗收測試的目的是確保軟件準(zhǔn)備就緒,按照項目合同、任務(wù)書、雙方約定的驗收依據(jù)文檔,向軟件購買都展示該軟件系統(tǒng)滿足原始需求。
測試階段:系統(tǒng)測試通過后
測試對象:整個系統(tǒng)(包括軟硬件)
測試人員:主要是最終用戶或者需求方
測試依據(jù):用戶需求、驗收標(biāo)準(zhǔn)
測試方法:黑盒測試
測試內(nèi)容:同系統(tǒng)測試(功能、各類文檔文檔等)
下面,我們以手機為例,舉個例子:
針對買回來的新手機以及它的美顏功能來進(jìn)行測試。
(1)當(dāng)買回來的手機,它的美顏功能有問題時,我們只針對美顏功能的代碼進(jìn)行測試,就是單元測試。
(2)對于新買回來的手機,檢測手機通訊錄是否可以增添、刪除、更改手機號碼,打電話時需要手動的輸入電話,也可以在手機中查找,這就是集成測試。
(3)新手機都會有一個合格標(biāo)簽,原因是出廠前手機廠商會對某一個型號的手機功能全部測試一遍,包括手機硬件本身,手機自帶的APP等,這個叫系統(tǒng)測試。
(4)當(dāng)修好新買回來的手機的美顏功能以后,用戶除了會查看美顏功能是否完好,還會查看其他功能是否也完好,這個叫回歸測試。
(5)對于新買回來的手機,我們做的第一件事是將常用的手機功能試一遍,第二件事情就是講所有功能都試一遍,這個叫冒煙測試。
(6)對于新買回來的手機,一般都有7天包退,30天包換,我們一般都是在7天內(nèi)把手機的所有功能都試一遍,這叫驗收測試。
-
集成
+關(guān)注
關(guān)注
1文章
177瀏覽量
30601 -
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3670瀏覽量
131035 -
軟件測試
+關(guān)注
關(guān)注
2文章
238瀏覽量
19092
發(fā)布評論請先 登錄
GUI開發(fā)的幾個階段
嵌入式系統(tǒng)的特點、分類、發(fā)展和應(yīng)用
軟件代碼缺陷分類及其應(yīng)用
基于模塊化設(shè)計的嵌入式軟件測試方法

什么是軟件測試?軟件測試的目的?
基于UML建模的軟件測試系統(tǒng)設(shè)計

軟件測試是如何發(fā)展的,分為哪幾個階段?

納米軟件關(guān)于集成電路測試的分類介紹,國內(nèi)知名的集成電路測試服務(wù)企業(yè)
軟件開發(fā)的流程和方法有哪些?

評論