軟體測試分類

來源:互聯網
上載者:User

 

  本篇博文屬於對軟體測試領域的科普篇,關於軟體測試領域,名詞頗多,發現有許多測試新手混淆概念,甚至有不少招聘要求中對各種軟體測試相關的名詞亂用,所以,這裡匯總測試相關的名詞,也許能理清你對各種名詞的概念。

 

根據項目流程階段劃分測試                                                                    

                                    

 

是一個典型瀑布式軟體開發流程,那麼各項軟體測試工作是在項目開發流程中循序漸進的進行的。下面將介紹個測試含義。

 

單元測試:單元測試是對軟體中的基本組成單位進行的測試。目的是檢驗軟體基本組成單位的正確性。 

整合測試:整合測試是在軟體系統整合過程中所進行的測試。目的是檢查軟體單位之間的介面是否正確。 

系統測試:系統測試是對已經整合好的軟體系統進行徹底的測試,以驗證軟體系統的正確性和效能等是否滿足其規約所指定的要求。 

驗收測試:驗收測試是部署軟體之前的最後一個測試操作。驗收測試的目的是確保軟體準備就緒,向軟體購買都展示該軟體系統滿足其使用者的需求。 

 

單元測試階段: 

模組介面測試

  通過所測模組的資料流進行測試。調用所測模組時的輸入參數與模組的形式參數的個數、屬性和順序是否匹配。 

局部資料結構測試 

  局部資料結構是為了保證臨時儲存在模組內的資料在程式執行過程中完整、正確、模組的局部資料結構往往是錯誤的根源。 

路徑測試 

  對模組中重要的執行路徑進行測試。 

錯誤處理測試 

  比較完善的模組設計要求能遇見出錯的條件,並設定適當的出錯處理,以便在一旦程式出錯時,能對出錯程式重做安排,保證其邏輯上的正確性。 

邊界條件測試 

  軟體經常在便捷上失效,邊界條件測試是一項基礎測試,也是後面系統測試中的功能測試的重點。 

 

整合測試階段

在整合測試中,我們主要關注以下內容:

1.        把各個模組串連起來時,穿越模組介面的資料據是否會丟失。  

2.        各個了模組組合起來,能否達到預期要求的功能。

3.        一個模組的功能是否會對另一個模組的功能產生不利影響。 

4.        全域資料據結構是否有問題。 

5.        單個模組的誤差積累起來是否會被放大,從而達到不可接受的程式。

  

系統測試階段: 

  一般系統的主要測試工作都集中系統測試階段。根據不同的系統,所進行的測試種類也很多。

功能測試: 

  功能測試是對產品的各功能進行驗證,以檢查是否滿足需求的要求。 

效能測試:

  效能測試是通過自動化測試載入器類比多種正常、峰值以及異常負載條件來對系統的各項效能指標進行測試。 

安全性測試:

  安全性測試檢查系統對非法入侵的防範能力。 

相容測試: 

  相容性測試主要是測試系統在不同的軟硬體環境下是否能夠正常的運行。

  

驗收測試階段: 

功能確認測試 

安全可靠性測試 

易用性測試 

可擴充性測試 

相容性測試 

資源佔用率測試 

使用者文檔資料驗收

 

白盒測試、黑箱測試、灰盒測試                                                                 

 

  上面是根據項目流程按照測試的各個階段對測試載入器的劃分。白盒測試與黑箱測試,主要是測試工作對軟體代碼的的可見程度的劃分。這也是我軟體測試中領域中最基本的兩個概念。

 

黑箱測試

  黑箱測試,指的是把被測的軟體看作是一個黑盒子,我們不去關心盒子裡面的結構是什麼樣子的,只關心軟體的輸入資料和輸出結果。

它只檢查程式功能是否按照需求規格說明書的規定正常使用,程式是否能適當地接收輸入資料而產生正確的輸出資訊。黑箱測試著眼於程式外部結構,不考慮內部邏輯結構,主要針對軟體介面和軟體功能進行測試。 

白盒測試

  白盒測試,指的是把盒子蓋子開啟,去研究裡面的原始碼和程式結果。

  它是按照程式內部的結構測試程式,通過測試來檢測產品內部動作是否按照設計規格說明書的規定正常進行,檢驗程式中的每條通路是否都能按預定要求正確工作 

灰盒測試

  灰盒測試介於黑箱測試與白盒測試之間。

  可以這樣理解,灰盒測試關注輸出對於輸入的正確性,同時也關注內部表現,但這種關注不象白盒那樣詳細、完整,只是通過一些表徵性的現象、事件、標誌來判斷內部的運行狀態,有時候輸出是正確的,但內部其實已經錯誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會很低,因此需要採取這樣的一種灰盒的方法。 

 

 

