軟件測試之性能測試篇方案_第1頁
軟件測試之性能測試篇方案_第2頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件測試之性能測試篇方案性能測試目前基本是靠工具實現的(而且是國外的,如QALOAD,LOADRUNNER等)。性能測試在軟件的質量保證中起著重要的作用,它包括的測試內容豐富多樣。中國軟件評測中心將性能測試概括為三個方面:應用在客戶端性能的測試、應用在網絡上性能的測試和應用在服務器端性能的測試。通常情況下,三方面有效、合理的結合,可以達到對系統(tǒng)性能全面的分析和瓶頸的預測。應用在客戶端性能的測試應用在客戶端性能測試的目的是考察客戶端應用的性能,測試的入口是客戶端。它主要包括并發(fā)性能測試、疲勞強度測試、大數據量測試和速度測試等,其中并發(fā)性能測試是重點。并發(fā)性能測試是重點并發(fā)性能測試的過程是一個負載

2、測試和壓力測試的過程,即逐漸增加負載,直到系統(tǒng)的瓶頸或者不能接收的性能點,通過綜合分析交易執(zhí)行指標和資源監(jiān)控指標來確定系統(tǒng)并發(fā)性能的過程。負載測試(LoadTesting)是確定在各種工作負載下系統(tǒng)的性能,目標是測試當負載逐漸增加時,系統(tǒng)組成部分的相應輸出項,例如通過量、響應時間、CPU負載、內存使用等來決定系統(tǒng)的性能。負載測試是一個分析軟件應用程序和支撐架構、模擬真實環(huán)境的使用,從而來確定能夠接收的性能過程。壓力測試(StressTesting)是通過確定一個系統(tǒng)的瓶頸或者不能接收的性能點,來獲得系統(tǒng)能提供的最大服務級別的測試。并發(fā)性能測試的目的主要體現在三個方面:以真實的業(yè)務為依據,選擇有

3、代表性的、關鍵的業(yè)務操作設計測試案例,以評價系統(tǒng)的當前性能;當擴展應用程序的功能或者新的應用程序將要被部署時,負載測試會幫助確定系統(tǒng)是否還能夠處理期望的用戶負載,以預測系統(tǒng)的未來性能;通過模擬成百上千個用戶,重復執(zhí)行和運行測試,可以確認性能瓶頸并優(yōu)化和調整應用,目的在于尋找到瓶頸問題。當一家企業(yè)自己組織力量或委托軟件公司代為開發(fā)一套應用系統(tǒng)的時候,尤其是以后在生產環(huán)境中實際使用起來,用戶往往會產生疑問,這套系統(tǒng)能不能承受大量的并發(fā)用戶同時訪問?這類問題最常見于采用聯(lián)機事務處理(OLTP)方式數據庫應用、Web瀏覽和視頻點播等系統(tǒng)。這種問題的解決要借助于科學的軟件測試手段和先進的測試工具。舉例說

4、明:電信計費軟件眾所周知,每月20日左右是市話交費的高峰期,全市幾千個收費網點同時啟動。收費過程一般分為兩步,首先要根據用戶提出的電話號碼來查詢出其當月產生費用,然后收取現金并將此用戶修改為已交費狀態(tài)。一個用戶看起來簡單的兩個步驟,但當成百上千的終端,同時執(zhí)行這樣的操作時,情況就大不一樣了,如此眾多的交易同時發(fā)生,對應用程序本身、操作系統(tǒng)、中心數據庫服務器、中間件服務器、網絡設備的承受力都是一個嚴峻的考驗。決策者不可能在發(fā)生問題后才考慮系統(tǒng)的承受力,預見軟件的并發(fā)承受力,這是在軟件測試階段就應該解決的問題。目前,大多數公司企業(yè)需要支持成百上千名用戶,各類應用環(huán)境以及由不同供應商提供的元件組裝起

5、來的復雜產品,難以預知的用戶負載和愈來愈復雜的應用程序,使公司擔憂會發(fā)生投放性能差、用戶遭受反應慢、系統(tǒng)失靈等問題。其結果就是導致公司收益的損失。如何模擬實際情況呢?找若干臺電腦和同樣數目的操作人員在同一時刻進行操作,然后拿秒表記錄下反應時間?這樣的手工作坊式的測試方法不切實際,且無法捕捉程序內部變化情況,這樣就需要壓力測試工具的輔助。測試的基本策略是自動負載測試,通過在一臺或幾臺PC機上模擬成百或上千的虛擬用戶同時執(zhí)行業(yè)務的情景,對應用程序進行測試,同時記錄下每一事務處理的時間、中間件服務器峰值數據、數據庫狀態(tài)等。通過可重復的、真實的測試能夠徹底地度量應用的可擴展性和性能,確定問題所在以及優(yōu)

