軟體測試技術---系統測試
1,系統測試的概念
系統測試是最後的測試,用於評價系統是否符合系統需求規格說明的各項需求,是否達到要驗收的標準
系統測試的主要目的不是找出缺陷,而是確認其功能,效能和其他要求的質量屬性
系統測試就是將已經整合的軟體系統作為整個計算機系統中的某個元素,與計算機硬體,外圍裝置等其他系統元素結合在一起,在實際執行環境下對計算機系統進行一系列整合和確認的測試,因此測試設計人員應該主要根據需求規格說明來設計測試用例
2.系統測試的方法
(1)功能測試
功能測試屬於黑盒測試,是系統測試中要進行的最基本的測試,其要求測試人員對被測系統的需求規格說明,業務功能都要非常熟悉
因為需求說明書是功能測試的基本輸入,因此要對需求說明書進行詳細的分析
(2)協議一致性測試
該測試在分散式系統中比較常見
因為使用分散式系統的軟體要執行在多個不同的計算機上
為了實現不同的計算機之間互相通訊,這些計算機需要遵守一些協議
但是因為協議是自然語言規定的,每個人對其理解都有可能不一樣
所以要對協議進行測試,以確保所開發的系統能夠正常工作
(3)效能測試
該測試就是要檢查軟體在整合系統中的執行效能
混合了黑盒和白盒測試的方法
主要的目標是度量系統的效能與預先定義的目標有多大的差距
通常與壓力測試一起進行
(4)壓力測試
壓力測試又稱為強度測試,是在各種資源超負荷情況下觀察系統執行情況的測試
在該測試中,測試人員關注的主要是在有非正常資源佔用的情況下系統的處理時間
(5)容量測試
該測試是在系統正常執行的範圍內進行測試並確定系統能夠處理的資料容量
容量測試是面向資料的,其目的是檢查系統資料結構的設計是否能夠最大限度的處理系統目標所期望的資料容量
(6)安全性測試
一個完善的系統應該具備低於非法或非正常途徑的入侵者破壞系統正常工作活動的能力
安全性測試就是要驗證系統內的保護機制能否抵禦入侵者的攻擊
在該測試中,測試人員需要模擬不同的入侵方式來攻擊系統的安全機制,想盡一切辦法來獲取系統內的保密資訊
只要有足夠的事件和資源,好的安全性測試一定能夠入侵一個系統
(7)失效恢復測試
很多基於計算機的系統在失效發生時必須能夠在一定的時間內從失效中恢復過來,然後繼續執行
也就是說,在執行過程中出錯不能使得整個系統的功能都停止,而且一個系統的錯誤必須在一個特定的時間段內改正
失效恢復測試就是為了驗證系統從軟體或者硬體失效中恢復的能力
通過採取人工干預的方式使得軟體出錯進行測試
(8)備份測試
該測試是失效恢復測試的一個補充,並且應當是失效恢復測試的一個部分
驗證系統在失效時間中備份其資料的能力
(9)GUI測試
GUI(Graphic User Interface)圖形化使用者介面
相當於軟體產品的外觀
GUI的好壞直接影響使用者使用軟體的效率和心情,為了讓軟體更好的服務使用者,需要進行GUI測試
該測試分為兩個部分:
一方面是介面的實現和介面設計是否相符
另一方面是要確認介面能夠正確的處理事件
(10)健壯性測試
該測試又稱為容錯測試
用於測試系統出現故障時,是否能夠自動回覆或者忽略故障繼續執行
這就要求設計人員在設計過程中要妥善的進行異常處理
一個好的軟體必須在經過健壯性測試之後才能最終交付給使用者
(11)相容性測試
因為有時系統的出錯是由於與其他系統不相容而引起的
所以相容性測試的目的就是眼見被測的軟體系統對其他系統的相容性
(12)可使用性測試
該測試是為了檢驗使用者在使用和理解系統的時候是否方便
是面向使用者的測試
和壓力測試一樣,可使用性測試最好在開發階段就進行
如果所開發的系統不能被使用者很好的使用,那麼就要對系統進行重新設計
(13)安裝測試
該測試是為了檢驗系統成功安裝的能力
並且能夠在安裝過程中提供一些簡單的,容易理解的資訊來幫助使用者完成安裝過程
(14)文件測試
該測試主要是針對系統提交給使用者的文件進行驗證的
目的是驗證使用者文件是正確的並且保證操作手冊的過程能夠正確工作
(15)線上幫助測試
線上幫助給使用者提供一種實時的資訊服務,一個完善的系統應該具備線上幫助的功能
(16)資料轉換測試
在實際使用環境中,系統經常會遇到升級的情況
同時又要保證以前的資料不會丟失
這就需要進行資料轉換測試
3.系統測試的實施
在完成整合測試之後
系統測試開始於整合軟體的確認測試
確認測試包括功能測試和軟體配置複查
在系統測試的過程中可能出現α測試和β測試
α測試是有一個使用者在開發環境下進行的測試,由開發者陪同並記錄下測試過程中出現的錯誤
β測試則是由多個軟體使用者在實際的使用環境中進行使用,然後將出現的錯誤返回給開發者,與α測試的主要不同是沒有開發人員的陪同
在進行完確認測試之後就要進行驗收測試,該測試是以使用者為主的測試
進行完所有測試之後要對系統測試出現的問題進行總結和分析
4.做好系統測試的原則
(1)所有的測試都應追溯到使用者需求
(2)在測試工作開始之前今早開始測試計劃
(3)將Pareto原則應用與軟體測試,Pareto原則表明測試發現的錯誤中80%的錯誤來源於程式模組中的20%,問題在與如何分離出這些可疑的模組進行徹底測試
(4)系統缺陷應記入文件中