系統測試

系統測試

系統測試,英文是System Testing。是對整個系統的測試,將硬體、軟體、操作人員看作一個整體,檢驗它是否有不符合系統說明書的地方。

內容


系統測試是將經過集成測試的軟體,作為計算機系統的一個部分,與系統中其他部分結合起來,在實際運行環境下對計算機系統進行的一系列嚴格有效地測試,以發現軟體潛在的問題,保證系統的正常運行。
流程如圖1所示。系統測試的目的是驗證最終軟體系統是否滿足用戶規定的需求。
圖1 系統測試流程圖
圖1 系統測試流程圖
主要內容包括:
·功能測試。即測試軟體系統的功能是否正確,其依據是需求文檔,如《產品需求規格說明書》。由於正確性是軟體最重要的質量因素,所以功能測試必不可少。
·健壯性測試。即測試軟體系統在異常情況下能否正常運行的能力。健壯性有兩層含義:一是容錯能力,二是恢復能力

分類


比較常見的、典型的系統測試包括恢複測試、安全測試、壓力測試。下面對這幾種測試進行一一介紹:
1)恢複測試
恢複測試作為一種系統測試,主要關注導致軟體運行失敗的各種條件,並驗證其恢復過程能否正確執行。在特定情況下,系統需具備容錯能力。另外,系統失效必須在規定時間段內被更正,否則將會導致嚴重的經濟損失。
2)安全測試
安全測試用來驗證系統內部的保護機制,以防止非法侵入。在安全測試中,測試人員扮演試圖侵入系統的角色,採用各種辦法試圖突破防線。因此系統安全設計的準則是要想方設法使侵入系統所需的代價更加昂貴。
3)壓力測試
壓力測試是指在正常資源下使用異常的訪問量、頻率或數據量來執行系統。在壓力測試中可執行以下測試:
①如果平均中斷數量是每秒一到兩次,那麼設計特殊的測試用例產生每秒十次中斷。
②輸入數據量增加一個量級,確定輸入功能將如何響應。
③在虛擬操作系統下,產生需要最大內存量或其它資源的測試用例,或產生需要過量磁碟存儲的數據。

步驟


【Step1】制定系統測試計劃
系統測試小組各成員共同協商測試計劃。測試組長按照指定的模板起草《系統測試計劃》。該計劃主要包括:
·測試範圍(內容)
·測試方法
·測試環境與輔助工具
·測試完成準則
·人員與任務表
項目經理審批《系統測試計劃》。該計劃被批准后,轉向【Step2】。
【Step2】設計系統測試用例
·系統測試小組各成員依據《系統測試計劃》、需求規格說明書、設計原型以及指定測試文檔模板,設計(撰寫)《測試需求分析》《系統測試用例》。
·測試組長邀請開發人員和同行專家,對《系統測試用例》進行技術評審。該測試用例通過技術評審后,轉向【Step3】。
【Step3】執行系統測試
·系統測試小組各成員依據《系統測試計劃》和《系統測試用例》執行系統測試。
·將測試結果記錄在《系統測試報告》中,用“缺陷管理工具”來管理所發現的缺陷,並及時通報給開發人員。
【Step4】缺陷管理與改錯
·從【Step1】至【Step3】,任何人發現軟體系統中的缺陷時都必須使用指定的“缺陷管理工具”。該工具將記錄所有缺陷的狀態信息,並可以自動產生《缺陷管理報告》。
·開發人員及時消除已經發現的缺陷。
·開發人員消除缺陷之後應當馬上進行回歸測試,以確保不會引入新的缺陷。

目標和原則


目標:
1、確保系統測試的活動是按計劃進行的;
2、驗證軟體產品是否與系統需求用例不相符合或與之矛盾;
3、建立完善的系統測試缺陷記錄跟蹤庫;
4、確保軟體系統測試活動及其結果及時通知相關小組和個人。
原則:
1、測試機構要獨立;
2、要精心設計測試計劃,包括負載測試、壓力測試、用戶界面測試、可用性測試、逆向測試、安裝測試、驗收測試;
3、要進行回歸測試;
4、測試要遵從經濟性原則。

方針


1、為項目指定一個測試工程師負責貫徹和執行系統測試活動;
2、測試組向各事業部總經理/項目經理報告系統測試的執行狀況;
3、系統測試活動遵循文檔化的標準和過程;
4、向外部用戶提供經系統測試驗收通過的預部署及技術支持;
5、建立相應項目的(BUG)缺陷庫,用於系統測試階段項目不同生命周期的缺陷記錄和缺陷狀態跟蹤;
6、定期的對系統測試活動及結果進行評估,向各事業部經理/項目辦總監/項目經理彙報/提供項目的產品質量信息及數據;