1.分析性能需求。挑選用戶使用最頻繁的場景來測試,好比:登錄,搜索,下單等等。肯定性能指標,好比:事務經過率爲100%,TOP99%是5秒,最大併發用戶爲1000人,CPU和內存的使用率在70%如下web
2.制定性能測試計劃,明確測試時間(一般在功能穩定後,如第一輪測試後進行)和測試環境和測試工具數據庫
3.編寫測試用例瀏覽器
4.搭建測試環境,準備好測試數據服務器
5.編寫性能測試腳本網絡
6.性能測試腳本調優。設置檢查點、參數化、關聯、集合點、事務,調整思考時間,刪除冗餘腳本併發
7.設計測試場景,運行測試腳本,監控服務器,運維
8.分析測試結果,收集相關的日誌提單給開發工具
9.迴歸性能測試性能
10.編寫測試報告測試
如何肯定系統最大負載?
經過負載測試,不斷增長用戶數,隨着用戶數的增長,各項性能指標也會相應產生變化,當出現了性能拐點,好比,當用戶數達到某個數量級時,響應時間忽然增加,那麼這個拐點處對應的用戶數就是系統能承載的最大用戶數。
大家系統哪些地方(哪些功能)作了性能測試?
選用了用戶使用最頻繁的功能來作測試,好比:登錄,搜索,提交訂單
大家的併發用戶數是怎麼肯定的?
1)會先上線一段時間,根據收集到的用戶訪問數據進行預估
2)根據需求來肯定(使用高峯時間段,註冊用戶數,單次響應時間等
大家性能測試在什麼環境執行?
參考答案:咱們會搭建一套獨立的性能測試環境進行測試
大家性能測試什麼時間執行?
基準測試:功能測試以後,系統比較穩定的時候再作。
負載測試:夜深人靜,系統沒人用的時候
怎麼分析性能測試結果?
首先查看事物經過率,而後分析其餘性能指標,好比,確認響應時間,事務經過率,CPU等指標是否知足需求;若是測試結果不可信,要分析異常的緣由,修改後從新測試
think_time的做用是什麼?
模擬真實生產用戶操做,考察對服務器所形成的影響。
在肯定性能測試結果可信後,若是發現如下問題,按下面提供的思路來定位問題
問題一:響應時間不達標
查看事務所消耗的時間主要在網絡傳輸仍是服務器,若是是網絡,就結合Throughput(網絡吞吐量)圖,計算帶寬是否存在瓶頸,若是存在瓶頸,就要考慮增長帶寬,或對數據的傳輸進行壓縮處理;若是不存在瓶頸,那麼,多是網路不穩定致使。若是主要時間是消耗在服務器上,就要分別查看web服務器和數據庫服務器的CPU,內存的使用率是否太高,由於太高的CPU,內存一定會形成響應時間過長,若是是web服務器的問題,就把web服務器對應上對應的用戶操做日誌取下來,發給開發定位;若是是數據庫的問題,就把數據庫服務器對應上對應的日誌取下來,發給開發定位。
問題二:服務器CPU指標異常
分析思路:就把web服務器對應上對應的用戶操做日誌取下來,發給開發定位。
問題三:數據庫CPU指標異常
分析思路:把數據庫服務器對應上對應的日誌取下來,發給開發定位。
問題四:內存泄漏
分析思路:把內存的heap數據取出來,分析是哪一個對象消耗內存最多,而後發給開發定位。
問題五:程序在單用戶場景下運行成功,多用戶運行則失敗,提示連不上服務器。
緣由:程序多是單線程處理機制
如何識別系統瓶頸?
從TPS指標分析,TPS即系統單位時間內處理事務的數量。觀察當前隨着用戶數的增加期系統每秒可處理的事務數是否也會增加
如何判斷系統的性能是變好了仍是變壞了
經過基準測試對比性能指標
大家的性能測試需求哪裏來?
1:客戶提供需求
2:運維提供需求
3:開發提供需求
如何實現200用戶的併發?
在腳本對應的請求後添加集合點
什麼狀況下要作關聯,關聯是怎麼作的?
當腳本的上下文有聯繫,就用關聯。
好比登陸的token關聯,增刪改查主鍵id關聯
有驗證碼的功能,怎麼作性能測試?
1、將驗證碼暫時屏蔽,完成性能測試後,再恢復
2、使用萬能的驗證碼
大家性能測試作的是前臺仍是後臺?
BS項目:測試的是後臺服務器的性能和瀏覽器端性能;
APP項目:手機端和服務器端的性能都作
性能測試指標有哪些
響應時間
吞吐量
cpu
內存
io
disk
如何腳本加強?
1、作參數化
2、作關聯
3、添加事務
4、添加斷言
5、添加集合點
6、添加思考時間