1. 程式人生 > 其它 >軟體測試分類

軟體測試分類

軟體測試分類

軟體測試分類

一、測試方法

1、白盒測試

白盒測試又稱結構測試、透明盒測試、邏輯驅動測試或基於程式碼的測試。白盒測試是一種測試用例設計方法,盒子指的是被測試的軟體,白盒指的是盒子是可視的,你清楚盒子內部的東西以及裡面是如何運作的。“白盒”法全面瞭解程式內部邏輯結構、對所有邏輯路徑進行測試。“白盒”法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程式的內部結構,從檢查程式的邏輯著手,得出測試資料。貫穿程式的獨立路徑數是天文數字。

2、黑盒測試

黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把程式看作一個不能開啟的黑盒子,在完全不考慮程式內部結構和內部特性的情況下,在程式介面進行測試,它只檢查程式功能是否按照需求規格說明書的規定正常使用,程式是否能適當地接收輸入資料而產生正確的輸出資訊。黑盒測試著眼於程式外部結構,不考慮內部邏輯結構,主要針對軟體介面和軟體功能進行測試。

3、探索性測試

探索性測試可以說是一種測試思維技術。它沒有很多實際的測試方法、技術和工具,但是卻是所有測試人員都應該掌握的一種測試思維方式。探索性強調測試人員的主觀能動性,拋棄繁雜的測試計劃和測試用例設計過程,強調在碰到問題時及時改變測試策略。

對探索性測試最直白的定義是:同時設計測試和執行測試。探索性測試有時候會與即興測試(ad hoc testing)混淆。即興測試通常是指臨時準備的、即興的Bug搜尋測試過程。從定義可以看出,誰都可以做即興測試。由Cem Kaner提出的探索性測試,相比即興測試是一種精緻的、有思想的過程。

二、程式執行狀態

1、靜態測試

靜態測試是指無須執行被測程式碼,而是藉助專用的軟體測試工具評審軟體文件或程式,度量程式靜態複雜度,檢查軟體是否符合程式設計標準,藉以發現編寫的程式的不足之處,減少錯誤出現的概率。

2、動態測試

動態測試方法是指通過執行被測程式,檢查執行結果與預期結果的差異,並分析執行效率、正確性和健壯性等效能。這種方法由三部分組成:構造測試用例、執行程式、分析程式的輸出結果。

三、軟體階段

1、單元測試

單元測試,是指對軟體中的最小可測試單元進行檢查和驗證。對於單元測試中單元的含義,一般來說,要根據實際情況去判定其具體含義,如C語言中單元指一個函式,Java裡單元的指一個類,圖形化的軟體中可以指一個視窗或一個選單等。總得來說,單元就是人為規定的最小的被測功能模組。單元測試是在軟體開發過程中要進行的最低級別的測試活動,軟體的獨立單元將在與程式的其他部分相隔離的情況下進行測試。

2、整合測試

整合測試,也叫組裝測試或聯合測試。在單元測試的基礎上,將所有模組按照設計要求(如根據結構圖)組裝成為子系統或系統,進行整合測試。

整合測試是單元測試的邏輯擴充套件。他最簡單的形式是:把兩個已經測試過的單元組合成一個元件,測試他們之間的介面。從這一層意義上講,元件是指多個單元的整合聚合。在現實方案中,許多單元組合成元件,而這些元件又聚合為程式的更大部分。方法是測試片段的組合,並最終擴充套件成程序,將模組與其他組的模組一起測試。最後,將構成程序的所有模組一起測試。此外,如果程式由多個程序組成,應該成對測試他們,而不是同時測試所有程序。

3、系統測試

系統測試,英文是System Testing。是將經過整合測試的軟體,把硬體、軟體、操作人員看作一個整體,在實際執行環境下對計算機系統進行的一系列嚴格有效地測試,以發現軟體潛在的問題,保證系統的正常執行。這種測試可以發現系統分析和設計中的錯誤。

4、驗收測試

驗收測試是部署軟體之前的最後一個測試操作。在軟體產品完成了單元測試、整合測試和系統測試之後,產品釋出之前所進行的軟體測試活動。它是技術測試的最後一個階段,也稱之為交付測試。驗收 測試的目的是確保軟體準備就緒,並且可以讓終端使用者將其用於執行軟體的既定功能和任務。

5、迴歸測試

迴歸測試是指修改了舊程式碼後,重新進行測試以確認修改沒有引入新的錯誤或導致其他程式碼產生錯誤。自動迴歸測試將大幅降低系統測試、維護升級等階段的成本。

在軟體生命週期中的任何一個階段, 只要軟體發生了改變,就可能給該軟體帶來問題。軟體的改變可能是源於發現了錯誤並做了修改,也有可能是因為在整合或維護階段加入了新的模組。當軟體中所含錯誤被發現時, 如果錯誤跟蹤與管理系統不夠完善,就可能會遺漏對這些錯誤的修改;而開發者對錯誤理解的不夠透徹, 也可能導致所做的修改只修正了錯誤的外在表現,而沒有修復錯誤本身從而造成修改失敗;修改還有可能產生副作用從而導致軟體未被修改的部分產生新的問題,使本來工作正常的功能產生錯誤。同樣, 在有新程式碼加入軟體的時候, 除了新加入的程式碼中有可能含有錯誤外新程式碼還有可能對原有的程式碼帶來影響。因此,每當軟體發生變化時,我們就必須重新測試現有的功能,以便確定修改是否達到了預期的目的,檢查修改是否損害了原有的正常功能。同時, 還需要補充新的測試用例來測試新的或被修改了的功能。為了驗證修改的正確性及其影響就需要進行迴歸測試。

