• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    性能:軟件測試的重中之重

    發布: 2007-4-22 17:39 | 作者: 未知    | 來源: 賽迪網     | 查看: 43次 | 進入軟件測試論壇討論

    領測軟件測試網

           性能測試在軟件的質量保證中起著重要的作用,它包括的測試內容豐富多樣。中國軟件評測中心將性能測試概括為三個方面:應用在客戶端性能的測試、應用在網絡上性能的測試和應用在服務器端性能測試。通常情況下,三方面有效、合理的結合,可以達到對系統性能全面的分析和瓶頸的預測。

      應用在客戶端性能的測試

      應用在客戶端性能測試的目的是考察客戶端應用的性能,測試的入口是客戶端。它主要包括并發性能測試、疲勞強度測試、大數據量測試和速度測試等,其中并發性能測試是重點。

      ◆ 并發性能測試是重點

      并發性能測試的過程是一個負載測試壓力測試的過程,即逐漸增加負載,直到系統的瓶頸或者不能接收的性能點,通過綜合分析交易執行指標和資源監控指標來確定系統并發性能的過程。負載測試(Load Testing)是確定在各種工作負載下系統的性能,目標是測試當負載逐漸增加時,系統組成部分的相應輸出項,例如通過量、響應時間、CPU負載、內存使用等來決定系統的性能。負載測試是一個分析軟件應用程序和支撐架構、模擬真實環境的使用,從而來確定能夠接收的性能過程。壓力測試(Stress Testing)是通過確定一個系統的瓶頸或者不能接收的性能點,來獲得系統能提供的最大服務級別的測試。

      并發性能測試的目的主要體現在三個方面:以真實的業務為依據,選擇有代表性的、關鍵的業務操作設計測試案例,以評價系統的當前性能;當擴展應用程序的功能或者新的應用程序將要被部署時,負載測試會幫助確定系統是否還能夠處理期望的用戶負載,以預測系統的未來性能;通過模擬成百上千個用戶,重復執行和運行測試,可以確認性能瓶頸并優化和調整應用,目的在于尋找到瓶頸問題。

      當一家企業自己組織力量或委托軟件公司代為開發一套應用系統的時候,尤其是以后在生產環境中實際使用起來,用戶往往會產生疑問,這套系統能不能承受大量的并發用戶同時訪問? 這類問題最常見于采用聯機事務處理(OLTP)方式數據庫應用、Web瀏覽和視頻點播等系統。這種問題的解決要借助于科學的軟件測試手段和先進的測試工具。

      ◆ 舉例說明:電信計費軟件

      眾所周知,每月20日左右是市話交費的高峰期,全市幾千個收費網點同時啟動。收費過程一般分為兩步,首先要根據用戶提出的電話號碼來查詢出其當月產生費用,然后收取現金并將此用戶修改為已交費狀態。一個用戶看起來簡單的兩個步驟,但當成百上千的終端,同時執行這樣的操作時,情況就大不一樣了,如此眾多的交易同時發生,對應用程序本身、操作系統、中心數據庫服務器、中間件服務器、網絡設備的承受力都是一個嚴峻的考驗。決策者不可能在發生問題后才考慮系統的承受力, 預見軟件的并發承受力, 這是在軟件測試階段就應該解決的問題。

      目前,大多數公司企業需要支持成百上千名用戶,各類應用環境以及由不同供應商提供的元件組裝起來的復雜產品,難以預知的用戶負載和愈來愈復雜的應用程序,使公司擔憂會發生投放性能差、用戶遭受反應慢、系統失靈等問題。其結果就是導致公司收益的損失。

      如何模擬實際情況呢? 找若干臺電腦和同樣數目的操作人員在同一時刻進行操作,然后拿秒表記錄下反應時間? 這樣的手工作坊式的測試方法不切實際,且無法捕捉程序內部變化情況,這樣就需要壓力測試工具的輔助。

      測試的基本策略是自動負載測試,通過在一臺或幾臺PC機上模擬成百或上千的虛擬用戶同時執行業務的情景,對應用程序進行測試,同時記錄下每一事務處理的時間、中間件服務器峰值數據、數據庫狀態等。通過可重復的、真實的測試能夠徹底地度量應用的可擴展性和性能,確定問題所在以及優化系統性能。預先知道了系統的承受力,就為最終用戶規劃整個運行環境的配置提供了有力的依據。

      ◆ 并發性能測試前的準備工作

      測試環境:配置測試環境是測試實施的一個重要階段,測試環境的適合與否會嚴重影響測試結果的真實性和正確性。測試環境包括硬件環境和軟件環境,硬件環境指測試必需的服務器、客戶端、網絡連接設備以及打印機/掃描儀等輔助硬件設備所構成的環境;軟件環境指被測軟件運行時的操作系統、數據庫及其他應用軟件構成的環境。

      一個充分準備好的測試環境有三個優點:一個穩定、可重復的測試環境,能夠保證測試結果的正確;保證達到測試執行的技術需求;保證得到正確的、可重復的以及易理解的測試結果。

      測試工具:并發性能測試是在客戶端執行的黑盒測試,一般不采用手工方式,而是利用工具采用自動化方式進行。目前,成熟的并發性能測試工具有很多,選擇的依據主要是測試需求和性能價格比。著名的并發性能測試工具有QALoad、LoadRunner、Benchmark Factory和Webstress等。這些測試工具都是自動化負載測試工具,通過可重復的、真實的測試,能夠徹底地度量應用的可擴展性和性能,可以在整個開發生命周期、跨越多種平臺、自動執行測試任務,可以模擬成百上千的用戶并發執行關鍵業務而完成對應用程序的測試。

      測試數據:在初始的測試環境中需要輸入一些適當的測試數據,目的是識別數據狀態并且驗證用于測試的測試案例,在正式的測試開始以前對測試案例進行調試,將正式測試開始時的錯誤降到最低。在測試進行到關鍵過程環節時,非常有必要進行數據狀態的備份。制造初始數據意味著將合適的數據存儲下來,需要的時候恢復它,初始數據提供了一個基線用來評估測試執行的結果。

      在測試正式執行時,還需要準備業務測試數據,比如測試并發查詢業務,那么要求對應的數據庫和表中有相當的數據量以及數據的種類應能覆蓋全部業務。

      模擬真實環境測試,有些軟件,特別是面向大眾的商品化軟件,在測試時常常需要考察在真實環境中的表現。如測試殺毒軟件的掃描速度時,硬盤上布置的不同類型文件的比例要盡量接近真實環境,這樣測試出來的數據才有實際意義。

      ◆ 并發性能測試的種類與指標

      并發性能測試的種類取決于并發性能測試工具監控的對象,以QALoad自動化負載測試工具為例。軟件針對各種測試目標提供了DB2、DCOM、ODBC、ORACLE、NETLoad、Corba、QARun、SAP、SQLServer、Sybase、Telnet、TUXEDO、UNIFACE、WinSock、WWW、Java Script等不同的監控對象,支持Windows和UNIX測試環境。

      最關鍵的仍然是測試過程中對監控對象的靈活應用,例如目前三層結構的運行模式廣泛使用,對中間件的并發性能測試作為問題被提到議事日程上來,許多系統都采用了國產中間件,選擇Java Script監控對象,手工編寫腳本,可以達到測試目的。

      采用自動化負載測試工具執行的并發性能測試,基本遵循的測試過程有:測試需求與測試內容,測試案例制定,測試環境準備,測試腳本錄制、編寫與調試,腳本分配、回放配置與加載策略,測試執行跟蹤,結果分析與定位問題所在,測試報告與測試評估。

      并發性能測試監控的對象不同,測試的主要指標也不相同,主要的測試指標包括交易處理性能指標和UNIX資源監控。其中,交易處理性能指標包括交易結果、每分鐘交易數、交易響應時間(Min:最小服務器響應時間;Mean:平均服務器響應時間;Max:最大服務器響應時間;StdDev:事務處理服務器響應的偏差,值越大,偏差越大;Median:中值響應時間;90%:90%事務處理的服務器響應時間)、虛擬并發用戶數。

      應用實例:“新華社多媒體數據庫 V1.0”性能測試

      中國軟件評測中心(CSTC)根據新華社技術局提出的《多媒體數據庫(一期)性能測試需求》和GB/T 17544《軟件包質量要求和測試》的國家標準,使用工業標準級負載測試工具對新華社使用的“新華社多媒體數據庫 V1.0”進行了性能測試。

      性能測試的目的是模擬多用戶并發訪問新華社多媒體數據庫,執行關鍵檢索業務,分析系統性能。

      性能測試的重點是針對系統并發壓力負載較大的主要檢索業務,進行并發測試和疲勞測試,系統采用B/S運行模式。并發測試設計了特定時間段內分別在中文庫、英文庫、圖片庫中進行單檢索詞、多檢索詞以及變檢索式、混合檢索業務等并發測試案例。疲勞測試案例為在中文庫中并發用戶數200,進行測試周期約8小時的單檢索詞檢索。在進行并發和疲勞測試的同時,監測的測試指標包括交易處理性能以及UNIX(Linux)、Oracle、Apache資源等。

      測試結論:在新華社機房測試環境和內網測試環境中,100M帶寬情況下,針對規定的各并發測試案例,系統能夠承受并發用戶數為200的負載壓力,最大交易數/分鐘達到78.73,運行基本穩定,但隨著負載壓力增大,系統性能有所衰減。

      系統能夠承受200并發用戶數持續周期約8小時的疲勞壓力,基本能夠穩定運行。

      通過對系統UNIX(Linux)、Oracle和Apache資源的監控,系統資源能夠滿足上述并發和疲勞性能需求,且系統硬件資源尚有較大利用余地。

      當并發用戶數超過200時,監控到HTTP 500、connect和超時錯誤,且Web服務器報內存溢出錯誤,系統應進一步提高性能,以支持更大并發用戶數。

      建議進一步優化軟件系統,充分利用硬件資源,縮短交易響應時間。

      ◆ 疲勞強度與大數據量測試

      疲勞測試是采用系統穩定運行情況下能夠支持的最大并發用戶數,持續執行一段時間業務,通過綜合分析交易執行指標和資源監控指標來確定系統處理最大工作量強度性能的過程。

      疲勞強度測試可以采用工具自動化的方式進行測試,也可以手工編寫程序測試,其中后者占的比例較大。

      一般情況下以服務器能夠正常穩定響應請求的最大并發用戶數進行一定時間的疲勞測試,獲取交易執行指標數據和系統資源監控數據。如出現錯誤導致測試不能成功執行,則及時調整測試指標,例如降低用戶數、縮短測試周期等。還有一種情況的疲勞測試是對當前系統性能的評估,用系統正常業務情況下并發用戶數為基礎,進行一定時間的疲勞測試。

      大數據量測試可以分為兩種類型:針對某些系統存儲、傳輸、統計、查詢等業務進行大數據量的獨立數據量測試;與壓力性能測試、負載性能測試、疲勞性能測試相結合的綜合數據量測試方案。大數據量測試的關鍵是測試數據的準備,可以依靠工具準備測試數據。

      速度測試目前主要是針對關鍵有速度要求的業務進行手工測速度,可以在多次測試的基礎上求平均值,可以和工具測得的響應時間等指標做對比分析。

      應用在網絡上性能的測試

      應用在網絡上性能的測試重點是利用成熟先進的自動化技術進行網絡應用性能監控、網絡應用性能分析和網絡預測。

      ◆ 網絡應用性能分析

      網絡應用性能分析的目的是準確展示網絡帶寬、延遲、負載和TCP端口的變化是如何影響用戶的響應時間的。利用網絡應用性能分析工具,例如Application Expert,能夠發現應用的瓶頸,我們可知應用在網絡上運行時在每個階段發生的應用行為,在應用線程級分析應用的問題?梢越鉀Q多種問題:客戶端是否對數據庫服務器運行了不必要的請求?當服務器從客戶端接受了一個查詢,應用服務器是否花費了不可接受的時間聯系數據庫服務器?在投產前預測應用的響應時間;利用Application Expert調整應用在廣域網上的性能;Application Expert能夠讓你快速、容易地仿真應用性能,根據最終用戶在不同網絡配置環境下的響應時間,用戶可以根據自己的條件決定應用投產的網絡環境。

      ◆ 網絡應用性能監控

      在系統試運行之后,需要及時準確地了解網絡上正在發生什么事情;什么應用在運行,如何運行;多少PC正在訪問LAN或WAN;哪些應用程序導致系統瓶頸或資源競爭,這時網絡應用性能監控以及網絡資源管理對系統的正常穩定運行是非常關鍵的。利用網絡應用性能監控工具,可以達到事半功倍的效果,在這方面我們可以提供的工具是Network Vantage。通俗地講,它主要用來分析關鍵應用程序的性能,定位問題的根源是在客戶端、服務器、應用程序還是網絡。在大多數情況下用戶較關心的問題還有哪些應用程序占用大量帶寬,哪些用戶產生了最大的網絡流量,這個工具同樣能滿足要求。

      ◆ 網絡預測

      考慮到系統未來發展的擴展性,預測網絡流量的變化、網絡結構的變化對用戶系統的影響非常重要。根據規劃數據進行預測并及時提供網絡性能預測數據。我們利用網絡預測分析容量規劃工具PREDICTOR可以作到:設置服務水平、完成日網絡容量規劃、離線測試網絡、網絡失效和容量極限分析、完成日常故障診斷、預測網絡設備遷移和網絡設備升級對整個網絡的影響。

      從網絡管理軟件獲取網絡拓撲結構、從現有的流量監控軟件獲取流量信息(若沒有這類軟件可人工生成流量數據),這樣可以得到現有網絡的基本結構。在基本結構的基礎上,可根據網絡結構的變化、網絡流量的變化生成報告和圖表,說明這些變化是如何影響網絡性能的。 PREDICTOR提供如下信息:根據預測的結果幫助用戶及時升級網絡,避免因關鍵設備超過利用閥值導致系統性能下降;哪個網絡設備需要升級,這樣可減少網絡延遲、避免網絡瓶頸;根據預測的結果避免不必要的網絡升級。

      應用在服務器上性能的測試

      對于應用在服務器上性能的測試,可以采用工具監控,也可以使用系統本身的監控命令,例如Tuxedo中可以使用Top命令監控資源使用情況。實施測試的目的是實現服務器設備、服務器操作系統、數據庫系統、應用在服務器上性能的全面監控,測試原理如下圖。

      (暫時略)

      圖:應用在服務器上的性能測試原理圖

      UNIX資源監控指標和描述

      監控指標 描述

      平均負載 系統正常狀態下,最后60秒同步進程的

      平均個數

      沖突率 在以太網上監測到的每秒沖突數

      進程/線程交換率 進程和線程之間每秒交換次數

      CPU利用率 CPU占用率(%)

      磁盤交換率 磁盤交換速率

      接收包錯誤率 接收以太網數據包時每秒錯誤數

      包輸入率 每秒輸入的以太網數據包數目

      中斷速率 CPU每秒處理的中斷數

      輸出包錯誤率 發送以太網數據包時每秒錯誤數

      包輸入率 每秒輸出的以太網數據包數目

      讀入內存頁速率 物理內存中每秒讀入內存頁的數目

      寫出內存頁速率 每秒從物理內存中寫到頁文件中的內存頁數

      目或者從物理內存中刪掉的內存頁數目

      內存頁交換速率 每秒寫入內存頁和從物理內存中讀出頁的個數

      進程入交換率 交換區輸入的進程數目

      進程出交換率 交換區輸出的進程數目

      系統CPU利用率 系統的CPU占用率(%)

      用戶CPU利用率 用戶模式下的CPU占用率(%)

      磁盤阻塞 磁盤每秒阻塞的字節數

      請說出你的技術需求,記下你的實踐經歷,發至tpj@ccu.com.cn

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>