更新時間:2020-11-13 來源:黑馬程序員 瀏覽量:
目前,軟件測試已經(jīng)形成一個完整的、體系龐大的學科,不同的測試領(lǐng)域都有不同的測試方法、技術(shù)與名稱,有很多讀者可能也聽過類似的黑盒測試、白盒測試、冒煙測試、單元測試等,其實它們是按照不同的分類方法而產(chǎn)生的測試名稱。按照不同的分類標準,可以將軟件測試分為很多不同的種類,下面我們詳細介紹這些軟件測試行業(yè)的專業(yè)名詞。
按照測試階段可以將軟件測試分為單元測試、冒煙測試、集成測試、系統(tǒng)測試與驗收測試。這種分類方式與軟件開發(fā)過程相契合,是為了檢驗軟件開發(fā)各個階段是否符合要求。
(1) 單元測試
單元測試是軟件開發(fā)的第一步測試,目的是為了驗證軟件單元是否符合軟件需求與設計。單元測試大多是開發(fā)人員進行的自測。
(2) 冒煙測試
冒煙測試最初是從電路板測試得來的,當電路板做好以后,首先會加電測試,如果電路板沒有冒煙再進行其他測試,否則就必須重新設計后再次測試。后來這種測試理念被引入到軟件測試中。在軟件測試中,冒煙測試是指軟件構(gòu)建版本建立后,對系統(tǒng)的基本功能進行簡單的測試,這種測試重點驗證的是程序的主要功能,而不會對具體功能進行深入測試。如果測試未通過,需要返回給開發(fā)人員進行修正;如果測試通過則再進行其他測試。因此,冒煙測試是對新構(gòu)建版本軟件進行的最基本測試。
(3) 集成測試
集成測試是冒煙測試之后進行的測試,它是將已經(jīng)測試過的軟件單元組合在一起測試它們之間的接口,用于驗證軟件是否滿足設計需求。
(4) 系統(tǒng)測試
系統(tǒng)測試是將經(jīng)過測試的軟件在實際環(huán)境中運行,并與其他系統(tǒng)的成分(如數(shù)據(jù)庫、硬件和操作人員等)組合在一起進行的測試。
(5) 驗收測試
驗收測試主要是對軟件產(chǎn)品說明進行驗證,逐行逐字地按照說明書的描述對軟件產(chǎn)品進行測試,確保其符合客戶的各項要求。
按照使用的測試技術(shù)可以將軟件測試分為黑盒測試與白盒測試。
(1)黑盒測試
黑盒測試就是把軟件(程序)當作一個有輸入與輸出的黑匣子,它把程序當作一個輸入域到輸出域的映射,只要輸入的數(shù)據(jù)能輸出預期的結(jié)果即可,不必關(guān)心程序內(nèi)部是怎么樣實現(xiàn)的,下圖所示。
(2)白盒測試
白盒測試又叫透明盒測試,它是指測試人員了解軟件程序的邏輯結(jié)構(gòu)、路徑與運行過程,在測試時,按照程序的執(zhí)行路徑得出結(jié)果。白盒測試就是把軟件(程序)當作一個透明的盒子,測試人員清楚地知道從輸入到輸出的每一步過程,如下圖所示。
相對于黑盒測試來說,白盒測試對測試人員的要求會更高一點,他要求測試人員具有一定的編程能力,而且要熟悉各種腳本語言。但是在軟件公司里,黑盒測試與白盒測試并不是界限分明的,在測試一款軟件時往往是黑盒測試與白盒測試相結(jié)合對軟件進行完整全面的測試。
按照軟件質(zhì)量特性可以將軟件測試分為功能測試與性能測試。
(1)功能測試
功能測試就是測試軟件的功能是否滿足客戶的需求,包括準確性、易用性、適合性、互操作性等。
(2)性能測試
性能測試就是測試軟件的性能是否滿足客戶的需求,性能測試包括負載測試、壓力測試、兼容性測試、可移植性測試和健壯性測試。
按照自動化程度可以將軟件測試分為手工測試與自動化測試。
(1)手工測試
手工測試是測試人員一條一條地執(zhí)行代碼完成測試工作。手工測試比較耗時費力,而且測試人員如果是在疲憊狀態(tài)下,則很難保證測試的效果。
(2)自動化測試
自動化測試是借助腳本、自動化測試工具等完成相應的測試工作,它也需要人工的參與,但是它可以將要執(zhí)行的測試代碼或流程寫成腳本,執(zhí)行腳本完成整個測試工作。
軟件測試類型有多種,包括界面類測試、功能測試、性能測試、安全性測試、文檔測試等,其中功能測試與性能測試前面已經(jīng)介紹,下面主要介紹其他幾種測試。
(1)界面類測試
界面類測試是驗證軟件界面是否符合客戶需求,包括界面布局是否美觀、按鈕是否齊全等。
(2)安全性測試
安全性測試是測試軟件在沒有授權(quán)的內(nèi)部或外部用戶的攻擊或惡意破壞時如何進行處理,是否能保證軟件與數(shù)據(jù)的安全。
(3)文檔測試
文檔測試以需求分析、軟件設計、用戶手冊、安裝手冊為主,主要驗證文檔說明與實際軟件之間是否存在差異。
其他分類
還有一些軟件測試無法具體歸到哪一類,但在測試行業(yè)中也會經(jīng)常進行這些測試,如α測試、β測試、回歸測試等,具體介紹如下。
(1) α測試
α測試是指對軟件最初版本進行測試。軟件最初版本一般不對外發(fā)布,在上線之前,由開發(fā)人員和測試人員或者用戶協(xié)助進行測試。測試人員記錄使用過程中出現(xiàn)的錯誤與問題整個測試過程是可控的。
(2) β測試
β測試是指對上線之后的軟件版本進行測試,此時軟件已上線發(fā)布,但發(fā)布的版本中可能會存在較輕微的Bug,由用戶在使用過程中發(fā)現(xiàn)錯誤與問題并進行記錄,然后反饋給開發(fā)人員進行修復。
(3)回歸測試
當測試人員發(fā)現(xiàn)缺陷以后,會將缺陷提交給開發(fā)人員,開發(fā)人員對程序進行修改,修改之后,測試人員會對修改后的程序重新進行測試,確認原有的缺陷已經(jīng)消除并且沒有引入新的缺陷,這個重新測試的過程就叫作回歸測試。回歸測試是軟件測試工作中非常重要的一部分,軟件開發(fā)的各個階段都會進行多次回歸測試。
(4)隨機測試
隨機測試是沒有測試用例、檢查列表、腳本或指令的測試,它主要是根據(jù)測試人員的經(jīng)驗對軟件進行功能和性能抽查。隨機測試是根據(jù)測試用例說明書執(zhí)行測試用例的重要補充手段,是保證測試覆蓋完整性的有效方式和過程。
猜你喜歡: