效能測試常見面試題

飞天小子的性能课堂發表於2019-10-11

效能測試 QQ 交流群:777139651
描述你在崗位中的工作職責

清楚的表達自己在上家公司主要做什麼的,負責什麼專案、平臺的介面效能測試等等,不要把之前所工作的公司都介紹一遍。在不明白麵試官意圖的情況下滔滔不絕,結果不會太好

你的專案測試怎麼開展,有遇到哪些效能問題?

需要根據自己公司的一些情況、和對效能測試的理解介紹下當前效能測試的流程。透過介紹流程,面試官可以初步瞭解你們測試的是否系統全面,哪個環節可能是有問題。是否有值得借鑑或學習的。這些都是加分項。

“遇到哪些效能問題”,一般是想透過這個問題,瞭解求職者的經驗是否豐富。稍微經驗比較豐富點的求職者,可以列舉出一堆各種各樣的問題。大多數的回答:比如配置引數的調整,檔案太大引起的記憶體洩漏。這樣的回答比較官方,像是從網上抄來的,沒有新意。

針對效能問題有什麼解決方案?

資深的效能測試:可以把前因後果說的明明白白

初級階段的效能測試:通常會回答自己不是很清楚,提交研發了或者自己只是負責發現問題,定位解決問題是研發來做的。

接著面試官可能會出 2 道題目,看下求職者的分析能力及定位問題的能力

如何把效能測試引入專案?

相關人員分析被測系統是否有效能相關的需求。相關人員包括運維、開發、運營等。

  專案暫時沒有效能測試可能是暫時沒有因為效能問題產生過故障或使用者量暫時不高。平時多補充效能測試相關的知識,早晚用的上。

面對大使用者量的系統併發壓力測試,主要是從哪幾個方面去考慮關注點?

主要關注系統的關鍵業務的響應時間、資源佔用情況,TPS

還要根據系統的特性來設計效能測試用例。比如有些系統有主從互備,我們就應該在考慮在其中一個故障情況下,系統的表現如何

如何測試系統支援 8000 併發,允許 100 萬使用者同時線上的測試?

首先要確認是否需求真的需要 8000 的併發。因為有些效能需求是由於需求人員或者會開發人員不清楚而隨手拍腦袋寫的。

拿支援 8000 併發來說,到底是什麼樣的業務場景?s 是否包含思考時間?這些都需要具體細化,需要我們測試人員和相關人員進一步確認。

100 萬使用者同時線上也需要進一步細化,這 100 萬是登入後什麼都不做?還是部分產生壓力?。

很多效能測試需求是需要進一步確認和細化的。

如何根據下面需求設計用例?

1:系統應確保在執行 5~10 年(每年 1000 萬隻表計資料處理能力,1000 萬隻表每隻表資料量大約 2M)後對錄入、檔案匯入、檔案匯出等操作時不得出現明顯示卡滯或資料溢位、丟失情況。

  2:系統長期多角色執行時其檔案匯入或匯出速度不得低於 100k/s。

答:這幾個需求涉及到:容量測試、可靠性測試 、負載測試

系統要求 5--10 年的未來效能儲備。那就在執行時候設計一個按照目前標準來計算五年後的資料量情況來設計一個用例。如果 5 後的測試用例透過,那再設計一個 10 年的測試用例

匯入匯出不得低於 100K,要進一步確認是在什麼網路下,不同網路對下載影響大的。同時也要進一步確認是併發匯入匯出。因為有些系統匯入匯出是指定人來做的,存在併發的情況很少。而有些是多人同時操作的。需根據具體操作業務確認

在監控 linux 系統的時候怎麼識別記憶體的使用情況和瓶頸點?

對於大部分系統來說,關注一下是否記憶體洩漏,關注下是否使用了交換分割槽。是否與磁碟互動太多

如何對系統的效能問題進行分類?

比如說配置引數調整、資料庫、程式問題佔比大概多少,透過這個是想了解求職在效能測試方面的經驗豐富與否以及個實際人能力。配置引數調整隻能佔我日常效能測試問題的 10%,甚至不到,90% 的問題是程式寫的不合理和 SQl 使用不當導致的。一個穩定的系統環境是不會輕易去調整引數的,因為每一次調整存在風險。

描述你的效能測試流程

1.做效能需求分析,挑選使用者使用最頻繁的功能來做測試,比如:登陸,搜尋,提交訂單

2.確定效能指標,比如:事務透過率為 100%;90% 的事務響應時間不超過 5 秒;併發使用者為 1000 人時 CPU 和記憶體的使用率在 70% 以下

3.效能測試計劃,明確測試時間 (通常在功能穩定後,如第一輪測試後進行) 和測試環境和測試工具的選擇

4.搭建效能測試環境

5.透過效能測試用例,編寫效能測試指令碼,準備效能測試資料

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

7.設計效能測試場景,監控伺服器,執行測試場景

8.分析效能測試結果,判斷效能瓶頸,反饋結果資訊

9.迴歸效能測試

10.編寫效能測試報告

如何確定系統能夠承載的最大使用者數?

透過負載測試,不斷增加使用者數,隨著使用者數的增加,各項效能指標也會相應產生變化

如果出現了效能拐點,比如,當使用者數達到某個數量級時,響應時間突然增長,那麼這個拐點處對應的使用者數就是系統能承載的最大使用者數

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

我們選取了使用者使用最頻繁的場景來做效能測試,比如:登陸,打卡,請假,報銷。

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

1)、根據線上收集到的使用者訪問資料進行預估。

2)、根據業務需求確定。

你們效能測試在什麼環境開展?

搭建一套獨立的效能測試環境進行測試,硬體設施儘量和線上環境保持一致

你們效能測試什麼時間做?

功能測試之後,系統比較穩定的時候開展

怎樣分析效能測試結果

1)首先檢視結果概況,檢視事物有沒有大面積失敗,有沒有大量的 Error,響應時間有沒有異常波動,如果都正常,表明測試結果可信

2)分析效能指標,比如,響應時間,事務透過率,CPU 等指標是否滿足需求;如果測試結果不可信,分析異常的原因,開發修改後進行迴歸測試

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

程式可能沒有做多執行緒處理。

如果效能測試指令碼出現錯誤,從哪些方面分析?

檢查日誌,定位出錯的位置,然後做對應的修改

語法出錯:多打了個符合/空格;正則錯誤,導致關聯失敗

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

透過基準測試判斷效能狀況

效能測試需求哪裡來的?

根據需求文件。如果需求不太合理,需要和相關人員進行討論。比如,某個頁面要求併發使用者 2000 人,但是整個資料庫的註冊使用者都沒有 1000 人。很明顯,做 2000 人併發是沒有必要的。

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

在指令碼對應的請求後新增集合點,設定隱性等待時間 3s

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

根據需求文件或者抓包結果,對比找到需要關聯的值,透過表示式獲取,然後將變數傳給下一個請求

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

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

2)使用萬能驗證碼

jmeter 有哪些部件組成?

測試計劃,執行緒組,配置元件,監聽器

簡述使用 jmeter 的步驟

新建執行緒組-- 選擇 sampler — 設定代理伺服器 — 新增結果樹聚合報告 — 除錯指令碼 — 場景設計和執行 — 結果分析

相關文章