17792550360
掃描二維碼
關(guān)注卓目鳥學(xué)苑公眾號
掃描二維碼
關(guān)注卓目鳥學(xué)苑公眾號
大家都好奇軟件測試行業(yè)到底有哪些分類?其實軟件測試一般分為黑盒測試、白盒測試、功能測試、性能測試、安全測試、單元測試、集成測試、接口測試等等。小編今天就給大家仔細介紹一下。 1.就從軟件內(nèi)部結(jié)構(gòu)和具體 ...
大家都好奇軟件測試行業(yè)到底有哪些分類?其實軟件測試一般分為黑盒測試、白盒測試、功能測試、性能測試、安全測試、單元測試、集成測試、接口測試等等。小編今天就給大家仔細介紹一下。 1.就從軟件內(nèi)部結(jié)構(gòu)和具體實現(xiàn)來劃分,軟件測試可以分為: 白盒測試、黑盒測試、灰盒測試 (1)白盒測試:又稱結(jié)構(gòu)測試或邏輯測試,是按照程序內(nèi)部邏輯結(jié)構(gòu)和編碼結(jié)構(gòu),通過測試來檢測產(chǎn)品內(nèi)部動作是否按照設(shè)計規(guī)格說明書的規(guī)定正常進行,檢驗程序中的每條通路是否都能按預(yù)定要求正確工作。 這一方法是把測試對象看作一個打開的盒子,測試人員依據(jù)程序內(nèi)部邏輯結(jié)構(gòu)相關(guān)信息,設(shè)計或選擇測試用例并完成測試的一種測試方法。這種類型的測試需要從代碼語句發(fā)現(xiàn)內(nèi)部代碼在算法,溢出,路徑,條件等等中的缺點或者錯誤,進而加以修正。 常見的白盒測試的方法有:語句覆蓋,條件覆蓋,判定覆蓋,條件組合覆蓋,基本路徑覆蓋等等。 白盒測試的目的: ?、俦WC程序中所有關(guān)鍵路徑的測試,防止由于沒有執(zhí)行的路徑在實際投入運行后執(zhí)行到意外情況 ?、诤饬繙y試完整性 ③程序內(nèi)部所有的邏輯值真、假兩個分支的覆蓋 ④檢查內(nèi)存泄漏 ?、莓惓L幚淼姆种дZ句的執(zhí)行 ⑥解決實驗條件下很難搭建真實測試環(huán)境的問題 ?、邫z查代碼符合一定的編碼規(guī)范,減少由于編碼不規(guī)范而引入的錯誤,通過在不同點檢查程序的狀態(tài),確定實際的狀態(tài)是否與預(yù)期的狀態(tài)一致。 (2)黑盒測試:又稱為功能測試,不考慮程序內(nèi)部結(jié)構(gòu)和邏輯結(jié)構(gòu),主要是用來測試系統(tǒng)的功能是否滿足需求規(guī)格說明書,它是站在使用軟件或程序的角度,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應(yīng)關(guān)系出發(fā)進行的測試。 2.常見黑盒測試的方法:等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、正交試驗法、判定表驅(qū)動法、功能圖法 黑盒測試目的: ①檢查程序功能是否按照需求規(guī)格說明書的要求正常使用,測試每個功能是否有遺漏,測試性能特性是否滿足要求。 ②測試人機交互是否錯誤,檢測數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問是否錯誤,程序是否能適當(dāng)?shù)妮斎霐?shù)據(jù)而產(chǎn)生正確的輸出結(jié)果,保持外部信息(如數(shù)據(jù)庫或文件)的完整性。 ③檢測程序初始化和終止方面的錯誤。 (3)灰盒測試:介于白盒測試和黑盒測試之間,不僅關(guān)注輸出、輸入的正確性,同時也關(guān)注程序內(nèi)部的情況?;液袦y試不像白盒那樣詳細、完整,但又比黑盒測試更關(guān)注程序的內(nèi)部邏輯,常常是通過一些表征性的現(xiàn)象、事件、標(biāo)志來判斷內(nèi)部的運行狀態(tài)。 灰盒測試相對于其他黑白盒有什么特點: ?、倩液袦y試比白盒測試效率高,從程序的整體出發(fā),而非細節(jié). ?、诨液袦y試健壯性好,相對于白盒測試降低了程序代碼改變而導(dǎo)致用例失效的風(fēng)險。 ?、刍液袦y試更細致。灰盒測試要求測試人員關(guān)注程序的代碼邏輯,根據(jù)代碼邏輯擴充用例,更加細致2.根據(jù)軟件測試的階段來劃分: 單元測試—>集成測試—>系統(tǒng)測試—>驗收測試 (1)單元測試:單元測試是用來對一個模塊、一個函數(shù)或者一個類來進行正確性檢驗的測試工作,是指對軟件中的最小可測試單元進行檢查和驗證。對于單元測試中單元的含義,一般來說,要根據(jù)實際情況去判定其具體含義。 (2)集成測試:也叫組裝測試或聯(lián)合測試。在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計要求(如根據(jù)結(jié)構(gòu)圖)組裝成為子系統(tǒng)或系統(tǒng),進行集成測試。一些模塊雖然能夠單獨地工作,但并不能保證連接起來也能正常的工作,在全局上很可能暴露出來。一般由開發(fā)小組采用白盒加黑盒的方式來測試,既驗證“設(shè)計”,又驗證“需求”。 旨在檢驗軟件單元之間的接口關(guān)系,以期望通過測試發(fā)現(xiàn)各軟件單元接口之間存在的問題,最終把經(jīng)過測試的單元組成符合設(shè)計要求的軟件。 (3)系統(tǒng)測試:為判斷系統(tǒng)是否符合要求而對集成的軟、硬件系統(tǒng)進行的測試活動、它是將已經(jīng)集成好的軟件系統(tǒng),作為基于整個計算機系統(tǒng)的一個元素,與計算機硬件、外設(shè)、某些支持軟件、人員、數(shù)據(jù)等其他系統(tǒng)元素結(jié)合在一起,在實際運行環(huán)境下,對計算機系統(tǒng)進行一系列的組裝測試和確認測試。 (4)驗收測試:以用戶為主的測試,在軟件產(chǎn)品完成了單元測試、集成測試和系統(tǒng)測試之后,產(chǎn)品發(fā)布之前所進行的軟件測試活動。它是技術(shù)測試的最后一個階段,也稱為交付測試。驗收測試的目的是確保軟件準備就緒,并且可以讓最終用戶將其用于執(zhí)行軟件的既定功能和任務(wù)。驗收測試是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測試后,已經(jīng)按照設(shè)計把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經(jīng)基本排除了,接著就應(yīng)該進一步驗證軟件的有效性,這就是驗收測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。 3.性能測試又可以分為壓力測試與負載測試 性能測試:性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統(tǒng)的各項性能指標(biāo)進行測試。 (1)壓力測試:逐步增加系統(tǒng)負載,測試系統(tǒng)性能的變化,并最終確定在什么負載下系統(tǒng)性能處于失效狀態(tài),并以此來獲得系統(tǒng)能提供的最大服務(wù)級別。 (2)負載測試:模擬實際軟件系統(tǒng)所承受負載調(diào)教的系統(tǒng)負荷,通過不斷加載(例如增加模擬用戶的數(shù)量)或其他加載方式來觀察不同負載下系統(tǒng)響應(yīng)時間和數(shù)據(jù)吞吐量、系統(tǒng)占用的資源(如CPU、內(nèi)存等),來檢驗系統(tǒng)的行為和特性。 相同點:都屬于性能測試,負載測試強調(diào)系統(tǒng)正常工作情況下的性能指標(biāo);壓力測試的目的是發(fā)現(xiàn)在什么條件下系統(tǒng)的性能變得不可接受,發(fā)現(xiàn)應(yīng)用程序性能下降的拐點。 4.其他測試 (1)回歸測試:回歸測試是指修改了舊代碼后,重新進行測試以確認修改沒有引入新的錯誤或?qū)е缕渌a產(chǎn)生錯誤。自動回歸測試將大幅降低系統(tǒng)測試、維護升級等階段的成本。 (2)冒煙測試:完成一個新版本的開發(fā)后,對該版本的基本功能進行測試,保證基本功能和流程可以走通如果通不過,那么需要開發(fā)重新開發(fā),如果通過測試,才會進行下一步的測試(功能測試,集成測試,系統(tǒng)測試等等),優(yōu)點是節(jié)省測試時間,防止build失敗,缺點是覆蓋率較低。 |
分享本篇文章給更多人:
2020-05-27
2020-02-24
2020-05-27
2022-12-05
2020-05-27
請發(fā)表評論