6、Alpha測試(α測試)

α測試是由一個使用者在開發環境下進行的測試,也可以是公司內部的使用者在模擬實際操作環境下進行的測試。α測試的目的是評價軟體產品的FLURPS(即功能、局域化、可用性、可靠性、效能和支援)。尤其注重產品的介面和特色。α測試可以從軟體產品編碼結束之時開始,或在模組(子系統)測試完成之後開始,也可以在確認測試過程中產品達到一定的穩定和可靠程度之後再開始。α測試即為非正式驗收測試。

7、Beta測試(β測試)

β測試是軟體的多個使用者在一個或多個使用者的實際使用環境下進行的測試。開發者通常不在測試現場,β測試不能由程式設計師或測試員完成。因而,Beta測試是在開發者無法控制的環境下進行的軟體現場應用。在Beta測試中,由使用者記下遇到的所有問題,包括真實的以及主管認定的,定期向開發者報告,開發者在綜合使用者的報告後,做出修改,最後將軟體產品交付給全體使用者使用。Beta測試著重於產品的支援性,包括文件、客戶培訓和支援產品的生產能力。只有當Alpha測試達到一定的可靠程度後,才能開始Beta測試。由於Beta測試的主要目標是測試可支援性,所以Beta測試應該儘可能由主持產品發行的人員來管理。

四、服務型別

1、B/S

B/S結構(Browser/Server,瀏覽器/伺服器模式),是WEB興起後的一種網路結構模式,WEB瀏覽器是客戶端最主要的應用軟體。這種模式統一了客戶端,將系統功能實現的核心部分集中到伺服器上,簡化了系統的開發、維護和使用。客戶機上只要安裝一個瀏覽器(Browser英 ['braʊzə]美 ['braʊzɚ]),如Netscape NavigatorInternet Explorer伺服器安裝SQL ServerOracle、MYSQL等資料庫。瀏覽器通過Web Server 同資料庫進行資料互動。

2、C/S

C/S又稱Client/Server或客戶/伺服器模式。伺服器通常採用高效能的PC、工作站或小型機,並採用大型資料庫系統,如ORACLE、SYBASE、InfORMix或 SQL Server。客戶端需要安裝專用的客戶端軟體。

五、測試內容

1、功能測試

功能測試就是對產品的各功能進行驗證,根據功能測試用例,逐項測試,檢測產品是否達到使用者要求的功能。

2、負載測試

負載測試(Load Testing),通過測試系統在資源超負荷情況下的表現,以發現設計上的錯誤或驗證系統的負載能力。在這種測試中,將使測試物件承擔不同的工作量,以評測和評估測試物件在不同工作量條件下的效能行為,以及持續正常執行的能力。

3、壓力測試

壓力測試是模擬實際應用的軟硬體環境及使用者使用過程的系統負荷,長時間或超大負荷地執行測試軟體,來測試被測系統的效能、可靠性、穩定性等。

4、效能測試

效能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項效能指標進行測試。負載測試和壓力測試都屬於效能測試,兩者可以結合進行。

5、大資料測試

大資料是一個大的資料集合,通過傳統的計算技術無法進行處理。這些資料集的測試需要使用各種工具、技術和框架進行處理。大資料涉及資料建立、儲存、檢索、分析,而且它在數量、多樣性、速度方法都很出色。

測試大資料應用程式更多的是驗證其資料處理,而不是測試軟體產品的個別功能。當涉及到大資料測試時,效能和功能測試是關鍵。

在大資料測試中,QA工程師使用叢集和其他元件來驗證對TB級資料的成功處理。因為處理非常快,所以它需要高水平的測試技能。處理可以是三種類型:批量、實時、互動。

6、易用性測試

易用性測試是指使用者使用軟體時是否感覺方便,比如是否最多點選滑鼠三次就可以達到使用者的目的。易用性和可用性存在一定的區別,可用性是指是否可以使用,而易用性是指是否方便使用。

7、安裝測試

Installing testing(安裝測試),確保該軟體在正常情況和異常情況的不同條件下,例如,進行首次安裝、升級、完整的或自定義的安裝都能進行安裝。異常情況包括磁碟空間不足、缺少目錄建立許可權等。核實軟體在安裝後可立即正常執行。安裝測試包括測試安裝程式碼以及安裝手冊。安裝手冊提供如何進行安裝,安裝程式碼提供安裝一些程式能夠執行的基礎資料。通常情況測試伴隨安裝的整個過程。

8、恢復測試

恢復測試主要檢查系統的容錯能力。當系統出錯時,能否在指定時間間隔內修正錯誤並重新啟動系統。恢復測試首先要採用各種辦法強迫系統失敗,然後驗證系統是否能儘快恢復。對於自動恢復需驗證重新初始化(reinitialization)、檢查點(checkpointing mechanisms)、資料恢復(data recovery)和重新啟動 (restart)等機制的正確性;對於人工干預的恢復系統,還需估測平均修復時間,確定其是否在可接受的範圍內。

9、安全性測試

安全測試是在IT軟體產品的生命週期中,特別是產品開發基本完成到釋出階段,對產品進行檢驗以驗證產品符合安全需求定義和產品質量標準的過程 。

10、相容性測試

相容測試(Compatibility Test Suite )簡稱CTS, 指對所設計程式與硬體、軟體之間的相容性的測試。分為瀏覽器相容測試 和解析度相容測試兩類。

11、文件測試

文件測試是檢驗樣品使用者文件的完整性、正確性、一致性、易理解性、易瀏覽性。



作者:__Crazy各自安好
連結:https://www.jianshu.com/p/08998889f99b
來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。