從2004年8月底至2004年10月中,本人在北方L省的一個全省集中的交換網管項目中負責該項目的性能測試工作。該性能測試歷時1個半月多,投入了3.6人月,占總的項目測試投入的17%。性能測試共進行了三輪,測試實現了預期的目標,測試過程中共發現影響性能的2級缺陷5個,三級缺陷8個,其中有一個缺陷導致了架構的部分變更。缺陷修改完成后,整個系統的采集效率提升了60%,告警入庫效率提升了20%,應用的修改也使得系統具有了更強的穩定性。從測試的結果來說,本次測試取得了比較滿意的效果,在測試過程中,本人也有一些心得和體會,因此,通過這篇文章記錄本次性能測試的過程,希望能和各位同仁進行性能測試的更加深入的交流。
1. 背景
本人參與的項目是一個全省大集中的交換網管項目,該項目使用的所有服務器(數據庫服務器、應用服務器、采集服務器、認證服務器、WEB服務器)均部署在省中心機房,所有的數據采集和處理都在省中心完成,地市通過反拉終端通過WEB和Socket方式訪問省中心的服務器?紤]全省的需要,在整個系統上線后,總的用戶數應該在1500左右。
圖1是本項目的結構示意圖。

在我們這個系統之前,L省的交換網管采用的是本地網管理方式,也就是每個地市都有自己的本地網網管系統,對省中心提供的數據僅僅是定期的報表。采用分散的本地網網管形式,每個本地網系統僅需要支持少量本地用戶的訪問,因此在性能方面沒有過多的考慮,也沒有進行過性能方面的測試。
我們為L省提供的新的解決方案是全省大集中的統一交換網管,一方面所有的用戶都通過統一的平臺對系統數據進行訪問,另一方面,系統通過已有的DCN網絡對分布在地市的網元進行采集?紤]到用戶數據訪問地集中、集中帶來的數據訪問需求的增加(在以前的老系統上,省中心只能通過地市定期的上報報表獲知地市運行情況,但在新系統中,省中心要求可以隨時從任一位置獲取系統數據)、對網元采集的統一,新系統需要承受的壓力要遠遠大于老系統現有壓力的疊加。因此,十分有必要根據目前的情況,對整個系統進行一次較為全面的性能測試。
我們的系統采用Oracle數據庫,IBM MQ消息平臺,采用的開發工具包括VS.NET、Perl、HP aCC和HP Temip平臺。整個系統由6個Unix應用模塊、8個PC應用模塊和三個WEB項目構成。
本次性能測試進入的條件是項目代碼已經基本完成并經過集成測試,1、2級遺留BUG數為0,3級遺留BUG數不超過5個。
說明:對于這樣一個集中式的系統,DCN網絡性能其實也應該是一個被重點考慮的對象,但根據L省以前類似項目經驗,目前的DCN網絡足夠支撐當前應用的運行,也就是說,在性能測試過程中不需要考慮由于DCN網絡原因造成的數據丟失和應用程序異常的情況。
2. 測試計劃
在初步確定了性能測試的要點后,我們就可以依據更具體的要求來制定性能測試計劃了,一般來說,性能測試計劃需要與客戶進行良好的溝通,測試目標、終止準則、策略、測試資源配備都需要和客戶經過溝通才能最終確定下來。實際操作中,建議至少召開一次正式會議,會議形成的結論要用會議紀要的方式確定下來,對最終確定的測試計劃需要客戶的簽字認可。
一份測試計劃至少需要包括測試對象、測試目標、測試策略、測試終止準則、測試環境與測試工具、測試資源配置(人員與時間)幾個方面的內容,本文不打算羅列出項目測試計劃中的所有內容,只就主要問題進行說明。
測試對象自然是本集中交換網管系統的性能;
測試目標在上文已經提到,需要和用戶溝通,得到用戶的認可。制定合理的測試目標并不容易,尤其是受限于現有項目文檔的詳細程序,單靠文檔描述很難制定出合理的測試目標,在本項目的測試中,我們結合了文檔描述、用戶要求和個人經驗,經過和用戶的討論,才最終確定了測試目標。
文章來源于領測軟件測試網 http://www.k11sc111.com/