利用現代的設計技術和正式的技術復審可以減少代碼中存在的初始錯誤,但是錯誤總是存在的,如果開發者找不到錯誤,那么,客戶就會找到它們。越來越多的軟件組織認識到軟件測試是軟件質量保證的重要元素之一,很多軟件開發組織將30%—40%甚至更多的項目資源用在測試上,軟件測試技術和軟件測試策略受到了高度的重視和廣泛的應用。
本文不想就軟件測試技術和軟件測試策略作深入的理論分析,而是列舉一個在軟件系統測試階段進行的壓力測試實例,希望能通過這個實例與從事軟件測試相關工作的朋友進行交流。
首先介紹一下實例中軟件的項目背景,該軟件是一個典型的三層C/S架構的MIS系統(客戶端/應用服務器/數據庫管),中間層是業務邏輯層,應用服務器處理所有的業務邏輯,但應用服務器本身不提供負載均衡的能力,而是利用開發工具提供的ORB(對象請求代理)軟件保證多個應用服務器間的負載均衡。本次測試的目的是:進行單個應用服務器的壓力測試,找出單個應用服務器能夠支持的最大客戶端數。測試壓力估算的依據是:假定在實際環中,用戶只啟用一個應用服務器進行所有的業務處理。方法是:按照正常業務壓力估算值的1~10倍進行測試,考察應用服務器的運行情況。
壓力測試的詳細計劃如下:
壓力測試計劃
1、測試計劃名稱
河北省公安交通管理信息系統壓力測試計劃。
2、測試內容
2.1背景
本次測試中的壓力測試是指模擬實際應用的軟硬件環境及用戶使用過程的系統負荷,長時 間運行測試軟件來測試被測系統的可靠性,同時還要測試被測系統的響應時間。
用戶的實際使用環境:
◇由兩臺IBM XSeries250 PC Server組成的Microsoft Cluster;
◇數據庫管理系統采用Oracle8.1.6;
◇應用服務器程序和數據庫管理系統同時運行在Microsoft Cluster上。
◇有200個用戶使用客戶端軟件進行業務處理,每年通過軟件進行處理的總業務量為:150萬筆業務/年。
2.2測試項
應用服務器的壓力測試;
2.3不被測試的特性
◇系統的客戶端應用程序的內部功能;
◇數據庫中的數據量對程序性能的影響。
3、測試計劃
3.1測試強度估算
測試壓力估算時采用如下原則:
◇全年的業務量集中在8個月完成,每個月20個工作日,每個工作日8個小時;
◇采用80—20原理,每個工作日中80%的業務在20%的時間內完成,即每天80%的業務在1.6小時內完成;
測試壓力的估算結果:
去年全年處理業務約100萬筆,其中15%的業務處理每筆業務需對應用服務器提交7次請求;
70%的業務處理每筆業務需對應用服務器提交5次請求;其余15%的業務每筆業務向應用服務器
提交3次請求。根據以往統計結果,每年的業務增量為15%,考慮到今后三年業務發展的需
要,測試需按現有業務量的2倍進行。
每年總的請求數量為:(100*15%*7+100*70%*5+100*15%*3)*2=300萬次/年。
每天的請求數量為:300/160=1.875萬次/天。
每秒的請求數量為:(18750*80%)/(8*20%*3600)=2.60次/秒。
正常情況下,應用服務器處理請求的能力應達到:3次/秒。
3.2測試環境準備
3.2.1基本硬件及軟件環境的準備
1)網絡環境:公司內部的以太網,與服務器的連接速率為100M,與客戶端的連接速率為10/100M自適應。
2)使用兩臺IBM XSeries250(1G內存)PC Server作Microsoft Cluster,安裝系統軟件 Windows 2000 Advance Server及Microsoft Cluster Server(MSCS)。
3)數據庫管理系統的安裝及配置:在測試用的IBM XSeries服務器上安裝Oracle8.1.6,數據 庫采用Oracle Fail Safe(ofs)的Active/Passive配置。 安裝數據庫管理系統及支撐軟件(包括VisiBroker和BDE Administrator)。
4)安裝被測的應用服務器程序。
5)客戶端的PC機:10臺(PⅢ600/128M RAM)。
3.2.2系統客戶端測試程序的編寫系統客戶端測試程序使用Delphi編寫,要求測試程序實現如下功能:
1)模擬一個主要的向應用服務器發送請求并接收響應信息的功能。要求交替模擬兩種情況:第一種,發送的請求至少包括10個參數,參數類型涵蓋字符、日期、數字種類型;接收的 響應信息不少于1個參數;第二種,發送的請求不少于1個參數;接收的響應信息至少包括10個參數,參數類型涵蓋字符、日期、數字種類型。
2)必須能夠通過參數設定在每臺PC機上運行的客戶端測試程序個數、請求的時間間隔(單位:毫秒)、運行時間(單位:小時)。
3)在數據庫中建立測試記錄表,生成測試記錄,向數據庫寫入測試記錄的功能不通過被測的應用服務器實現。日志內容包括:發送測試請求的機器名、客戶端測試程序序號、發出請求時間、收到響應時間、處理是否成功。表名:TEST_LOG,字段名:MACHINE、ID、START_TIME、END_TIME、FLAG。
3.2.3系統本底數據的準備
為考察系統運行一段時間后系統的響應性能,參照實際運行情況及發展進行系統的本底數據準備。業務處理中涉及到的業務表中都要求按設計規模進行本底數據的準備。要求準備的數據記錄的有效性符合系統要求,數據有效性的具體要求參見數據庫設計及系統設計文檔。
3.3破壞性測試
按照設計連接的客戶端連接數量進行測試,把應用服務器處理請求的設計頻度增加1-10倍,分別測試出現錯誤的狀態和和出現錯誤的比率,考察是否出現不可恢復錯誤,系統設計要考 慮出現嚴重錯誤情況下負荷減輕錯誤自動恢復的實現方法。
計劃時間:2天;這個時間包括破壞性的修復和自動恢復的實現需要的時間。
在測試過程中每10分鐘記錄一次IBM Xseries PC Server的內存及CPU使用情況,包括被測程序的內存占用百分比、數據庫管理系統的內存占用百分比、操作系統的內存占用百分比。
3.4強度穩定性測試
選擇一種負荷比設計負荷重的情況(應用服務器處理請求的頻度為應用服務器處理請求的
設計頻度的1.5倍),進行24小時穩定性測試。
3.5測試方法和工具
黑盒測試
測試工具:無外購的測試工具,自己編制的測試工具。
3.6測試時間計劃
3.6.1環境準備:2天。
其中:基本硬件、軟件環境及系統本底數據的準備:1天,
系統客戶端測試程序的編寫及測試:1天。
3.6.2破環性測試:2天。
3.6.3強度穩定性測試:1天。
3.7測試中的問題及處理
3.7.1暫停標準和再啟動要求
暫停標準:被測試軟件在強度穩定性測試中頻繁出現異常(每小時出現1次以上)時。用戶或公司要求暫停測試時。
再啟動要求:通過調試后,預計被測試軟件的可靠性有所提高時,可再次啟動測試。
3.7.2不可預見問題
不可預見問題包括:
◇測試環境被破壞而導致測試無法進行;
◇當出現上述不可預見問題時,測試終止,就已完成的測試內容編制測試總結報告,并在報告中說明測試終止的原因。
3.8測試報告 2002.06.21
測試總結報告提交日期:2002.06.21。
3.8.1應生成的測試文件
測試記錄(測試負責人和參與測試的人員簽字);
測試總結報告。
3.8.2測試總結報告中必須包含的內容
被測試軟件名稱、測試項、測試環境;
被測試軟件的壓力測試結論:響應時間、最大/最小并發數、失敗的次數、正常連續運行的最長/最短時間,并發數與失敗的關系。
4、人員和職責
4.1職責
測試工程師:負責編寫測試計劃,組織測試,對測試過程進行記錄,收集、整理測試記錄數據,對測試結果進行分析,編寫測試總結報告。
軟件工程師:負責編寫、調試客戶端測試軟件;數據庫管理系統的安裝、ofs配置及系統的本底數據準備。
系統工程師:負責測試用的硬件維護及操作系統安裝、MSCS配置。
總工程師:負責對測試計劃及測試總結報告進行批準。
用戶:必要時可參加測試,并提出具體的測試要求;可要求暫停測試。
4.2人員和訓練要求
本次測試無特別的人員及培訓要求。
5、批準
本測試計劃必須經過總工程師批準后才能開始實施。
文章來源于領測軟件測試網 http://www.kjueaiud.com/
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月