效能測試常見面試題

2021-10-03 03:24:41 字數 2452 閱讀 1162

概述一下效能測試流程?

1.分析效能需求。挑選使用者使用最頻繁的場景來測試。確定效能指標,比如:事務通過率為100%,top99%是5秒,最大併發使用者為1000人,cpu和記憶體的使用率在70%以下

2.制定效能測試計畫,明確測試時間(通常在功能穩定後,如第一輪測試後進行)和測試環境和測試工具

3.編寫測試用例

4.搭建測試環境,準備好測試資料

5.編寫效能測試指令碼

6.效能測試指令碼調優。設定檢查點、引數化、關聯、集合點、事務,調整思考時間,刪除冗餘指令碼

7.設計測試場景,執行測試指令碼,監控伺服器

8.分析測試結果,收集相關的日誌提單給開發

9.回歸效能測試

10.編寫測試報告

如何確定系統最大負載?

通過負載測試,不斷增加使用者數,隨著使用者數的增加,各項效能指標也會相應產生變化,當出現了效能拐點,比如,當使用者數達到某個數量級時,響應時間突然增長,那麼這個拐點處對應的使用者數就是系統能承載的最大使用者數

你們系統哪些地方(哪些功能)做了效能測試?

選用了使用者使用最頻繁的功能來做測試,比如:登陸,搜尋,提交訂單

你們的併發使用者數是怎麼確定的?

1)會先上線一段時間,根據收集到的使用者訪問資料進行預估

2)根據需求來確定(使用高峰時間段,註冊使用者數,單次響應時間等

你們效能測試在什麼環境執行?

你們效能測試什麼時間執行?

基準測試:功能測試之後,系統比較穩定的時候再做。

負載測試:夜深人靜,系統沒人用的時候

怎麼分析效能測試結果?

首先檢視事物通過率,然後分析其他效能指標,比如,確認響應時間,事務通過率,cpu等指標是否滿足需求;如果測試結果不可信,要分析異常的原因,修改後重新測試。

在確定效能測試結果可信後,如果發現以下問題,按下面的思路來定位問題

問題一:響應時間不達標

檢視事務所消耗的時間主要在網路傳輸還是伺服器,如果是網路,就結合throughput(網路吞吐量)圖,計算頻寬是否存在瓶頸,如果存在瓶頸,就要考慮增加頻寬,或對資料的傳輸進行壓縮處理;如果不存在瓶頸,那麼,可能是網路不穩定導致。如果主要時間是消耗在伺服器上,就要分別檢視web伺服器和資料庫伺服器的cpu,記憶體的使用率是否過高,因為過高的cpu,記憶體必定會造成響應時間過長,如果是web伺服器的問題,就把web伺服器對應上對應的使用者操作日誌取下來,發給開發定位;如果是資料庫的問題,就把資料庫伺服器對應上對應的日誌取下來,發給開發定位。

問題二:伺服器cpu指標異常

分析思路:就把web伺服器對應上對應的使用者操作日誌取下來,發給開發定位。

問題三:資料庫cpu指標異常

分析思路:把資料庫伺服器對應上對應的日誌取下來,發給開發定位。

問題四:記憶體洩漏

分析思路:把記憶體的heap資料取出來,分析是哪個物件消耗記憶體最多,然後發給開發定位。

問題五:程式在單使用者場景下執行成功,多使用者執行則失敗,提示連不上伺服器。

原因:程式可能是單執行緒處理機制

如何識別系統瓶頸?

從tps指標分析,tps即系統單位時間內處理事務的數量。觀察當前隨著使用者數的增長期系統每秒可處理的事務數是否也會增長

如何判斷系統的效能是變好了還是變壞了

通過基準測試對比效能指標

你們的效能測試需求**來?

1:客戶提供需求

2:運維提供需求

3:開發提供需求

如何實現200使用者的併發?

在指令碼對應的請求後新增集合點

什麼情況下要做關聯,關聯是怎麼做的?

當指令碼的上下文有聯絡,就用關聯。

比如登入的token關聯,增刪改查主鍵id關聯

有驗證碼的功能,怎麼做效能測試?

1、將驗證碼暫時遮蔽,完成效能測試後,再恢復

2、使用萬能的驗證碼

你們效能測試做的是前台還是後台?

bs專案:測試的是後台伺服器的效能和瀏覽器端效能;

效能測試指標有哪些

響應時間

吞吐量cpu

記憶體io

disk

如何指令碼增強?

1、做引數化

2、做關聯

3、新增事務

4、新增斷言

5、新增集合點

6、新增思考時間

效能測試崗位常見面試題

最近有童鞋找我問一些效能測試相關的問題,其中問的次數最多的,還是面試效能測試崗位,一般會問哪些問題?我個人做過一段時間效能測試,年初也面試過幾家公司的全職效能測試崗位,其中網際網路醫療 物流 電商 金融行業的公司都有,企業規模大小兼具。面試崗位 效能測試工程師 職位型別 全職 面試問題 詳見下文 一...

軟體測試常見面試題

計畫階段 planning 需求分析 requirement 設計階段 design 編碼 coding 測試 testing 執行與維護 running maintrnacne 用例編號 測試專案 測試標題 重要級別 預置條件 輸入資料 執行步驟 預期結果 軟體是計算機系統中與硬體相互依存的另一部...

常見面試題

1.get和post的區別 1 本質區別 get是向伺服器請求資料,post是向伺服器傳送資料。2 伺服器獲取值的方式 get方式提交的資料,伺服器端使用request.querystring獲取變數的值。post方式提交的資料,伺服器端使用request.form獲取資料。3 安全性 get安全效...