簡述效能測試流程?
1.分析效能需求。挑選使用者使用最頻繁的場景來測試,比如:登陸,搜尋,下單等等。確定效能指標,比如:事務通過率為100%,TOP99%是5秒,最大併發使用者為1000人,CPU和記憶體的使用率在70%以下
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、新增思考時間