6、化系統(tǒng)性能。預先知道了系統(tǒng)的承受力,就為最終用戶規(guī)劃整個運行環(huán)境的配置提供了有力的依據。并發(fā)性能測試前的準備工作測試環(huán)境:配置測試環(huán)境是測試實施的一個重要階段,測試環(huán)境的適合與否會嚴重影響測試結果的真實性和正確性。測試環(huán)境包括硬件環(huán)境和軟件環(huán)境,硬件環(huán)境指測試必需的服務器、客戶端、網絡連接設備以及打印機/掃描儀等輔助硬件設備所構成的環(huán)境;軟件環(huán)境指被測軟件運行時的操作系統(tǒng)、數據庫及其他應用軟件構成的環(huán)境。一個充分準備好的測試環(huán)境有三個優(yōu)點:一個穩(wěn)定、可重復的測試環(huán)境,能夠保證測試結果的正確;保證達到測試執(zhí)行的技術需求;保證得到正確的、可重復的以及易理解的測試結果。測試工具:并發(fā)性能測試是在客戶

7、端執(zhí)行的黑盒測試,一般不采用手工方式,而是利用工具采用自動化方式進行。目前,成熟的并發(fā)性能測試工具有很多,選擇的依據主要是測試需求和性能價格比。著名的并發(fā)性能測試工具有QALoad、LoadRunner、BenchmarkFactory和Webstress等。這些測試工具都是自動化負載測試工具,通過可重復的、真實的測試,能夠徹底地度量應用的可擴展性和性能,可以在整個開發(fā)生命周期、跨越多種平臺、自動執(zhí)行測試任務,可以模擬成百上千的用戶并發(fā)執(zhí)行關鍵業(yè)務而完成對應用程序的測試。測試數據:在初始的測試環(huán)境中需要輸入一些適當的測試數據,目的是識別數據狀態(tài)并且驗證用于測試的測試案例,在正式的測試開始以前對

8、測試案例進行調試,將正式測試開始時的錯誤降到最低。在測試進行到關鍵過程環(huán)節(jié)時,非常有必要進行數據狀態(tài)的備份。制造初始數據意味著將合適的數據存儲下來,需要的時候恢復它,初始數據提供了一個基線用來評估測試執(zhí)行的結果。在測試正式執(zhí)行時,還需要準備業(yè)務測試數據,比如測試并發(fā)查詢業(yè)務,那么要求對應的數據庫和表中有相當的數據量以及數據的種類應能覆蓋全部業(yè)務。模擬真實環(huán)境測試,有些軟件,特別是面向大眾的商品化軟件,在測試時常常需要考察在真實環(huán)境中的表現。如測試殺毒軟件的掃描速度時,硬盤上布置的不同類型文件的比例要盡量接近真實環(huán)境,這樣測試出來的數據才有實際意義。并發(fā)性能測試的種類與指標并發(fā)性能測試的種類取決

9、于并發(fā)性能測試工具監(jiān)控的對象,以QALoad自動化負載測試工具為例。軟件針對各種測試目標提供了DB2、DCOM、ODBC、ORACLE、NETLoad、Corba、QARun、SAP>SQLServer、Sybase、Telnet、TUXEDO、UNIFACE、WinSock、WWW、JavaScript等不同的監(jiān)控對象,支持Windows和UNIX測試環(huán)境。最關鍵的仍然是測試過程中對監(jiān)控對象的靈活應用,例如目前三層結構的運行模式廣泛使用,對中間件的并發(fā)性能測試作為問題被提到議事日程上來,許多系統(tǒng)都采用了國產中間件,選擇JavaScript監(jiān)控對象,手工編寫腳本,可以達到測試目的。采用自

