




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
軟件測試方法和技術
第2版
第9章基于應用服務器的測試謝紅薇Mobil:QQ:740393608第一頁,共四十七頁。第9章基于應用服務器的測試9.1基于Web服務器應用的測試9.2基于數(shù)據(jù)庫應用服務器的測試9.3基于JavaEE應用服務器的測試第二頁,共四十七頁。9.1基于Web服務器應用的測試9.1.1Web服務器功能測試 9.1.2Web安全性測試9.1.3Web性能測試9.1.4性能測試工具Flood第三頁,共四十七頁。9.1.1Web服務器的功能測試GET OPTIONSHEADPOSTPUTDELETETRACECONNECT第四頁,共四十七頁。正則表達式第五頁,共四十七頁。常用的Web元素功能測試頁面鏈接頁面是否存在頁面是否正確設計腳本不同的腳本語言相同的腳本語言在不同瀏覽器中的表現(xiàn)Web圖形表單第六頁,共四十七頁。9.1.2
Web服務器的安全測試登錄、身份驗證超時、Cookie和Session輸入驗證(防止腳本語言)數(shù)據(jù)加密、SSL(安全套接字)SQL注入XSS日志文件目錄第七頁,共四十七頁。跨站點攻擊(XSS)ReflectedXSSStoredXSSDOM-basedXSS第八頁,共四十七頁。9.1.3Web服務器的性能測試基于Web應用系統(tǒng)的在線用戶和響應時間來度量系統(tǒng)性能,基于Web應用系統(tǒng)的吞吐量和響應時間來度量系統(tǒng)性能第九頁,共四十七頁。Apache性能測試工具ab第十頁,共四十七頁。Web服務器性能測試要點如何確定在線用戶數(shù)量呢?由于時間和資源限制,不可能對Web應用系統(tǒng)的所有功能進行性能測試,而是根據(jù)業(yè)務的實際操作情況和技術的角度來分析,選擇關鍵業(yè)務如果是基于在線用戶的性能測試需求,可以將錄制腳本時記錄的思考時間作為基準,以此將思考時間設置成一定范圍內(nèi)的隨機值?;谕掏铝康男阅軠y試需求,可以把思考時間設置為零第十一頁,共四十七頁。Web站點經(jīng)驗點滴在執(zhí)行客戶端并發(fā)性能測試的過程中,需要同時監(jiān)控數(shù)據(jù)庫服務器、Web服務器以及網(wǎng)絡資源等使用情況,以便對系統(tǒng)的性能做全面評估錄制腳本和手工編寫腳本相結合設置數(shù)據(jù)池,實現(xiàn)變量加載業(yè)務批量執(zhí)行第十二頁,共四十七頁。Web站點經(jīng)驗點滴模擬用戶數(shù)的遞增合理設置交易之間時間間隔模擬IP地址變量的技術超時(timeout)的設置并發(fā)用戶連續(xù)執(zhí)行交易數(shù)的設置錯誤處理第十三頁,共四十七頁。Web站點經(jīng)驗點滴利用QALoad的ActiveData技術采用復合交易測試方案盡量將執(zhí)行負載測試的機器合理分布并發(fā)用戶數(shù)量極限點加壓機器的CPU使用率也有必要監(jiān)控設置并發(fā)點HTML與URL錄制方式第十四頁,共四十七頁。9.1.4性能測試工具FloodApacheHTTP工程包含了一個名為HTTPD-Test的子工程——Apache的通用測試工具包,它包含了不少測試工具而其中Flood()是人們經(jīng)常使用的一個Web性能測試工具第十五頁,共四十七頁。具體操作安裝設置Flood實例擴展第十六頁,共四十七頁。9.2基于Web服務器應用的測試9.2.1數(shù)據(jù)庫服務器性能測試9.2.2數(shù)據(jù)庫并發(fā)控制測試第十七頁,共四十七頁。了解數(shù)據(jù)庫服務器第十八頁,共四十七頁。9.2.1數(shù)據(jù)庫服務器性能測試大數(shù)據(jù)量測試:10萬、100萬、千萬條記錄大容量測試:某些字段存儲10M、100M、1G等大體積數(shù)據(jù)。
第十九頁,共四十七頁。數(shù)據(jù)庫性能測試過程和策略(1)理解測試需求:是校驗測試還是基準測試?是單個用戶大數(shù)據(jù)量測試還是多個用戶并發(fā)測試?什么地方是可能的性能瓶頸?可能是哪個方面的性能測試?(應用程序or系統(tǒng)參數(shù)orSchema對象)選擇測試工具頁面級的輔助測試工具:JMeter,Webloadetc第三方監(jiān)控程序:如DBFlash,或者有些通過log文件,來監(jiān)控動態(tài)的訪問路徑,高占用的進程,會話和SQL語句第二十頁,共四十七頁。自定義或者常用的命令,來動態(tài)監(jiān)控和獲取執(zhí)行SQL,PL-SQL所需要的時間,占用的CPU和內(nèi)存資源.數(shù)據(jù)庫系統(tǒng)本身的性能工具包,如在Oracle中使用的ExplainPlan,AutoTrace,PKPROF以及Statspack.設計測試場景以及測試腳本數(shù)據(jù)量設計或加載.測試環(huán)境建立和測試過程分析測試腳本設計收集數(shù)據(jù)和分析結果性能瓶頸參數(shù)優(yōu)化和對比數(shù)據(jù)庫性能測試過程和策略(2)第二十一頁,共四十七頁。Oracle數(shù)據(jù)庫性能測試Oracle系統(tǒng)性能測試的目標:模擬數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)負載,操作,偵測和獲取性能測試數(shù)據(jù),幫助開發(fā)和DBA來優(yōu)化和調整數(shù)據(jù)庫或者應用程序.最終的結果是獲取更快的數(shù)據(jù)庫響應速度或者更高吞度能力.Oracle系統(tǒng)性能測試的本質硬件(CPU,Memory,I/O競爭等)系統(tǒng)配置(SGA/PGA)應用程序(SQL,PL-SQL)網(wǎng)絡連接第二十二頁,共四十七頁。Oralce系統(tǒng)性能測試的范圍應用程序調優(yōu)-ForApplicationdeveloperSQL語句測試調優(yōu)Thin,OCI測試Schema對象調優(yōu)-ForDatabasedeveloperSchema(表,索引,存儲過程)設計PL-SQL語句和調用數(shù)據(jù)復制系統(tǒng)參數(shù)調優(yōu)-ForDBA內(nèi)存/CPU/I/O競爭/網(wǎng)絡SGA配置動態(tài)表空間估計分區(qū)表,索引設計第二十三頁,共四十七頁。數(shù)據(jù)庫測試工具-AUTOTRACEcommand:setautotrace[on][traceonly][off]…;SQL>select*fromwbxsite;3091rowsselected.ExecutionPlan----------------------------------------------------------0SELECTSTATEMENTOptimizer=CHOOSE(Cost=4Card=2489Bytes=174230)10TABLEACCESS(FULL)OF'WBXSITE'(Cost=4Card=2489Bytes=174230)Statistics----------------------------------------------------------
680recursivecalls0dbblockgets375consistentgets0physicalreads0redosize196696bytessentviaSQL*Nettoclient2765bytesreceivedviaSQL*Netfromclient208SQL*Netroundtripsto/fromclient6sorts(memory)0sorts(disk)3091rowsprocessed第二十四頁,共四十七頁。SQL>/ --thedatawasfrombuffercache,butnothardparse.3091rowsselected.ExecutionPlan----------------------------------------------------------0SELECTSTATEMENTOptimizer=CHOOSE(Cost=4Card=2489Bytes=174230)10TABLEACCESS(FULL)OF'WBXSITE'(Cost=4Card=2489Bytes=174230)Statistics----------------------------------------------------------
0recursivecalls0dbblockgets245consistentgets0physicalreads0redosize196696bytessentviaSQL*Nettoclient2765bytesreceivedviaSQL*Netfromclient208SQL*Netroundtripsto/fromclient0sorts(memory)0sorts(disk)3091rowsprocessedSQL>數(shù)據(jù)庫測試工具-AUTOTRACE第二十五頁,共四十七頁。EXPLAINPLANRunningexplainplanandshowoutput:ExplainplanforStatement;@?/rdbms/admin/utlxpls.sql-Showsplantableoutputforserialprocessing@?/rdbms/admin/utlxplp.sql-ShowsplantableoutputwithparallelexecutioncolumnsAnalyzeplanOptimizermodeScanmodeRecursivecallsRedosizes數(shù)據(jù)庫測試工具(Cont’d)第二十六頁,共四十七頁。數(shù)據(jù)庫測試工具(Cont’d)StatspackInstallpackageConnectassysdbaRun@?/rdbms/admin/spcreatesql,tocreateallrequiredtables,packages,userandgrantprivilege.Specify3requiredparameters:userpassword,tablespaceandtemptablespace,itisbettertocreateindependenttablespaceandtemptablespaceforthisschema.Usingstatspackconnectasperfstats.EXECUTEstatspack.snap;(afterthisprocessfinished,wecanseeasetofdatahadbeengeneratedtoperfstats.STATS$SYSSTAT,bySNAP_IDmthismeans,systemsnapshothadbeengeneratedbyexecutingthispackage.Anintegersnap_idwillbereturned,wecangetitbySMARTcalling,orfromlatestSNAP_IDfromtableSTATS$SYSSTAT.RunningtheStatspackReportconnectasperfstats.Executesql:@?/rdbms/admin/spreportSpecify3parameters:startsnapshotID,endsnapshotIDandreportname(defaultissp_xx_yy.lisincurrentpath).Orbatchdefineandrunbydefinebegine_snap,end_snap,report_namebeforerunsql.第二十七頁,共四十七頁。Oracle故障診斷利用故障診斷的方法(OracleDBSideTransactionsbySQLStage)可以將SQL語句執(zhí)行過程中的時間劃分為四部分:解析時間(ParseTime)執(zhí)行時間(ExecuteTime)讀取時間(FetchTime)其他時間(OtherTime),例如綁定時間(bindtime)。第二十八頁,共四十七頁。Oracle故障診斷SQL執(zhí)行時間分解第二十九頁,共四十七頁。數(shù)據(jù)庫服務器典型性能問題數(shù)據(jù)庫服務器性能問題及原因分析
單一類型事務響應時間過長
數(shù)據(jù)庫服務器負載
糟糕的數(shù)據(jù)庫設計
事務粒度過大
批任務對普通用戶性能的影響
并發(fā)處理能力差
鎖沖突嚴重
資源鎖定造成的數(shù)據(jù)庫事務超時
數(shù)據(jù)庫死鎖
第三十頁,共四十七頁。數(shù)據(jù)庫服務器典型性能問題數(shù)據(jù)庫性能問題的一般解決辦法
監(jiān)視性能相關數(shù)據(jù);定位資源占用較大的事務并做出必要的優(yōu)化或調整;定位鎖沖突,修改鎖沖突發(fā)生嚴重的應用邏輯;對規(guī)模較大的數(shù)據(jù)或者無法通過一般優(yōu)化解決的鎖沖突進行分布。第三十一頁,共四十七頁。Oracle與提高性能有關的特性
索引并行執(zhí)行簇與散列簇分區(qū)多線程服務器同時讀取多塊數(shù)據(jù)
第三十二頁,共四十七頁。Oracle配置的關鍵參數(shù)
MAX_DSPATCHERS:這個參數(shù)指定了系統(tǒng)允許同時進行的調度進程的最大數(shù)量。MAX_SHARED_SERVERS:這個參數(shù)指定了系統(tǒng)允許同時進行的共享服務器進程的最大數(shù)量。如果系統(tǒng)中出現(xiàn)的人為死鎖過于頻繁,那么管理員應該增大這個參數(shù)的值。PARALLEL_ADAPTIVE_MULTI_USER:當這個參數(shù)的值為TRUE時,系統(tǒng)將啟動一個能提高使用并行執(zhí)行的多用戶系統(tǒng)性能的自適應算法。這個算法將根據(jù)查詢開始時的系統(tǒng)負載自動降低查詢請求的并行度。第三十三頁,共四十七頁。Oracle配置的關鍵參數(shù)
PARLLEL_MIN_SERVERS:這個參數(shù)指定了實例并行執(zhí)行進程的最小數(shù)量。其值就是實例啟動時Oracle創(chuàng)建的并行執(zhí)行進程數(shù)。PARLLEL_THREADS_PER_CPU:這個參數(shù)指定了實例默認的并行度和并行自適應以及負載平衡算法。它指明了并行執(zhí)行過程中一個CPU能處理的進程或線程數(shù)。PARTITION_VIEW_ENABLED:這個參數(shù)指定了優(yōu)化器是否使用分區(qū)視圖。Oracle推薦用戶使用分區(qū)表(這是在Oracle8之后引入的)而不是分區(qū)視圖。分區(qū)視圖只是為了提供Oracle的后向兼容性。REVOVERY_PARALLELISM:這個參數(shù)指定了恢復數(shù)據(jù)庫系統(tǒng)時使用的進程數(shù)。
第三十四頁,共四十七頁。9.2.2數(shù)據(jù)庫并發(fā)控制測試第三十五頁,共四十七頁。數(shù)據(jù)庫并發(fā)控制測試數(shù)據(jù)庫并發(fā)能力:多個應用請求的并發(fā)處理過程.并發(fā)主要考慮的幾個方面:數(shù)據(jù)丟失不可重復數(shù)據(jù)讀臟數(shù)據(jù)數(shù)據(jù)庫的鎖并發(fā)測試的設計過程并發(fā)流程分析并發(fā)控制測試設計第三十六頁,共四十七頁。9.3基于JavaEE應用服務器的測試9.3.1用JProfiler完成應用服務器的性能測試9.3.2Javaweblogic應用服務器測試第三十七頁,共四十七頁。J2EE基本架構描述第三十八頁,共四十七頁。9.3.1JProfiler應用服務器的性能測
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美麗寶雞考試題及答案
- 企業(yè)商標保護課件教學
- 長期稅務籌劃方案
- 跟蹤審計實施方案
- 車輛抵押擔保解除合同范本
- 消防項目維保方案
- 黨課宣傳課件圖片大全
- 言語康復家長培訓
- 油廠設計方案模板
- 2026版《全品高考》選考復習方案物理01 第9講 曲線運動 運動的合成與分解 含答案
- 四川省眉山市東坡區(qū) 2024-2025學年七年級下學期期末道德與法治試卷(含答案)
- 2025至2030中國生物質鍋爐行業(yè)當前競爭現(xiàn)狀及未來應用規(guī)模預測報告
- 少兒健康運動課件
- 應急救援無人機系統(tǒng)應用解析
- 2025北師大版新教材七年級上冊英語單詞表(精校打印)
- 2025至2030年中國電弧故障斷路器(AFCI)行業(yè)市場競爭態(tài)勢及產(chǎn)業(yè)前景研判報告
- 2025年安徽省中考英語試卷(含答案)
- 思想道德與法治2023年版電子版教材-1
- 2025年區(qū)域經(jīng)濟學期末考試題及答案
- 2025房屋租賃合同范本模板
- 物聯(lián)網(wǎng)安全風險評估-第2篇-洞察闡釋
評論
0/150
提交評論