軟件測試分類

和開發過程相對應,測試主要按照時間順序經歷單元測試、集成測試、系統測試、驗收測試四個階段。

  單元測試是針對軟件最小單位——程序模塊進行正確性檢驗的測試工作,由開發人員在編碼過程進行,其目的在於發現每個程序模塊內部可能存在的缺陷。單元測試基本上不需編寫測試用例,開發人員自己調試通過、符合設計要求就可以了。

 集成測試集成測試是將模塊按照設計的要求組裝起來進行測試,主要目標是發現與接口相關的問題。由於在產品提交到測試部之前,開發小組都要進行聯合調試,所以大部分企業是由開發人員來完成集成測試的,但也可以到了測試部後再次進行集成測試。主要測試模塊之間數據傳輸是否正確、模塊集成後的功能是否實現、模塊接口功能與設計需求是否一致。集成測試緊接在單元測試之後,當單元測試通過後,便可開始配置集成測試環境。集成測試是最關鍵的一步,如果問題較多時就把產品送到測試部,會造成反覆測試,從而浪費人力、物力,延誤了工期。

 接口測試程序員對各個模塊進行系統聯調測試,包含程序內部接口和程序外部接口測試。這個測試,在單元測試階段進行了一部分工作,而大部分都是在集成測試階段完成的。由開發人員進行。

 系統測試系統測試是在集成測試通過後進行,目的是充分運行系統,驗證各子系統是否都能正常工作並達到用戶的需求。主要由測試部門進行,是測試部門最大最重要的一個測試,對產品的質量有重大的影響。系統測試的主要內容有:功能測試、健壯性測試、性能-效率測試、用戶界面測試、安全性測試、壓力測試、可靠性測試、安裝/反安裝測試等。這個測試需要編寫大量的測試用例,投入大量的資源來完成。

 驗收測試根據需求階段的《需求規格說明書》爲驗收標準,測試時要求模擬實際運行環境。對於實際項目可以和客戶共同進行,對於產品實際就是最後一次的系統測試。測試內容爲對功能模塊的全面測試, 尤其要進行文檔測試和功能測試。功能測試主要是根據產品需求說明書進行測試,驗證功能是否完全符合需求,包括原定功能的檢驗、是否有冗餘功能。這類測試應由測試員做,但這並不意味着程序員在發佈前不必檢查他們的代碼能否正常工作

 發佈測試:簡化版的驗收測試。

 文檔測試:主要測試開發過程中針對用戶的文檔,以需求、用戶手冊、安裝手冊等爲主,檢驗文檔是否與實際應用存在差別。文檔測試不需要編寫測試用例

 

系統測試階段各個測試分類說明:

 健壯性測試(容錯能力/恢復能力測試):側重於程序容錯能力的測試。本測試在單元測試階段和系統測試階段都要進行。如數據邊界測試、非法數據測試、異常中斷測試等等,主要是驗證程序對各種異常情況是否進行正確處理。爲了執行方便,建議健壯性的測試用例儘量編寫在功能測試用例中。

 強度測試強度測試檢查程序對異常情況的抵抗能力。強度測試總是迫使系統在異常的資源配置下運行。例如,①當中斷的正常頻率爲每秒一至兩個時,運行每秒產生十個中斷的測試用例;②定量地增長數據輸入率,檢查輸入子功能的反映能力;③運行需要最大存儲空間(或其他資源)的測試用例;④運行可能導致虛存操作系統崩潰或磁盤數據劇烈抖動的測試用例,等等。

 壓力測試(負載測試對系統不斷施加壓力的測試,是通過確定一個系統的瓶頸或者不能接收的性能點,來獲得系統能提供的最大服務級別的測試。例如測試一個 Web 站點在大量的負荷下,何時系統的響應會退化或失敗。

 性能測試:在交替進行負荷和強迫測試時常用的術語。性能測試關注的是系統的整體。它和通常所說的強度、壓力/負載測試測試有密切關係。所以壓力和強度測試應該於性能測試一同進行。

舉例說明:針對一個網站進行測試,模擬1050個用戶就是在進行常規性能測試,用戶增加到1000乃至上萬就變成了壓力/負載測試。如果同時對系統進行大量的數據查詢操作,就包含了強度測試。

壓力測試注重的是外界不斷施壓,而強度測試注重的是極限或者異常情況下對系統進行的測試。

用戶界面測試:對系統的界面進行測試,測試用戶界面是否友好、是否方便易用、設計是否合理、控件的位置是否正確等一系列界面問題

安全性測試:主要是測試系統在沒有授權的內部或者外部用戶對系統進行攻擊或者惡意破壞時如何進行處理,是否仍能保證數據的安全。測試人員可以學習一些黑客技術,來對系統進行攻擊。

可靠性測試:這裏是比較狹義的可靠性測試,它主要是對系統能否穩定運行進行一個統計,在實際工作中如果沒有條件可以不必特意去做。重點做好與之緊密相關的功能測試、健壯性測試就可以了。

安裝/反安裝測試:安裝測試主要檢驗軟件是否可以正確安裝,安裝文件的各項設置是否有效,安裝後能否影響原系統;反安裝是逆過程,測試是否刪除乾淨,是否給影響原系統等。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章