一個軟件項目的測試,要測試該項目的各個方面,根據測試內容的不同,測試的分類也不同。一般常用的測試可以分為以下幾種:
功能測試,逐個測試每個功能,直到可以確信該功能沒有任何問題。白盒功能測試通常叫做單元測試,幾種測試可以看到的代碼的功能。黑盒功能測試關注永和可以做或選擇的事情。在涉及到複雜的功能時,要先做好每個簡單功能的測試。
功能集成測試,一起測試多個功能,以檢查功能在一起執行的情況。
菜單瀏覽,瀏覽GUI產品中所有的菜單和對話框,使用每個可用的選項。(該測試也就是所謂的界面測試)
域測試,域是一個集合,包含所有可能的函數變量取值範圍。在域測試中,要標識函數和變量。變量可以是輸入或輸出變量。域測試通常配合等價類分析和邊界測試進行,主要關注的是變量,而不是功能。很多變量被多個功能使用,進行域測試時要分析變量,任何根據分析,以這個變量作為輸入或輸出,測試涉及這個變量的每個功能。(這種測試可用於測試輸入數據的類型、長度等情況。)
邏輯測試,測試變量在程序中的關係。主要用於測試程序中的選擇關係,比如有審批流程的功能或者條件判斷的情況。一般使用因果圖的方式列出程序間的邏輯關係,然後逐一測試。
基於規格説明的測試,這種測試關注驗證規格説明中所做的有關產品的每個事實的聲明。規格説明常常包括使用手冊,市場開發文檔或廣告,技術支持人員寄給客户的所用聲明等。(用於確保用户得到的説明要和產品保持一致。)
基於需求的測試,測試關注證明程序滿足需求文檔中的所有需求。(這種測試是測試人員最常用的測試,和功能測試不同的是,這個測試要以需求説明為根本,逐步驗證產品的功能。)
組合測試,相互組合測試兩個或更多的變量,特別是在複雜的業務中,這種測試尤其重要,很多問題都隱藏在不同的操作組合中。(組合測試比較困難,因為組合數太多,無法全部覆蓋,容易遺漏某些組合説觸發的錯誤,目前沒有很好的測試辦法。)
除上述的測試種類外,還有路徑測試、語句與分支覆蓋率,配置覆蓋率等,由於不經常使用,就不在一一描述了。