10、動化負載測試工具執(zhí)行的并發(fā)性能測試,基本遵循的測試過程有:測試需求與測試內容,測試案例制定,測試環(huán)境準備,測試腳本錄制、編寫與調試,腳本分配、回放配置與加載策略,測試執(zhí)行跟蹤,結果分析與定位問題所在,測試報告與測試評估。并發(fā)性能測試監(jiān)控的對象不同,測試的主要指標也不相同,主要的測試指標包括交易處理性能指標和UNIX資源監(jiān)控。其中,交易處理性能指標包括交易結果、每分鐘交易數、交易響應時間(Min:最小服務器響應時間;Mean:平均服務器響應時間;Max:最大服務器響應時間;StdDev:事務處理服務器響應的偏差,值越大,偏差越大;Median:中值響應時間;90%:90%事務處理的服務器響應時間

11、)、虛擬并發(fā)用戶數。應用實例:“新華社多媒體數據庫V1.0”性能測試中國軟件評測中心(CSTC)根據新華社技術局提出的多媒體數據庫(一期)性能測試需求和GB/T17544軟件包質量要求和測試的國家標準,使用工業(yè)標準級負載測試工具對新華社使用的“新華社多媒體數據庫V1.0”進行了性能測試。性能測試的目的是模擬多用戶并發(fā)訪問新華社多媒體數據庫,執(zhí)行關鍵檢索業(yè)務,分析系統(tǒng)性能。性能測試的重點是針對系統(tǒng)并發(fā)壓力負載較大的主要檢索業(yè)務,進行并發(fā)測試和疲勞測試,系統(tǒng)采用B/S運行模式。并發(fā)測試設計了特定時間段內分別在中文庫、英文庫、圖片庫中進行單檢索詞、多檢索詞以及變檢索式、混合檢索業(yè)務等并發(fā)測試案例。疲

12、勞測試案例為在中文庫中并發(fā)用戶數200,進行測試周期約8小時的單檢索詞檢索。在進行并發(fā)和疲勞測試的同時,監(jiān)測的測試指標包括交易處理性能以及UNIX(Linux)、Oracle、Apache資源等。測試結論:在新華社機房測試環(huán)境和內網測試環(huán)境中,100M帶寬情況下,針對規(guī)定的各并發(fā)測試案例,系統(tǒng)能夠承受并發(fā)用戶數為200的負載壓力,最大交易數/分鐘達到78.73,運行基本穩(wěn)定,但隨著負載壓力增大,系統(tǒng)性能有所衰減。系統(tǒng)能夠承受200并發(fā)用戶數持續(xù)周期約8小時的疲勞壓力,基本能夠穩(wěn)定運行。通過對系統(tǒng)UNIX(Linux)、Oracle和Apache資源的監(jiān)控,系統(tǒng)資源能夠滿足上述并發(fā)和疲勞性能需求

13、,且系統(tǒng)硬件資源尚有較大利用余地。當并發(fā)用戶數超過200時,監(jiān)控到HTTP500、connect和超時錯誤,且Web服務器報內存溢出錯誤,系統(tǒng)應進一步提高性能,以支持更大并發(fā)用戶數。建議進一步優(yōu)化軟件系統(tǒng),充分利用硬件資源,縮短交易響應時間。疲勞強度與大數據量測試疲勞測試是采用系統(tǒng)穩(wěn)定運行情況下能夠支持的最大并發(fā)用戶數,持續(xù)執(zhí)行一段時間業(yè)務,通過綜合分析交易執(zhí)行指標和資源監(jiān)控指標來確定系統(tǒng)處理最大工作量強度性能的過程。疲勞強度測試可以采用工具自動化的方式進行測試,也可以手工編寫程序測試,其中后者占的比例較大。一般情況下以服務器能夠正常穩(wěn)定響應請求的最大并發(fā)用戶數進行一定時間的疲勞測試,獲取交易

14、執(zhí)行指標數據和系統(tǒng)資源監(jiān)控數據。如出現錯誤導致測試不能成功執(zhí)行,則及時調整測試指標,例如降低用戶數、縮短測試周期等。還有一種情況的疲勞測試是對當前系統(tǒng)性能的評估,用系統(tǒng)正常業(yè)務情況下并發(fā)用戶數為基礎,進行一定時間的疲勞測試。大數據量測試可以分為兩種類型:針對某些系統(tǒng)存儲、傳輸、統(tǒng)計、查詢等業(yè)務進行大數據量的獨立數據量測試;與壓力性能測試、負載性能測試、疲勞性能測試相結合的綜合數據量測試方案。大數據量測試的關鍵是測試數據的準備,可以依靠工具準備測試數據。速度測試目前主要是針對關鍵有速度要求的業(yè)務進行手工測速度,可以在多次測試的基礎上求平均值,可以和工具測得的響應時間等指標做對比分析。應用在網絡上