功能測試、效能測試                                                                                     

 

功能測試

  功能測試檢查實際的功能是否符合使用者的需求。測試的大部分工作也是圍繞軟體的功能進行,設計軟體的目的也就是滿足客戶對其功能的需求。如果偏離的這個目的任何測試工作都是沒有意義的。

  功能測試又可可以細分為很多種:邏輯功能測試、介面測試、易用性測試、安裝測試、相容性測試等。

效能測試

  效能測試是通過自動化的測試載入器類比多種正常、峰值以及異常負載條件來對系統的各項效能指標進行測試。

  軟體的效能包括很多方面,主要有時間效能和空間效能兩種

  時間效能:主要是指軟體的一個具體的回應時間。比如一個登入所需要的時間,一個證券交易所需要的時間等。當然,拋開具體的測試環境,來分析一次事務的回應時間是沒有任何意義的。需要搭建一個具體且獨立的測試環境。

  空間效能:主要指軟體運行時所消耗的系統資源,比如硬體資源,CPU、記憶體,網路頻寬消耗等。

效能測試分類之我見:http://www.cnblogs.com/fnng/archive/2012/06/09/2543274.html

 

 

手工測試與自動化測試                                                                           

 

手工測試

  手工測試就是由人去一個一個的去執行測試案例,通過鍵盤滑鼠等輸入一些參數,查看返回結果是否符合預期結果。

(其實,不太喜歡別人把一般的功能測試工作叫手工測試,就像一個雕塑家不喜歡別人叫他刻石頭的一樣。手工測試同樣需要業務熟悉、基本測試方法的理解。看似簡單的工作卻能夠發現別人不能發現的軟體問題。在目前的測試領域,手工測試仍然是無法替代的一種測試方法)

自動化測試

  自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。通常,在設計了測試案例並通過評審之後,由測試人員根據測試案例中描述的規程一步步執行測試,得到實際結果與期望結果的比較。在此過程中,為了節省人力、時間或硬體資源,提高測試效率,便引入了自動化測試的概念。 

  自動化測試:又可分為功能自動化測試與效能自動化測試

  我們一般所說的自動化測試就是指功能自動化測試,通過相關的測試技術,通過編碼的方式用一段程式來測試一個軟體的功能,這樣就可以重複執行程式來進行重複的測試。如果一個軟體一小部分發生改變,我們只要修改一部分代碼,就可以重複的對整個軟體進行功能測試。這樣就大大的提高了測試效率。

  效能自動化測試,當然,除了早期階段,現在的效能測試工作都是通過效能測試工具輔助完成的。能過工具可以類比成千上萬的使用者向系統發送請求,用來驗證系統的處理能力。

 

 

煙霧測試 (Smoke Test)、迴歸測試、隨機測試                                                                  

 

  這三種測試在軟體功能測試過程中,既不算具體明確的測試階段也不算是具體的測試方法。

煙霧測試 (Smoke Test)

  是指在對一個新版本進行系統大規模的測試之前,先驗證一下軟體的準系統是否實現,是否具備可測性。

  引入到軟體測試中,就是指測試小組在正規測試一個新版本之前,先投入較少的人力和時間驗證一個軟體 的主要功能,如果主要功能都沒有實現,則打回開發組重新開發。這樣做的好處是可以節省大量的時間成本和人力成本。

 

迴歸測試

  迴歸測試是指修改了舊代碼後,重新時行測試以確認修改後沒有引入新的錯誤或導致其他代碼產生錯誤。

  迴歸測試一般是在進行軟體的第二輪測試開始的,驗證第一輪中發現的問題是否得到修複。當然,迴歸也是一個迴圈的過程,如果迴歸的問題通不過,則需要開發人員修改後再次進行迴歸,直到通過為止。

 

隨機測試

  是指測試中的所有輸入資料都是隨機產生的,其目的是類比使用者的真實操作,並發現一些邊緣性的錯誤。

  隨機測試可以發現一些隱形錯誤,但是也有很多缺點,比如測試不系統,無法統計程式碼涵蓋範圍和需求覆蓋率,發現的問題難以重現。一般是放在測試的最後執行。其實隨機測試更專業的升級版叫 探索性測試

 

探索性測試

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

  探索性測試應該是未來測試領域的一個方向。

 

安全性測試

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

     安全性測試也在越來越受到企業的關注和重視,因為由於安全性問題造成的後果是不可估量的。尤其對於互連網產品最容易遭受各種安全攻擊。

 

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.