當前位置:工程項目OA系統(tǒng) > 泛普各地 > 遼寧OA系統(tǒng) > 沈陽OA系統(tǒng) > 沈陽OA快博
談項目管理和軟件測試過程(三)
3.性能測試是軟件測試專業(yè)化的核心所在
從華友實踐看,軟件測試對于產(chǎn)品經(jīng)理、開發(fā)經(jīng)理和市場經(jīng)理都有所認識,他們大部分人會認為功能測試工作他們能夠很好的完成,產(chǎn)品經(jīng)理是公司對于業(yè)務最熟悉的一批人,他們對于測試工程師最急切的需求是你幫我實施產(chǎn)品的性能測試工作,他們聽說過性能測試,我們的產(chǎn)品投入在線運行后碰到的最大故障是大用戶量訪問業(yè)務是機器凼機,或停止正常的服務,每次故障,幾乎給公司的收入都造成很大損失。如果測試部門能有一套有效的性能測試手段,就確立了測試部門在項目開發(fā)過程中關鍵地位。
性能測試在華友軟件的質量保證中起著非常重要的作用,將性能測試概括為四個方面:Wap無線應用服務在手機用戶端性能測試、 Web/Wap應用服務在客戶端性能的測試、應用在網(wǎng)絡上性能的測試和應用在服務器端性能的測試。通常情況下, 四方面有效、合理的結合,可以達到對系統(tǒng)性能全面的分析和瓶頸的預測。
3.1 Wap無線應用服務在手機用戶端性能測試
如今人人用手機都追求時尚,時尚體現(xiàn)在款式, 品牌和功能。手機產(chǎn)品功能的日新月異,移動增值業(yè)務功能層出不窮,從最初的短信、彩信、鈴聲到GPRS,CDMA,K-Java, Brew手機,功能的多樣性帶來手機用戶端軟件系統(tǒng)測試的復雜性。眾所周知, Java手機吸引人之處是能提供智能的, 個人化的互動服務, 例如: 動態(tài)產(chǎn)生個人化的股市服務, 顯示圖形, 動畫, 實時路況, 氣象報告, 數(shù)字照像, 玩游戲等, 部分服務能直接于用戶端執(zhí)行。
為了提供如此生動的服務, 移動通信系統(tǒng)要能給終端用戶在無線裝置上提供接入互聯(lián)網(wǎng)的功能, 要能儲存、提取、管理、計算、結帳、下載軟件服務, 并使內(nèi)容提供商能提供豐富的聲像多媒體內(nèi)容, 形成廣大的個人化交互式服務環(huán)境。 而作為移動用戶, 可將手機視作虛擬機, 能隨時、隨地在適當?shù)难b置上存取應用, 享受服務。 這確是一種時尚。
當前, 對于不同品牌的手機, 它們所用的平臺(指CPU和操作系統(tǒng))各不相同, 由于采用不同的設計方案, 各設計之間缺乏兼容性, 操作系統(tǒng)和二進制代碼都不兼容。 當手機運行需要大量內(nèi)存時, 特別是隨著接入互聯(lián)網(wǎng), 手機用戶要求能使用個性化的 交互式應用軟件, 應用程序運行在虛擬運行環(huán)境下時, 問題顯得尤為突出。 所以, 有必要建立一種標準的通用運行平臺, 達到在合適的成本下提供統(tǒng)一的交互式應用軟件運行環(huán)境。 但是, 除非該平臺是基于完全標準的器件, 否則是難以達到要求的。
標準的通用的運行平臺是滿足運營商, 軟件開發(fā)商, 和終端用戶三者綜合要求的解決辦法。 理想的環(huán)境必須具備以下性質:
(1)、平臺應提供二進制兼容性。 可執(zhí)行軟件是二進制目標碼, 需要在處理器和應用軟件目標碼之間建立溝通;
(2)、平臺必須包括微處理器,或一個與微處理器機器代碼相離的通用機器碼仿真器;
(3)、平臺應包括帶有應用程序接口API及支持一致性圖形用戶界面GUI相應功能的操作系統(tǒng)。 API 是執(zhí)行典型操作功能的軟件功能庫, 例如打開文件, 讀寫數(shù)據(jù), 配置和管理內(nèi)存, 處理事件, 顯示文檔和圖形等。 為使應用軟件真正做到可移植, 裝置上必須有公共功能集, 并讓軟件開發(fā)者能通過一致性API 擴展功能;
(4)、平臺不應要求過多的系統(tǒng)資源, 可移植性設備不應使成本上升太多;
(5)、平臺應對功率有高效率, 尤其考慮用電池供電的設備;
(6)、由于要在互聯(lián)網(wǎng)上應用, 安全性也是重要因素。
以Java手機軟件測試為例潛在的測試問題和解決辦法
Java有移植性好和其它很多優(yōu)勢, 但用在手機上, 速率和功耗仍是個瓶頸。 Java帶來的新問題是執(zhí)行速度慢, 消耗功率大。 與PC不同的是, 手機資源有限, 一般流行的手機中CPU的速率為26MHz, 或52MHz,帶128M閃存, 8Mb, 16M 或64Mb內(nèi)存, 沒有硬盤, 由電池供電, 體積小, 空間窄。 系統(tǒng)慢的原因是:
(1) 系統(tǒng)必須同時運行兩套軟件: Java應用和虛擬機JVM;
(2) Java軟件需要被翻譯成自然CPU指令;
(3) Java平臺是基于棧(相對于寄存器)結構的, 導致更多的內(nèi)存存取。
因而, 如何對執(zhí)行 Java加速成為關鍵。 加速處理數(shù)據(jù)和圖形, 這對手機上互聯(lián)網(wǎng)和多媒體的應用具有重要意義。 要克服這些問題, 提高Java軟件性能, 可能的方法有四種:
(1) 提高微處理器速率。 然而Java軟件性能與時鐘頻率并不成線性關系, 微處理器運行一般比內(nèi)存存取時間高2-10倍, 增加時鐘頻率只會增加等待周期。
(2) 對JVM軟件進行優(yōu)化。 這可能涉及到要用匯編語言對字節(jié)碼翻譯環(huán)路進行編程, 而這會導致JRE變得與微處理器類別有關。 而與可移植相抵觸;
(3) 編譯。 將軟件直接編譯到微處理器的自然機器語言。 但是這會增加內(nèi)存的開銷, 也不節(jié)省能量的消耗。
(4) 采用基于硬件的加速器。 這可以做到提高性能, 保障能量和成本的有效性。 被手機設計廠商認為是較理想的措施。 通用型Java加速芯片于今年年初問世。
3.2 分析Web/Wap應用服務在客戶端性能的測試
Web/Wap應用服務在客戶端性能測試的目的是考察客戶端應用的性能,測試的入口是客戶端。它主要包括并發(fā)性能測試、大數(shù)據(jù)量測試和速度測試等,其中并發(fā)性能測試是重點。
并發(fā)性能測試的過程是一個負載測試和壓力測試的過程,即逐漸增加負載,直到系統(tǒng)的瓶頸或者不能接收的性能點,通過綜合分析交易執(zhí)行指標和資源監(jiān)控指標來確定系統(tǒng)并發(fā)性能的過程。負載測試(Load Testing)是確定在各種工作負載下系統(tǒng)的性能,目標是測試當負載逐漸增加時,系統(tǒng)組成部分的相應輸出項,例如通過量、響應時間、CPU負載、內(nèi)存使用等來決定系統(tǒng)的性能。負載測試是一個分析軟件應用程序和支撐架構、模擬真實環(huán)境的使用,從而來確定能夠接收的性能過程。壓力測試(Stress Testing)是通過確定一個系統(tǒng)的瓶頸或者不能接收的性能點,來獲得系統(tǒng)能提供的最大服務級別的測試。
并發(fā)性能測試的目的主要體現(xiàn)在三個方面:以真實的業(yè)務為依據(jù),選擇有代表性的、關鍵的業(yè)務操作設計測試案例,以評價系統(tǒng)的當前性能;當擴展應用程序的功能或者新的應用程序將要被部署時,負載測試會幫助確定系統(tǒng)是否還能夠處理期望的用戶負載,以預測系統(tǒng)的未來性能;通過模擬成百上千個用戶,重復執(zhí)行和運行測試,可以確認性能瓶頸并優(yōu)化和調(diào)整應用,目的在于尋找到瓶頸問題。
我們公司自己組織力量同時委托第三方軟件HG公司開發(fā)Hawa網(wǎng)站的一套應用Avatar形象系統(tǒng)的時候, Avatar形象在網(wǎng)站業(yè)務中占有著重要的位置,網(wǎng)站上的很多業(yè)務都是圍繞Avatar開展。 這套系統(tǒng)能不能承受大量的并發(fā)用戶同時訪問? 成為這個網(wǎng)站能否成功的關鍵,也是這次兩個公司合做開發(fā)能否順利完成的關鍵。這類問題最常見于采用聯(lián)機事務處理(OLTP)方式數(shù)據(jù)庫應用、Web瀏覽和視頻點播等系統(tǒng)。這種問題的解決要借助于科學的軟件測試手段和先進的測試工具。
Web軟件測試實例說明:哈哇網(wǎng)站Avatar形象系統(tǒng)軟件。Avatar形象系統(tǒng)在上線試運行三個月后,所有的功能測試順利完成,軟件功能缺陷也修改完畢。但是,性能問題越來越成為項目經(jīng)理關心的焦點,我們測試部門借助比較熟悉的壓力測試工具Web Stress 實施客戶端性能測試進行100,500,1000等并發(fā)用戶訪問。每次測試主要在基于URL:http://avatar.hawa.cn/index.jsp的基礎上,與HG公司實時交互地進行多種情況下的測試。按照HG公司要求主要針對并發(fā)數(shù)為1000和500的情況下,盡量準確的對Avatar系統(tǒng)的性能壓力進行模擬測試;并排除所有不是從web服務器(即avatar.hawa.cn)上得到的URL,即只對/index.jsp等頁面進行測試。三次結果后,盡管程序優(yōu)化、運行服務器配置多次修改,仍然存在用戶量并發(fā)數(shù)達到1000,服務質量下降,頁面方面時間超過正常顯示時間。這里有最后一次測試結果與前幾次大致相同。但是本次測試,是用多客戶端測試,按原理是應該比以前的單機測試準確度要高,但其結果是比用單機測試的時間還要長,當并發(fā)數(shù)達到1000時,其頁面的最長響應時間在80多秒(而單機測試時時59秒多)!第三次又發(fā)現(xiàn)ISP網(wǎng)絡100MB帶寬實際上不到20MB,也是影響用戶服務的關鍵因素之一。
這個性能問題經(jīng)過HG公司開發(fā)人員近三個月改進,/index.jsp頁面的1000個用戶并發(fā)響應時間10秒左右。對于我方采用的Web Stress性能測試工具HG公司也認同其測試結果的客觀性,公司因為該軟件性能問題推遲支付對方經(jīng)費200萬圓三個月,更重要的是軟件的性能問題得到很好解決,并與HG公司的關系很好保持。另外一個更大的收獲是測試部門在Web 產(chǎn)品部門有個很好的形象,他們每次新軟件產(chǎn)品需求提出、產(chǎn)品上線都主動要求測試部門參與并實施嚴格測試。
如何模擬實際情況呢? 找若干臺電腦和同樣數(shù)目的操作人員在同一時刻進行操作,然后拿秒表記錄下反應時間? 這樣的手工作坊式的測試方法不切實際,且無法捕捉程序內(nèi)部變化情況,這樣就需要壓力測試工具的輔助。
測試的基本策略是自動負載測試,通過在一臺或幾臺PC機上模擬成百或上千的虛擬用戶同時執(zhí)行業(yè)務的情景,對應用程序進行測試,同時記錄下每一事務處理的時間、中間件服務器峰值數(shù)據(jù)、數(shù)據(jù)庫狀態(tài)等。通過可重復的、真實的測試能夠徹底地度量應用的可擴展性和性能,確定問題所在以及優(yōu)化系統(tǒng)性能。預先知道了系統(tǒng)的承受力,就為最終用戶規(guī)劃整個運行環(huán)境的配置提供了有力的依據(jù)。
并發(fā)性能測試前的準備工作
測試環(huán)境:配置測試環(huán)境是測試實施的一個重要階段,測試環(huán)境的適合與否會嚴重影響測試結果的真實性和正確性。測試環(huán)境包括硬件環(huán)境和軟件環(huán)境,硬件環(huán)境指測試必需的服務器、客戶端、網(wǎng)絡連接設備以及打印機/掃描儀等輔助硬件設備所構成的環(huán)境;軟件環(huán)境指被測軟件運行時的操作系統(tǒng)、數(shù)據(jù)庫及其他應用軟件構成的環(huán)境。
一個充分準備好的測試環(huán)境有三個優(yōu)點:一個穩(wěn)定、可重復的測試環(huán)境,能夠保證測試結果的正確;保證達到測試執(zhí)行的技術需求;保證得到正確的、可重復的以及易理解的測試結果。
測試工具:成熟的并發(fā)性能測試工具有很多,選擇的依據(jù)主要是測試需求和性能價格比。著名的并發(fā)性能測試工具有QALoad、LoadRunner、Benchmark Factory、 Webstress和AB-Apache等。這些測試工具都是自動化負載測試工具,通過可重復的、真實的測試,能夠徹底地度量應用的可擴展性和性能,可以在整個開發(fā)生命周期、跨越多種平臺、自動執(zhí)行測試任務,可以模擬成百上千的用戶并發(fā)執(zhí)行關鍵業(yè)務而完成對應用程序的測試。
測試數(shù)據(jù):在初始的測試環(huán)境中需要輸入一些適當?shù)臏y試數(shù)據(jù),目的是識別數(shù)據(jù)狀態(tài)并且驗證用于測試的測試案例,在正式的測試開始以前對測試案例進行調(diào)試,將正式測試開始時的錯誤降到最低。在測試進行到關鍵過程環(huán)節(jié)時,非常有必要進行數(shù)據(jù)狀態(tài)的備份。制造初始數(shù)據(jù)意味著將合適的數(shù)據(jù)存儲下來,需要的時候恢復它,初始數(shù)據(jù)提供了一個基線用來評估測試執(zhí)行的結果。
在測試正式執(zhí)行時,還需要準備業(yè)務測試數(shù)據(jù),比如測試并發(fā)查詢業(yè)務,那么要求對應的數(shù)據(jù)庫和表中有相當?shù)臄?shù)據(jù)量以及數(shù)據(jù)的種類應能覆蓋全部業(yè)務。
模擬真實環(huán)境測試,有些軟件,特別是面向大眾的商品化軟件,在測試時常常需要考察在真實環(huán)境中的表現(xiàn)。如測試殺毒軟件的掃描速度時,硬盤上布置的不同類型文件的比例要盡量接近真實環(huán)境,這樣測試出來的數(shù)據(jù)才有實際意義。
并發(fā)性能測試的關鍵的是測試過程中對監(jiān)控對象的靈活應用,例如目前三層結構的運行模式廣泛使用,對中間件的并發(fā)性能測試作為問題被提到議事日程上來,許多系統(tǒng)都采用了國產(chǎn)中間件,選擇Java Script監(jiān)控對象,手工編寫腳本,可以達到測試目的。
采用自動化負載測試工具執(zhí)行的并發(fā)性能測試,基本遵循的測試過程有:測試需求與測試內(nèi)容,測試案例制定,測試環(huán)境準備,測試腳本錄制、編寫與調(diào)試,腳本分配、回放配置與加載策略,測試執(zhí)行跟蹤,結果分析與定位問題所在,測試報告與測試評估。
3.3 應用在網(wǎng)絡上性能的測試
應用在網(wǎng)絡上性能的測試重點是利用成熟先進的自動化技術進行網(wǎng)絡應用性能監(jiān)控、網(wǎng)絡應用性能分析和網(wǎng)絡預測。
網(wǎng)絡應用性能分析
網(wǎng)絡應用性能分析的目的是準確展示網(wǎng)絡帶寬、延遲、負載和TCP端口的變化是如何影響用戶的響應時間的。利用網(wǎng)絡應用性能分析工具,例如Application Expert,能夠發(fā)現(xiàn)應用的瓶頸,我們可知應用在網(wǎng)絡上運行時在每個階段發(fā)生的應用行為,在應用線程級分析應用的問題。可以解決多種問題:客戶端是否對數(shù)據(jù)庫服務器運行了不必要的請求?當服務器從客戶端接受了一個查詢,應用服務器是否花費了不可接受的時間聯(lián)系數(shù)據(jù)庫服務器?在投產(chǎn)前預測應用的響應時間;利用Application Expert調(diào)整應用在廣域網(wǎng)上的性能;Application Expert能夠讓你快速、容易地仿真應用性能,根據(jù)最終用戶在不同網(wǎng)絡配置環(huán)境下的響應時間,用戶可以根據(jù)自己的條件決定應用投產(chǎn)的網(wǎng)絡環(huán)境。
網(wǎng)絡應用性能監(jiān)控
在系統(tǒng)試運行之后,需要及時準確地了解網(wǎng)絡上正在發(fā)生什么事情;什么應用在運行,如何運行;多少PC正在訪問LAN或WAN;哪些應用程序導致系統(tǒng)瓶頸或資源競爭,這時網(wǎng)絡應用性能監(jiān)控以及網(wǎng)絡資源管理對系統(tǒng)的正常穩(wěn)定運行是非常關鍵的。利用網(wǎng)絡應用性能監(jiān)控工具,可以達到事半功倍的效果,在這方面我們可以提供的工具是Network Vantage。通俗地講,它主要用來分析關鍵應用程序的性能,定位問題的根源是在客戶端、服務器、應用程序還是網(wǎng)絡。在大多數(shù)情況下用戶較關心的問題還有哪些應用程序占用大量帶寬,哪些用戶產(chǎn)生了最大的網(wǎng)絡流量,這個工具同樣能滿足要求。
網(wǎng)絡預測
考慮到系統(tǒng)未來發(fā)展的擴展性,預測網(wǎng)絡流量的變化、網(wǎng)絡結構的變化對用戶系統(tǒng)的影響非常重要。根據(jù)規(guī)劃數(shù)據(jù)進行預測并及時提供網(wǎng)絡性能預測數(shù)據(jù)。我們利用網(wǎng)絡預測分析容量規(guī)劃工具PREDICTOR可以作到:設置服務水平、完成日網(wǎng)絡容量規(guī)劃、離線測試網(wǎng)絡、網(wǎng)絡失效和容量極限分析、完成日常故障診斷、預測網(wǎng)絡設備遷移和網(wǎng)絡設備升級對整個網(wǎng)絡的影響。
從網(wǎng)絡管理軟件獲取網(wǎng)絡拓撲結構、從現(xiàn)有的流量監(jiān)控軟件獲取流量信息(若沒有這類軟件可人工生成流量數(shù)據(jù)),這樣可以得到現(xiàn)有網(wǎng)絡的基本結構。在基本結構的基礎上,可根據(jù)網(wǎng)絡結構的變化、網(wǎng)絡流量的變化生成報告和圖表,說明這些變化是如何影響網(wǎng)絡性能的。 PREDICTOR提供如下信息:根據(jù)預測的結果幫助用戶及時升級網(wǎng)絡,避免因關鍵設備超過利用閥值導致系統(tǒng)性能下降;哪個網(wǎng)絡設備需要升級,這樣可減少網(wǎng)絡延遲、避免網(wǎng)絡瓶頸;根據(jù)預測的結果避免不必要的網(wǎng)絡升級。
3.4 應用在服務器上性能的測試
首先分析服務器的類型,服務器的劃分起碼可以依據(jù)四大部分進行。一是根據(jù)整個架構,可分為IA服務器和RISC服務器;二是按照硬件配置的差別可分為工作組級、部門級、企業(yè)級;三是按照具體安裝的應用軟件可分為Web服務器、文件服務器、FTP服務器、E-mail服務器、數(shù)據(jù)庫服務器等等;四是根據(jù)操作系統(tǒng)分為WINDOWS陣營、UNIX陣營。這四大分類有所關聯(lián),但其中按應用分類是最能給用戶清晰概念的。因為用戶在采購選型時,總是先想好了拿它做什么用的。Intel最近所提出的前端(用于接入等)、中端(用于各種應用和中間件)和后端(用于數(shù)據(jù)庫、在線分析等)的分類辦法,這也是從應用角度考慮的。
分析服務器性能指標莫不聚焦于三大指標:CPU、I/O及Web。如果大家還記得圖靈機的話,應該對計算單元和輸入輸出的重要不會抱什么懷疑的態(tài)度。至于選擇Web作為衡量服務器性能的要點,只能說是網(wǎng)絡的力量。Internet的大行其道讓我們很難想象有服務器孤島出現(xiàn)。工程師往往通過給與被測服務器不斷增加的并發(fā)式文件讀寫、數(shù)據(jù)庫操作以及HTTP訪問來取得其最大的潛值。
以Web測試為例,衡量Web性能一般有下列幾個重要指標:HTTP 每秒交易數(shù)(Transaction Per Second);每秒會話數(shù)(Sessions Per Second);當前用戶數(shù)(Concurrent users);吞吐量(Throughput)。HTTP TPS通常也叫做每秒的點擊數(shù);每秒會話數(shù)是每秒到達Web服務器的用戶數(shù);當前用戶數(shù)是特定時間在Web 站點上的用戶數(shù);吞吐量是在特定時間由Web站點發(fā)出的數(shù)據(jù)流量帶寬,它與服務器提供服務的內(nèi)容和交易數(shù)相關。以上將是我們對測試結果進行評述與點評的重要技術基礎。
來源:CCW
- 1瞬索給現(xiàn)存信息系統(tǒng)帶來了革新
- 2先進制造技術的發(fā)展趨勢
- 3安全:首先想到人
- 4網(wǎng)絡安全:企業(yè)“終端壞死癥”的七個跡象
- 5如何配置VLAN基礎架構
- 6泛普協(xié)同OA系統(tǒng)采用了開放的技術架構
- 7如何構建小企業(yè)有線、無線混合組網(wǎng)
- 8一種實現(xiàn)無線網(wǎng)絡安全的混合方式
- 9軟件開發(fā)人員年度調(diào)查
- 10如何讓VoIP變得安全可靠
- 11沈陽哪家公司做OA自動化辦公系統(tǒng)最好?
- 12五種方法幫你提高技術支持效率
- 13Windows安全模式有妙用
- 14VPN技術在電力系統(tǒng)中的應用
- 15協(xié)鑫集團CIO渠本強:知識管理驅動業(yè)務創(chuàng)新
- 16加強外包的安全策略
- 17批處理過程的監(jiān)控
- 18怎樣編織家中“線網(wǎng)”
- 19數(shù)據(jù)庫技術的一些基本概念
- 20信息化技術應用篇:交流伺服系統(tǒng)的發(fā)展和展望
- 21供應鏈技術小專題:ECR高效消費者響應
- 22如何構筑家庭網(wǎng)絡
- 23中小連鎖零售企業(yè)信息化優(yōu)勢一念之間
- 24控制系統(tǒng)的信息安全保障
- 25計算機與PLC集成控制系統(tǒng)
- 26數(shù)字融合考驗網(wǎng)絡“思考能力”
- 27如何恢復Unix系統(tǒng)被刪除的文件
- 28Linux系統(tǒng)管理技巧大薈萃
- 29“傻”交換變聰明 智能交換漸成氣候
- 30安全網(wǎng)關的“硬”道理
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