軟件測試的幾種基本方法


 上次我們介紹了軟件測試的基本概念及基本原則,今天我們就來看看軟件測試的幾種基本方法吧。

    首先,當然就是我們大家熟悉的黑盒測試和白盒測試,這是按是否查看程序內部結構分的。其次,還可以按是否運行程序分為靜態測試和動態測試,按階段可分為單元測試、集成測試、系統測試、驗收測試、回歸測試。除此之外還有冒煙測試、隨機測試等。接下來就詳細介紹一下以上幾種測試。

一、按是否查看程序內部結構分為:

1、黑盒測試(Black Box Testing):

    黑盒測試是根據軟件的規格對軟件進行的測試,這類測試不考慮軟件內部的運作原理,因此軟件對用戶來說就像一個黑盒子。簡單來說,這種測試只關心輸入和輸出的結果,並不考慮程序的源代碼。黑盒測試分為功能測試和性能測試:

1)功能測試(function testing),是黑盒測試的一方面,它檢查實際軟件的功能是否符合用戶的需求。包括邏輯功能測試、界面測試、易用性測試和兼容性測試。

2)性能測試(performance testing),軟件的性能主要有時間性能和空間性能兩種。其中,時間性能主要指軟件的一個具體事務的響應時間,而空間性能主要指軟件運行時所消耗的系統資源。

2、白盒測試(White Box Testing):

    白盒測試是把測試對象看作一個打開的盒子。利用白盒測試法進行動態測試時,需要測試軟件產品的內部結構和處理過程,不需測試軟件產品的功能。與黑盒測試相反,這種測試就要研究程序里面的源代碼和程序結構。

二、按是否運行程序分為:

1、靜態測試(static testing):

    靜態測試指測試不運行的部分,只是靜態地檢查程序代碼、界面或文檔可能存在的錯誤的過程。例如測試產品說明書,對此進行檢查和審閱.。

2、動態測試(dynamic testing):

    動態測試是指通過運行軟件來檢驗軟件的動態行為和運行結果的正確性。具體操作就是輸入相應的測試數據,檢查輸出結果和預期結果是否相符的過程。

三、按階段分為:

 

1、單元測試(Unit Testing):
    單元測試是最微小規模的測試,測試的是某個功能或代碼塊。典型地由程序員而非測試員來做,因為它需要知道內部程序設計和編碼的細節知識。

 

2、集成測試(Integration Testing):
    集成測試是指一個應用系統的各個部件的聯合測試,以決定他們能否在一起共同工作並沒有沖突。部件可以是代碼塊、獨立的應用、網絡上的客戶端或服務器端程序。這種類型的測試尤其與客戶服務器和分布式系統有關。一般集成測試以前,單元測試需要完成。

 

3、系統測試(System Testing):
    系統測試是將整個軟件系統看做一個整體進行測試,包括對功能、性能,以及軟件所運行的軟硬件環境進行測試。

 

4、驗收測試(Accept Testing):
    驗收測試是基於客戶或最終用戶的規格書的最終測試,或基於用戶一段時間的使用后,看軟件是否滿足客戶要求。一般從功能、用戶界面、性能、業務關聯性進行測試。

 

5、回歸測試(Regression testing):

 

    回歸測試是指在發生修改之后重新測試先前的測試以保證修改的正確性。理論上,軟件產生新版本,都需要進行回歸測試,驗證以前發現和修復的錯誤是否在新軟件版本上再次出現。

四、其他類型測試:

1、冒煙測試(smoke testing):

    冒煙測試的名稱可以理解為該種測試耗時短,僅用一袋煙功夫足夠了。也有人認為是形象地類比新電路板基本功能檢查。任何新電路板焊好后,先通電檢查,如果存在設計缺陷,電路板可能會短路,板子冒煙了。冒煙測試的對象是新編譯的每一個需要正式測試的軟件版本,目的是確認軟件基本功能正常,可以進行后續的正式測試工作。冒煙測試的執行者是版本編譯人員。

2、隨機測試(random testing):

    隨機測試是指測試中所有的輸入數據都是隨機生成的,其目的是模擬用戶的真實操作,並發現一些邊緣性的錯誤。

 

 

    以上就是幾種常用的軟件測試方法,當然還有很多其他的測試方法(比如逆向測試,極限測試等),在這里就不一一介紹了。下周預告:軟件測試的幾種常用工具。下周見~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM