負(fù)載和壓力的區(qū)別:
負(fù)載測(cè)試:在一定的工作負(fù)荷下,給系統(tǒng)造成du的負(fù)zhi荷及系統(tǒng)響應(yīng)的時(shí)間朝捆。
壓力測(cè)試:在一定的負(fù)荷條件下般渡,長(zhǎng)時(shí)間連續(xù)運(yùn)行系統(tǒng)給系統(tǒng)性能造成的影響。
TPS和QPS的區(qū)別:
tps可以理解為是每秒對(duì)事務(wù)的處理的能力 ?qps是每秒對(duì)服務(wù)器的查詢能力
性能測(cè)試web端和app端測(cè)試
web端的性能指標(biāo):
響應(yīng)時(shí)間(客戶端向服務(wù)端的請(qǐng)求時(shí)間芙盘,服務(wù)端對(duì)數(shù)據(jù)庫(kù)的請(qǐng)求時(shí)間驯用,服務(wù)端將結(jié)果展現(xiàn)到頁(yè)面的時(shí)間)
響應(yīng)時(shí)間2 5 8原則 ??
吞吐量:指的是在一次性能測(cè)試過程中網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)量的總和.吞吐量/傳輸時(shí)間,就是吞吐率.
TPS:每秒處理事務(wù)能力
并發(fā)數(shù): 單用戶的多次操作
多用戶的單次操作
點(diǎn)擊率:每秒鐘用戶向WEB服務(wù)器提 交的HTTP請(qǐng)求數(shù).
資源使用率:cpu ?<80%內(nèi)存 ?<80% ?io <40 ???網(wǎng)絡(luò) <30%
App端的性能指標(biāo):
Cpu內(nèi)存 ?流量 ?電量 啟動(dòng)時(shí)間 ?幀率
cpu ?<80%內(nèi)存 ?<80%
電量的損耗:
流量的損耗:
線程和進(jìn)程區(qū)別:
接口測(cè)試:postman jmeter
Jmeter的接口測(cè)試
1測(cè)試計(jì)劃中添加線程租?
2在線程租中添加http請(qǐng)求?
3寫入Http請(qǐng)求數(shù)據(jù)綠色三角運(yùn)行
服務(wù)器ip:apis.juhe.cn/lottery/history
key:0a55e25ee6ece7b526299957636e957c
lottery_id:ssq
4在線程租中進(jìn)行修改并發(fā)數(shù)量(修改線程數(shù)量修改循環(huán)次數(shù))
Jmetere的斷言:
斷言用來判斷接口的返回值是否匹配
在線程租中進(jìn)行添加斷言--響應(yīng)斷言并將json放入到響應(yīng)結(jié)果中在察看結(jié)果樹中來
Jmeter的對(duì)數(shù)據(jù)庫(kù)鏈接(對(duì)數(shù)據(jù)庫(kù)進(jìn)行壓力測(cè)試):
測(cè)試數(shù)據(jù)的來源:
a.復(fù)用開發(fā)的原有數(shù)據(jù)?b.復(fù)用線上的真實(shí)數(shù)據(jù)c.直接使用線上數(shù)據(jù)?
d.測(cè)試人員手動(dòng)添加 e.產(chǎn)品或者是運(yùn)營(yíng)提供數(shù)據(jù)
Jmeter需要使用JDBC功能時(shí),把解壓好的jar包放在(jmeter的lib路徑)即可儒老。
1.打開jmeter,先創(chuàng)建線程組蝴乔。
2.測(cè)試計(jì)劃->添加->配置元件->JDBC Connection Configuration
3.然后第一個(gè)紅框隨便寫,第二個(gè)紅框配置JDBC數(shù)據(jù)庫(kù)連接
Database URL:? jdbc:mysql://替換ip地址:3306/數(shù)據(jù)庫(kù)名
配置完成就可以執(zhí)行數(shù)據(jù)庫(kù)了驮樊。
4.線程組下面添加JDBC sample,在紅框里輸入第三步里的輸入的值
5.查看結(jié)果樹薇正,顯示這樣就已經(jīng)連接數(shù)據(jù)庫(kù),可以操作數(shù)據(jù)庫(kù)數(shù)據(jù)了
****注意:query?type類型不同則寫sql語句不同****
Jemter的二種錄制方法:
一囚衔,Badboy(PC端)
Badboy是一款不錯(cuò)web自動(dòng)化測(cè)試工具铝穷,利用它來錄制腳本,并且錄制的腳本可以直接保存為JMeter文件來使用佳魔。
通過Badboy來錄制腳本
Badboy下載完成打開頁(yè)面如下:
1.打開badboy ,點(diǎn)擊紅色按鈕,在地址欄輸入被測(cè)項(xiàng)目地址晦炊。
錄制完后鞠鲜,點(diǎn)擊旁邊的黑色按鈕結(jié)束錄制宁脊。
2.File下選擇Export to Jmeter 保存.jmx類型文件
3.打開Jmter,打開“文件”->‘打開’選擇剛保存的.jmx類型文件。
二贤姆,使用Jmeter自身的代理錄制腳本(移動(dòng)端)
1.打開jemter榆苞,創(chuàng)建一個(gè)線程
2.添加代理服務(wù)器,點(diǎn)擊 “工作臺(tái)”霞捡,然后右鍵坐漏,根據(jù)如下圖步驟,添加一個(gè)代理服務(wù)器碧信。
3.cmd輸入ipconfig獲取本機(jī)ip
?設(shè)置端口赊琳、ip以及錄制地址
4.模擬器修改網(wǎng)絡(luò)選項(xiàng)
瀏覽器下載安全證書訪問http://charlesproxy.com/getssl?
5.點(diǎn)擊綠色的啟動(dòng)按鈕
6.業(yè)務(wù)操作完畢,停止jemter上的“HTTP代理服務(wù)器”
Jemter提取器:
一砰碴、正則表達(dá)式提取器
步驟:右鍵“HTTP請(qǐng)求”->添加->后置處理器->正則表達(dá)式提取
下面是正則表達(dá)式各參數(shù)值的含義:
1.引用名稱:在HTTP等請(qǐng)求中躏筏,引用此數(shù)據(jù),需要用到的名稱
2.正則表達(dá)式:用于將需要的數(shù)據(jù)提取出來
3.模板:$ 1$ 這是固定格式
4.匹配數(shù)值:0代表隨機(jī)取值呈枉,1代表第一值趁尼,n代表第n個(gè)值
5.缺省值:如果正則表達(dá)式?jīng)]有搜到值,則使用此缺省值
正則正則表達(dá)式的格式:字符串形式"token":"(.+?)" 數(shù)字形式 “taken”:[(0-9)+]
( ) 標(biāo)記一個(gè)子表達(dá)式的開始和結(jié)束位置猖辫。子表達(dá)式可以獲取供以后使用酥泞。要匹配這些字符,請(qǐng)使用 ( 和 )啃憎。
匹配前面的子表達(dá)式一次或多次芝囤。要匹配 + 字符,請(qǐng)使用 +荧飞。
. 匹配除換行符 \n 之外的任何單字符凡人。要匹配 . ,請(qǐng)使用 . 叹阔。
? 匹配前面的子表達(dá)式零次或一次挠轴,或指明一個(gè)非貪婪限定符。要匹配 ? 字符耳幢,請(qǐng)使用?
二岸晦、JSON提取器
步驟:右鍵“HTTP請(qǐng)求”->添加->后置處理器->JSON提取器
下面是JSON提取器各參數(shù)值的含義:
1.引用名稱:在HTTP等請(qǐng)求中,引用此數(shù)據(jù)睛藻,需要用到的名稱
2.提取格式:$data[0].name
3.匹配數(shù)值:0代表隨機(jī)取值启上,1代表第一值,n代表第n個(gè)值
4.缺省值:如果正則表達(dá)式?jīng)]有搜到值店印,則使用此缺省值
json提取格式j(luò)son講解:
1.json串 []表示對(duì)象組成的數(shù)組冈在,{}表示對(duì)象。
2.對(duì)象里包含多個(gè) “屬性”:屬性值按摘。屬性值可以是值包券,或數(shù)組纫谅,或?qū)ο蟆?/p>
3.JSON Extractor使用json path表達(dá)式匹配,可以一次取多個(gè)變量值溅固。$表示響應(yīng)的根對(duì)象付秕。取子對(duì)象或?qū)ο蟮膶傩杂? 取數(shù)組里的對(duì)象用[],數(shù)組索引從0開始侍郭。
Jemter定時(shí)器:
?一询吴,固定定時(shí)器
如果你需要讓每個(gè)線程在請(qǐng)求之前按相同的指定時(shí)間停頓,那么可以使用這個(gè)定時(shí)器亮元;需要注意的是猛计,固定定時(shí)器的延時(shí)不會(huì)計(jì)入單個(gè)sampler的響應(yīng)時(shí)間,但會(huì)計(jì)入事務(wù)控制器的時(shí)間苹粟。
二有滑,高斯隨機(jī)定時(shí)器
如需要每個(gè)線程在請(qǐng)求前按隨機(jī)時(shí)間停頓,那么使用這個(gè)定時(shí)器嵌削,上圖表示暫停時(shí)間會(huì)分布在100到400之間毛好,計(jì)算公式參考:Math.abs((this.random.nextGaussian()?*?300)?+?100)