1. 程式人生 > 其它 >效能面試題彙總(二)

效能面試題彙總(二)

1、效能測試包含了哪些軟體測試(至少舉出3種)?

參考答案:負載測試;壓力測試;容量測試;


負載測試(Load Testing):負載測試是一種主要為了測試軟體系統是否達到需求文件設計的目標,譬如軟體在一定時期內,最大支援多少併發使用者數,軟體請求出錯率等,測試的主要是軟體系統的效能。
壓力測試(Stress Testing):強度測試也就是壓力測試,壓力測試主要是為了測試硬體系統是否達到需求文件設計的效能目標,譬如在一定時期內,系統的cpu利用率,記憶體使用率,磁碟I/O吞吐率,網路吞吐量等,壓力測試和負載測試最大的差別在於測試目的不同。
容量測試(Volume Testing):確定系統最大承受量,譬如系統最大使用者數,最大儲存量,最多處理的資料流量等。

2、請問什麼是效能測試、負載測試、壓力測試?

效能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項效能指標進行測試。

負載測試、壓力測試參考答案如上題。


3、在給定的測試環境下進行,考慮被測系統的業務壓力量和典型場景?

負載測試負載測試是用來測定系統飽和狀態、確定閥值。其特點有:這種方法的目的是找到系統處理能力的極限;通過“檢測、加壓、閥值”手段找到如“響應時間不超過10秒”,“平均CPU利用率低於65%”等指標。
這種效能測試方法需要在給定的測試環境下進行,通常也需要考慮被測系統的業務壓力量和典型場景、另外HP Mercury LoadRuner在使用該方法進行“加壓”的時候必須選擇典型場景。這種效能測試方法一般用來了解系統的效能容量,或者是配合效能調優的時候來使用。特別是該的Weblogic 和庫的效能調優。


4、什麼時候可以開始執行效能測試?

在產品相對比較穩定,功能測試結束後。靈活性比較強。

5、簡述效能測試的步驟。

熟悉應用:瞭解應用的架構、功能邏輯測試需求:1、需要將開發給定的需求轉為吞吐量和響應時間。2、根據測試目的,細化需求測試準備:測試準備包括測試客戶端機器準備、測試資料準備、測試指令碼準備。測試執行:測試的執行中,需要監控測試客戶端和伺服器效能,監控伺服器端應用
情況:客戶端的系統資源(cpu、io、memory)情況服務端的系統資源(cpu、io、memory)情況
伺服器的jvm執行情況、服務端的應用情況,看是否有異常、響應時間、吞吐量等指標;系統資源監控,linux下可以採用的工具有:vmstat、top、meminfo等。JVM的監控,可以用jprofiler工具,linux下面的jmap、jhat等。響應時間、吞吐量等,由grinder提供。
上述這些資訊,一般在測試結束後,均需要歸檔整理,已備後續詳細分析我們自己開發一套指令碼,用於以固定的頻率獲取測試客戶端和伺服器的vmstat和top輸出、grinder的log,並從中擷取有用資訊儲存,用於事後分析。每次測試執行完以後,肯定會增加很多資料,需要考慮本次執行對資料量的影響,如果資料量的變化對後續測試會有影響,則需要清理資料。

6、你如何識別效能瓶頸?

RBI方法重點測試“吞吐量”指標因為RBI認定80%的系統性能瓶頸由吞吐量造成。按照網路、硬體、資料庫、應用伺服器、程式碼的順序自上而下分析效能工具:IBM、HP、OpenSource工具都支援。需使用分析模組、根據Weblogic、Oracle區別有專門的工具實現RBI。


7、效能測試時,是不是必須進行引數化?為什麼要建立引數?

LoadRunner中如何建立引數?

是。模擬使用者真實的業務操作。建立引數列表,用引數替換固定的文字。


8、你如何設計負載?標準是什麼?

負載測試計劃多少使用者數量、使用什麼型別的機器、以及在什麼環境下進行。主要基於兩個重要的文件,任務分佈圖和事務資訊,任務分佈圖告訴我們在負載時間段內,某一個事務使用的使用者數,高峰使用率及低峰使用率均來自該文件;事務資訊告訴我們事務名及優先順序,在設計場景時可以參考。



9、解釋5個常用的效能指標的名稱與具體含義。

響應時間、併發使用者數,吞吐量,效能計數器,TPS,HPS
響應時間:指的是“系統響應時間”定義為應用系統從發出請求開始到客戶端接收到響應所消耗的時間。把它作為使用者視角的軟體效能的主要體現。
最大併發使用者數:有兩種理解方式,一種是從業務的角度來模擬真實的使用者訪問,體現的是業務併發使用者數,指在同一時間段內訪問系統的使用者數量。另一種是從伺服器端承受的壓力來考慮,這裡的“併發使用者數”指的是同時向伺服器端發出請求的客戶數,該概念一般結合併發測試(Concurrency Testing)使用,體現的是服務端承受的最大併發訪問數。吞吐量是指“單位時間內系統處理的客戶請求的數量”,直接體現軟體系統的效能承載能力。
效能計數器(Counter)是描述伺服器或作業系統效能的一些資料指標。例如,對Windows 系統來說,使用記憶體數(Memory In Usage),程序時間(Total Process Time)等都是常見的計數器。
思考時間(Think Time),也被稱為“休眠時間”,從業務的角度來說,這個時間指的是使用者在進行操作時,每個請求之間的間隔時間。從自動化測試實現的角度來說,要真實地模擬使用者操作,就必須在測試指令碼中讓各個操作之間等待一段時間,體現在指令碼中,具體而言,就是在操作之間放置一個Think 的函式,使得指令碼在執行兩個操作之間等待一段時間。
TPS:Transaction per second,每秒鐘系統能夠處理的交易或者事務的數量。它是衡量系統處理能力的重要指標。點選率:HPS,每秒鐘使用者向WEB伺服器提交的HTTP請求數。


10、描述不同的角色(使用者、產品開發人員、系統管理員)各自關注的軟體效能要點

使用者:重點關注開啟速度及響應時間開發:重點關注響應時間和資料庫互動管理員:重點關注使用者感受到的軟體效能;如何利用管理功能進行效能調優;如何利用其他軟硬體手段進行效能調優

11、請分別針對性能測試、負載測試和壓力測試試舉一個簡單的例子?

效能測試例子:公司開發了一個小型專案管理系統,上線前需要做負載、壓力、大資料量、強度測試等。


負載測試:逐步加壓,從而得到“響應時間不超過10秒”,“伺服器平均CPU利用率低於85%”等指標閥值。
壓力測試:逐步加壓,從而使“響應時間超過10秒”,“伺服器平均CPU利用率高於90%”等指標來確定系統能承受的最大負載量。

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

在檢視需求文件,從中提取效能測試需求,與使用者交流,瞭解實際使用情況。

結合業務資訊設計操作場景總結出需測試的效能關鍵指標。執行用例後根據提取關鍵效能指標來分析是否滿足效能需求。

志之所趨,無遠弗屆,窮山距海,不能限也