15、性能的測試應用在網絡上性能的測試重點是利用成熟先進的自動化技術進行網絡應用性能監(jiān)控、網絡應用性能分析和網絡預測。網絡應用性能分析網絡應用性能分析的目的是準確展示網絡帶寬、延遲、負載和TCP端口的變化是如何影響用戶的響應時間的。利用網絡應用性能分析工具,例如ApplicationExpert,能夠發(fā)現應用的瓶頸,我們可知應用在網絡上運行時在每個階段發(fā)生的應用行為,在應用線程級分析應用的問題??梢越鉀Q多種問題:客戶端是否對數據庫服務器運行了不必要的請求?當服務器從客戶端接受了一個查詢,應用服務器是否花費了不可接受的時間聯(lián)系數據庫服務器?在投產前預測應用的響應時間;利用ApplicationExpe

16、rt調整應用在廣域網上的性能;ApplicationExpert能夠讓你快速、容易地仿真應用性能,根據最終用戶在不同網絡配置環(huán)境下的響應時間,用戶可以根據自己的條件決定應用投產的網絡環(huán)境。網絡應用性能監(jiān)控在系統(tǒng)試運行之后,需要及時準確地了解網絡上正在發(fā)生什么事情;什么應用在運行,如何運行;多少PC正在訪問LAN或WAN;哪些應用程序導致系統(tǒng)瓶頸或資源競爭,這時網絡應用性能監(jiān)控以及網絡資源管理對系統(tǒng)的正常穩(wěn)定運行是非常關鍵的。利用網絡應用性能監(jiān)控工具,可以達到事半功倍的效果,在這方面我們可以提供的工具是NetworkVantage。通俗地講,它主要用來分析關鍵應用程序的性能,定位問題的根源是在客

17、戶端、服務器、應用程序還是網絡。在大多數情況下用戶較關心的問題還有哪些應用程序占用大量帶寬,哪些用戶產生了最大的網絡流量,這個工具同樣能滿足要求。網絡預測考慮到系統(tǒng)未來發(fā)展的擴展性,預測網絡流量的變化、網絡結構的變化對用戶系統(tǒng)的影響非常重要。根據規(guī)劃數據進行預測并及時提供網絡性能預測數據。我們利用網絡預測分析容量規(guī)劃工具PREDICTOR可以作到:設置服務水平、完成日網絡容量規(guī)劃、離線測試網絡、網絡失效和容量極限分析、完成日常故障診斷、預測網絡設備遷移和網絡設備升級對整個網絡的影響。從網絡管理軟件獲取網絡拓撲結構、從現有的流量監(jiān)控軟件獲取流量信息(若沒有這類軟件可人工生成流量數據),這樣可以得

18、到現有網絡的基本結構。在基本結構的基礎上,可根據網絡結構的變化、網絡流量的變化生成報告和圖表,說明這些變化是如何影響網絡性能的。PREDICTOR提供如下信息:根據預測的結果幫助用戶及時升級網絡,避免因關鍵設備超過利用閥值導致系統(tǒng)性能下降;哪個網絡設備需要升級,這樣可減少網絡延遲、避免網絡瓶頸;根據預測的結果避免不必要的網絡升級。應用在服務器上性能的測試對于應用在服務器上性能的測試,可以采用工具監(jiān)控,也可以使用系統(tǒng)本身的監(jiān)控命令,例如Tuxedo中可以使用Top命令監(jiān)控資源使用情況。實施測試的目的是實現服務器設備、服務器操作系統(tǒng)、數據庫系統(tǒng)、應用在服務器上性能的全面監(jiān)控,測試原理如下圖。圖:應用在服務器上的性能測試原理圖UNIX資源監(jiān)控指標和描述監(jiān)控指標描述平均負載系統(tǒng)正常狀態(tài)下,最后60秒同步進程的平均個數沖突率在以太網上監(jiān)測到的每秒沖突數進程/線程交換率進程和線程之間每秒交換次數CPU利用率CPU占用率()磁盤交換率磁盤

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論