測試大佬私藏的效能測試崗位常見面試題,拿走拿走別客氣!

博為峰網校發表於2019-01-02

我從事軟體測試及質量保障領域至今,已經有十幾個年頭了,從白盒自動化測試到黑盒自動化測試,從功能測試到效能測試、安全測試,從測試流程、測試框架到後來的測試管理、質量體系建設,深愛著這個行業,經常為能和小夥伴們攻克了一個技術小山頭而激動興奮, 也為了加班加點使命必達的完成了一個艱鉅任務而感到欣慰。

測試大佬私藏的效能測試崗位常見面試題,拿走拿走別客氣!

我負責測試技術管理、團隊管理也已經有8年多了,期間面試過的人少說也有一兩千了。下面我就從面試中常見的問題來聊一聊效能測試的基本功:

一、基礎篇

1、較為完整的效能測試的流程

測試大佬私藏的效能測試崗位常見面試題,拿走拿走別客氣!

2、效能測試的基礎理論、常見術語

3、效能測試模型、型別

4、HTTP、TCP協議相關知識

5、連線池、執行緒相關知識

二、工具篇

1、Jmeter

①、Jmeter的工作原理是什麼?

②、常用的元件、外掛有哪些?各自的作用是什麼?

③、幾個典型的場景,如何基於jmeter設計測試指令碼?

比如:引數化、關聯、控制TPS、介面加密驗籤、階梯式加壓、集合點、檢查點等;

④、是否會二次開發?如果會,怎麼二次開發的(介紹大概過程和原因)?

2、Loadrunner

3、其他開源/商業效能測試工具

比如:Ngrinder、Locust、Wrk、Artillery等;

4、前端、伺服器、資料庫效能監測工具

三、系統架構篇

1、服務叢集

2、負載均衡

負載均衡原理、實現方式

3、容量規劃

4、快取應用

快取原理、快取優點、快取命中、快取穿透、多層快取

5、分散式框架

分散式的特點、面臨的挑戰:CAP理論(資料一致性、服務可用性、分割槽容錯性)

6、全鏈路壓測

關於全鏈路壓測

四、伺服器&中介軟體篇

1、JVM

JVM原理、啟動引數配置、堆疊原理、垃圾回收原理、OOM原因和表現

2、Tomcat

配置、使用方法、啟動引數配置

3、Nginx

配置、使用方法

4、Dubbo

服務註冊、訊息佇列

5、RabbitMQ/Kafka

本身的特點、生產者、消費者如何管理

五、資料庫篇

1、鎖

2、索引

3、讀寫分離

4、分庫分表

六、方案篇

1、設計效能測試方案需要考慮哪些問題?

時間成本、人力成本、環境&指令碼可複用性、實現難度

2、針對某些情況,你會如何設計、最佳化方案?

七、案例篇

1、如何測試MQ?

2、壓測中TPS上不去的原因分析?

3、測試環境和生產環境伺服器配比如何選擇?

伺服器配置版本保持一致,容量測試後等量代換、考慮邊際遞減效應、容災方案

4、發現瓶頸,如何分析?

自上而下,從區域性到整體,瓶頸分析粒度

5、如何準備測試資料?如何防止資料汙染?

生產資料備份、資料隔離、測試資料落入影子庫、擋板、mock

6、效能最佳化的常見方法

關於效能最佳化之空間時間可靠性思考

八、常見4類問題彙總

問題一、介面測試要在什麼環境下測試?

測試裝置允許的情況下,儘量把測試的應用部署到測試伺服器上面。並且按照生產環境的部署方式來搭建測試環境。

如果在生產環境透過介面互動的應用在不同伺服器,測試環境也要把應用在不同伺服器。生產環境使用了vpn,測試環境的伺服器最好也是在vpn環境下。

問題二、壓力測試工具能否安裝在被測的WEB伺服器上進行本地的壓力測試?

一般要求是發壓和被壓機器分離,便於分析壓測結果,最好壓測和被壓的機器放置在同一機房,降低網路及頻寬帶來的資料波動和因此導致的瓶頸。

這裡無論發壓和被壓,都是會佔用資源。當出現系統瓶頸時,如果兩個在同一個機器,對你的分析會造成很大的影響。

如果你的上層請求是同內網下的同idc的呼叫方法,那麼你可以選擇同idc的機器進行發壓參考。

當然,如果你的預期QPS很低,完全不會達到機器瓶頸,只是驗證一些記憶體洩漏等簡單併發問題,混布也未嘗不可。

問題三、雲平臺的效能測試

雲平臺的效能測試和一般的效能測試也是差不多的,雲平臺的效能併發容量比較大,使用者數多一點。

1.首先分析效能測試點如:發生頻率非常高的,關鍵程度非常高的資源佔用非常嚴重的等;

2.效能指標如:首頁開啟速度,支援最大線上使用者,系統支援的併發使用者數等;

3.工具的選擇:JMeter,Loadrunner等。

問題四、如何設定才能保持使用者始終線上;

1.錄不同的場景在多個script裡然後controllor裡同時併發應該就行了。

2.登入後什麼都不做,肯定要超時掉線的。那些保持線上的指令碼,應該在action裡面定時傳送一些能夠讓伺服器認為你仍然線上的請求,比如心跳請求,否則會掉線的。

另一種做法是你就保持思考時間不變,什麼都不要發,但是讓開發人員修改伺服器端的超時時間,變得非常長,也可以達到不掉線的目的。

總結:

相信這些常見面試問題,在實際中很多人都會遇到。作為軟體測試工程師,對面試問題的嚴謹,注意提升自己良好的溝通和表達能力,在面試過程中體現出紮實的軟體測試基礎知識,足夠的耐心、細心、信心、責任心,善於自我總結、自我督促和不斷學習的能力,相信大家都能在面試中有出色的表現,找到心儀的工作。

歡迎加入  51軟體測試大家庭,在這裡你將獲得【最新行業資訊】,【免費測試工具安裝包】,【軟體測試技術乾貨】,【面試求職技巧】... 51與你共同學習,一起成長!期待你的加入: QQ                     群:                    755431660


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2287195/,如需轉載,請註明出處,否則將追究法律責任。

相關文章