一些基礎測試理論和測試術語蒐集

本文來自:http://blog.csdn.net/w565911788/article/details/8140552

(一)黑盒測試、白盒測試、單元測試、集成測試、系統測試、驗收測試的區別 

        黑盒測試:已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。

        白盒測試:已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成分是否以經過檢查。 

  軟件的黑盒測試意味着測試要在軟件的接口處進行。這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求規格說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或數據驅動測試

黑盒測試主要是爲了發現以下幾類錯誤:

  1、是否有不正確或遺漏的功能?

  2、在接口上,輸入是否能正確的接受?能否輸出正確的結果?

  3、是否有數據結構錯誤或外部信息(例如數據文件)訪問錯誤?

  4、性能上是否能夠滿足要求?

  5、是否有初始化或終止性錯誤?

  軟件的白盒測試是對軟件的過程性細節做細緻的檢查。這種方法是把測試對象看做一個打開的盒子,它允許測試人員利用程序內部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢查程序狀態,確定實際狀態是否與預期的狀態一致。因此白盒測試又稱爲結構測試或邏輯驅動測試

        白盒測試主要是想對程序模塊進行如下檢查:

  1、對程序模塊的所有獨立的執行路徑至少測試一遍。

  2、對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍。

  3、在循環的邊界和運行的界限內執行循環體。

  4、測試內部數據結構的有效性,等等。

  單元測試(模塊測試)是開發者編寫的一小段代碼,用於檢驗被測代碼的一個很小的、很明確的功能是否正確。通常而言,一個單元測試是用於判斷某個特定條件(或者場景)下某個特定函數的行爲。 

        單元測試是由程序員自己來完成,最終受益的也是程序員自己。可以這麼說,程序員有責任編寫功能代碼,同時也就有責任爲自己的代碼編寫單元測試。執行單元測試,就是爲了證明這段代碼的行爲和我們期望的一致。 

        單元測試的主要目的是針對編碼過程中可能存在的各種錯誤,例如用戶輸入驗證過程中的邊界值的錯誤。

  集成測試(也叫組裝測試,聯合測試)是單元測試的邏輯擴展。它的最簡單的形式是:兩個已經測試過的單元組合成一個組件,並且測試它們之間的接口。從這一層意義上講,組件是指多個單元的集成聚合。在現實方案中,許多單元組合成組件,而這些組件又聚合成程序的更大部分。方法是測試片段的組合,並最終擴展進程,將您的模塊與其他組的模塊一起測試。最後,將構成進程的所有模塊一起測試。 

        集成測試主要目的是針對詳細設計中可能存在的問題,尤其是檢查各單元與其它程序部分之間的接口上可能存在的錯誤。 

  系統測試是將經過測試的子系統裝配成一個完整系統來測試。它是檢驗系統是否確實能提供系統方案說明書中指定功能的有效方法。(常見的聯調測試) 

        系統測試的目的是對最終軟件系統進行全面的測試,確保最終軟件系統滿足產品需求並且遵循系統設計。 

        系統測試主要針對[b]概要設計[/b],檢查了系統作爲一個整體是否有效地得到運行,例如在產品設置中是否達到了預期的高性能

  驗收測試是部署軟件之前的最後一個測試操作。驗收測試的目的是確保軟件準備就緒,並且可以讓最終用戶將其用於執行軟件的既定功能和任務。驗收測試是向未來的用戶表明系統能夠像預定要求那樣工作。經集成測試後,已經按照設計把所有的模塊組裝成一個完整的軟件系統,接口錯誤也已經基本排除了,接着就應該進一步驗證軟件的有效性,這就是驗收測試的任務,即軟件的功能和性能如同用戶所合理期待的那樣。 

         驗收測試通常由業務專家或用戶進行,以確認產品能真正符合用戶業務上的需要(需求)。

 

(二)冒煙測試、阿爾法測試、貝塔測試和性能測試       

         “冒煙測試這一術語描述的是在將代碼更改嵌入到產品的源樹中之前對這些更改進行驗證的過程。冒煙測試(smoke test)在測試中發現問題,找到了一個Bug,然後開發人員會來修復這個Bug。這時想知道這次修復是否真的解決了程序的Bug,或者是否會對其它模塊造成影響,就需要針對此問題進行專門測試,這個過程就被稱爲Smoke Test。 冒煙測試的對象是每一個新編譯的需要正式測試的軟件版本,目的是確認軟件基本功能正常,可以進行後續的正式測試工作。 

          α測試是由一個用戶在開發環境下進行的測試,也可以是公司內部的用戶在模擬實際操作環境下進行的測試。α測試的目的是評價軟件產品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持)。尤其注重產品的界面和特色。α測試可以從軟件產品編碼結束之時開始,或在模塊(子系統)測試完成之後開始,也可以在確認測試過程中產品達到一定的穩定和可靠程度之後再開始。α測試是指軟件開發公司組織內部人員模擬各類用戶行對即將面市軟件產品(稱爲α版本)進行測試,試圖發現錯誤並修正。α測試的關鍵在於儘可能逼真地模擬實際運行環境和用戶對軟件產品的操作並盡最大努力涵蓋所有可能的用戶操作方式。經過α測試調整的軟件產品稱爲β版本。

         Beta測試是一種驗收測試。所謂驗收測試是軟件產品完成了功能測試和系統測試之後,在產品發佈之前所進行的軟件測試活動,它是技術測試的最後一個階段,通過了驗收測試,產品就會進入發佈階段。驗收測試一般根據產品規格說明書嚴格檢查產品,逐行逐字地對照說明書上對軟件產品所做出的各方面要求,確保所開發的軟件產品符合用戶的各項要求。Beta測試由軟件的最終用戶們在一個或多個客房場所進行。與Alpha測試不同,開發者通常不在Beta測試的現場,因Beta測試是軟件在開發者不能控制的環境中的真實應用。用戶Beta測試過程中遇到的一切問題(真實在或想像的),並且定期把這些問題報告給開發者。接收到在Beta測試期間報告的問題之後,開發者對軟件產品進行必要的修改,並準備向全體客戶發佈最終的軟件產品。

    
     性能測試是通過自動化的測試工具模擬多種正常、峯值以及異常負載條件來對系統的各項性能指標進行測試。負載測試和壓力測試都屬於性能測試,兩者可以結合進行。通過負載測試,確定在各種工作負載下系統的性能,目標是測試當負載逐漸增加時,系統各項性能指標的變化情況。壓力測試是通過確定一個系統的瓶頸或者不能接收的性能點,來獲得系統能提供的最大服務級別的測試。中國軟件評測中心將性能測試概括爲三個方面:應用在客戶端性能的測試、應用在網絡上性能的測試和應用在服務器端性能的測試。應用在客戶端性能測試的目的是考察客戶端應用的性能,測試的入口是客戶端。它主要包括併發性能測試、疲勞強度測試、大數據量測試和速度測試等,其中併發性能 測試是重點。應用在網絡上性能的測試重點是利用成熟先進的自動化技術進行網絡應用性能監控、網絡應用性能分析和網絡預測。對於應用在服務器上性能的測試,可以採用工具監控,也可以使用系統本身的監控命令,例如Tuxedo中可以使用Top命令監控資源使用情況。實施測試的目的是實現服務器 設備、服務器操作系統、數據庫系統、應用在服務器上性能的全面監控
發佈了38 篇原創文章 · 獲贊 19 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章