性能測(cè)試基礎(chǔ)知識(shí)
1穷躁、性能測(cè)試的含義
通過自動(dòng)化測(cè)試工具模擬生產(chǎn)運(yùn)行的業(yè)務(wù)壓力或用戶使用場(chǎng)景來(lái)測(cè)試系統(tǒng)的性能是否滿足生產(chǎn)性能的要求
2骂蓖、性能測(cè)試的目的
◆ 評(píng)估系統(tǒng)的能力
◆ 識(shí)別系統(tǒng)的弱點(diǎn)
◆ 系統(tǒng)調(diào)優(yōu)
◆ 驗(yàn)證穩(wěn)定性鲫咽、可靠性
3嗤军、性能測(cè)試流程
LoadRunner基礎(chǔ)知識(shí)
■ LoadRunner的組件
LoadRunner的三大組件
1技肩、Vuser:用戶行為模擬器—單腳本測(cè)試
2撇吞、Controller:性能測(cè)試控制臺(tái)—運(yùn)行測(cè)試場(chǎng)景
3匙奴、Analysis:結(jié)果統(tǒng)計(jì)—找瓶頸
■ LoadRunner在性能測(cè)試中的映射
LoadRunner性能測(cè)試的過程:
1堆巧、制定計(jì)劃:測(cè)試點(diǎn)、測(cè)試環(huán)境泼菌、測(cè)試數(shù)據(jù)谍肤、測(cè)試方法、etc
2哗伯、開發(fā)腳本:業(yè)務(wù)操作荒揣、參數(shù)化、etc
3焊刹、創(chuàng)建運(yùn)行場(chǎng)景:測(cè)試模型系任、并發(fā)數(shù)、運(yùn)行時(shí)間虐块、etc
4俩滥、執(zhí)行測(cè)試:自動(dòng)執(zhí)行
5、監(jiān)視場(chǎng)景:TPS贺奠、響應(yīng)時(shí)間霜旧、吞吐量、CPU占用時(shí)間儡率、硬盤占用挂据、etc
6以清、分析測(cè)試結(jié)果:圖表、日志
■ LoadRunner常用術(shù)語(yǔ)<基本概念>
1棱貌、事務(wù)(Transaction):定義事務(wù)以獲取這一操作的時(shí)間
2玖媚、思考時(shí)間(Think Time):執(zhí)行兩個(gè)連續(xù)操作間等待的時(shí)間
3、集合點(diǎn)(Rendezvous):用以同步虛擬用戶以便恰好在同時(shí)刻執(zhí)行任務(wù)
4婚脱、檢查點(diǎn)(Check point):用以驗(yàn)證程序的運(yùn)行結(jié)果是否與預(yù)期結(jié)果相符
5今魔、場(chǎng)景(Scenario):即測(cè)試場(chǎng)景,主要表現(xiàn)為Controller中設(shè)計(jì)與執(zhí)行測(cè)試用例中的用戶場(chǎng)景
■ LoadRunner的協(xié)議
PS:建立一個(gè)通道(協(xié)議通俗說就是一個(gè)翻譯)
比較重要的三個(gè)協(xié)議:HTTP障贸、FTP错森、Socket
Vuser-用戶行為模擬器
Vuser用途:通過錄制終端用戶執(zhí)行的操作來(lái)生成用戶操作腳本,以便作為負(fù)載測(cè)試的基礎(chǔ)
腳本開發(fā)步驟:
1篮洁、錄制用戶的操作:業(yè)務(wù)操作
2涩维、增強(qiáng)測(cè)試腳本:參數(shù)化
3、配置Run-Time setting:設(shè)置Think Time響應(yīng)時(shí)間
4袁波、在Vuser中獨(dú)立運(yùn)行腳本:?jiǎn)喂δ埽ń灰祝毫y(cè)試
5瓦阐、將腳本集成到Controller:壓力測(cè)試
錄制腳本:
1、協(xié)議選擇
2篷牌、錄制選項(xiàng)設(shè)置(以web協(xié)議為例)
● 選擇錄制時(shí)所用的瀏覽器
● 錄制方式選擇:HTML or URL
● 自動(dòng)關(guān)聯(lián)策略
3睡蟋、增強(qiáng)腳本
● 插入事務(wù)點(diǎn)
● 插入集合點(diǎn)
● 插入檢查點(diǎn)
● 插入特殊函數(shù)
? ?控制腳本流程:if ··· else
? ?字符串函數(shù):strcmp
? ?輸出函數(shù):lr_output_message
? ?LR的標(biāo)準(zhǔn)函數(shù):lr_save_string
4、配置Run-Time setting
? ? ?Think Time 策略
? ? ?Log 記錄策略
? ? ?Error 發(fā)生時(shí)的處理策略
? ? ?生成虛擬用戶的方式
? ? ?檢查點(diǎn)策略
? ? ?網(wǎng)絡(luò)情況設(shè)置
? ? ?腳本的迭代控制
在Vuser中運(yùn)行腳本:保證腳本運(yùn)行的正確性
1枷颊、VU里單用戶單循環(huán)run(SUSI)
2戳杀、VU里單用戶多循環(huán)run(SUMI)
3、Controller里多用戶單循環(huán)run(MUSI)
4夭苗、Controller里多用戶多循環(huán)run(MUMI)
Controller-性能測(cè)試的指揮中心
1信卡、多進(jìn)程/多線程方式
用戶可以在Controller的run time setting中選擇 Vuser的運(yùn)行方式:多線程/多進(jìn)程
2、設(shè)計(jì)測(cè)試場(chǎng)景
◆ 手工場(chǎng)景(Manual Scenario):創(chuàng)建虛擬用戶組题造,設(shè)置虛擬用戶數(shù)目以及其他Run-time信息
◆ 面向目標(biāo)場(chǎng)景(Goal-Oriented Scenario):先定義測(cè)試要達(dá)到的目標(biāo)傍菇,然后LR自動(dòng)基于這些目標(biāo)創(chuàng)建場(chǎng)景,運(yùn)行過程中晌梨,會(huì)不斷地把結(jié)果和目標(biāo)相比較桥嗤,以決定下一步怎么走
3、創(chuàng)建手工測(cè)試場(chǎng)景
◆ 創(chuàng)建虛擬用戶組
◆ 配置虛擬用戶
◆ 詳細(xì)配置虛擬用戶
◆ 設(shè)置集合點(diǎn)策略
◆ 配置虛擬用戶運(yùn)行時(shí)設(shè)置
◆ 配置Load Generator
◆ 設(shè)置網(wǎng)絡(luò)帶寬配置
◆ 設(shè)置方案(Schedule)
4仔蝌、執(zhí)行期間查看場(chǎng)景
◆ 查看用戶組(Vuser Group)狀態(tài)
◆ 事務(wù)詳細(xì)信息
◆ 錯(cuò)誤詳細(xì)信息
5、監(jiān)視場(chǎng)景
◆ 聯(lián)機(jī)監(jiān)視器
◆ 在Controller中啟動(dòng)監(jiān)控器
◆ 配置監(jiān)視器
6荒吏、關(guān)注的測(cè)試結(jié)果(Analysis之外)
Analysis-統(tǒng)計(jì)結(jié)果
從ouput.mdb中讀取測(cè)試結(jié)果數(shù)據(jù)敛惊,進(jìn)行分析工作
Analysis的功能如下:
◆ 有助于確定系統(tǒng)的性能瓶頸
◆ 方便我們對(duì)數(shù)據(jù)進(jìn)行進(jìn)一步處理
◆ 能自動(dòng)以圖形或表格式展現(xiàn)報(bào)告