性能測試面試題(附答案)


1.常見的性能測試策略有哪些

參考答案:

基准測試,並發(業務邊界值)測試,綜合場景測試,負載測試,疲勞測試,極限壓力測試,大數據量測試
 
2.完成一個性能測試項目,請闡述你的實施流程:
參考答案:
測試設計階段:
1)了解被測系統的性能需求,定義測試目標和范圍;
2)了解系統的技術信息,如系統架構等;
3)確定測試方案、進度安排,並制定測試計划,場景設置方案,及需要收集的測試數
據;
4)同相關人員協商討論測試方案;
5)准備數據收集模板;不同項目的性能測試,需要收集的數據不同;針對性的制定
一個模板,更符合需要;
測試環境准備:
1)技術准備;選擇性能測試工具;測試方案中涉及到的技術問題;測試數據的收集
方案實現;如:如何監控系統資源等;
2)搭建測試環境;
3)創建初始數據;如虛擬用戶使用的賬號等;
測試執行階段:
1)錄制腳本;
2)調試腳本;
3)執行場景;
4)收集測試數據,並簡單整理;
測試分析階段:
1)分析測試數據,報告整理
 
3.性能指標解釋:
1)並發:所有用戶在同一時刻對系統執行操作,一般指做同一件事情或操作。
2)請求響應時間:
從 client 端發出請求到得到響應的整個時間;
包括:client 端響應時間+網絡響應時間+Server 端響應時間。
3)TPS(Transaction Per Second)
每秒鍾系統能夠處理的交易或事務的數量。它是衡量系統處理能力的重要指標。TPS 是 LoadRunner 中重要的性能參數指標。
4)資源利用率
對不同資源的使用程度,如 CPU,I/O,內存,網絡
 
4.性能測試中tps如果上不去原因有哪些?

1、網絡帶寬

在壓力測試中,有時候要模擬大量的用戶請求,如果單位時間內傳遞的數據包過大,超過了帶寬的傳輸能力,那么就會造成網絡資源競爭,間接導致服務端接收到的請求數達不到服務端的處理能力上限。

2、連接池

可用的連接數太少,造成請求等待。連接池一般分為服務器連接池(比如Tomcat)和數據庫連接池(或者理解為最大允許連接數也行)。

(關於連接池的具體內容,可參考之前的博客:性能測試:連接池和線程)

3、應用問題,如垃圾回收機制

從常見的應用服務器來說,比如Tomcat,因為java的的堆棧內存是動態分配,具體的回收機制是基於算法,如果新生代的Eden和Survivor區頻繁的進行Minor GC,老年代的full GC也回收較頻繁,那么對TPS

也是有一定影響的,因為垃圾回收其本身就會占用一定的資源。

4、數據庫配置

高並發情況下,如果請求數據需要寫入數據庫,且需要寫入多個表的時候,如果數據庫的最大連接數不夠,或者寫入數據的SQL沒有索引沒有綁定變量,抑或沒有主從分離、讀寫分離等,

就會導致數據庫事務處理過慢,影響到TPS。

5、通信連接機制

串行、並行、長連接、管道連接等,不同的連接情況,也間接的會對TPS造成影響。

(關於協議的連接,可參考之前的博客:HTTP協議進階:連接管理)

6、硬件資源

包括CPU(配置、使用率等)、內存(占用率等)、磁盤(I/O、頁交換等)。

7、壓力機

比如jmeter,單機負載能力有限,如果需要模擬的用戶請求數超過其負載極限,也會間接影響TPS(這個時候就需要進行分布式壓測來解決其單機負載的問題)。

8、業務邏輯

業務解耦度較低,較為復雜,整個事務處理線被拉長導致的問題。

9、系統架構

比如是否有緩存服務,緩存服務器配置,緩存命中率、緩存穿透以及緩存過期等,都會影響到測試結果。

 

5.性能測試時,是不是必須進行參數化?為什么要創建參數?JMeter中如何創建參數?

是。模擬用戶真實的業務操作。

創建參數列表,用參數替換固定的文本

 

6.請問您是如何得到性能測試需求?怎樣針對需求設計、分析是否達到需求?

在查看需求文檔,從中提取性能測試需求 ,制定性能測試范圍;

結合業務信息設計操作歷史訪問記錄場景總結出需測試的性能關鍵指標。

執行場景用例后根據提取關鍵性能指標來分析是否滿足性能需求。

 

7.畫出系統架構圖?

示意圖:

 

 

 

 

 

 

 

 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM