天天看點

軟體測試從業者适用性能面試題

軟體測試從業者适用性能面試題

1) 什麼是性能測試?

答案:系統在一定的壓力情況下,檢視cpu,記憶體,磁盤,網絡帶寬,TPS、響應時間、并發使用者數、等各項名額,通過模拟生産運作的業務壓力量和使用場景組合,測試系統的性能是否滿足生産性能要求,就是在特定的運作條件下驗證系統的能力狀況。

2) 什麼是負載測試?

答案:負載測試主要是考察軟體系統在既定負載下的性能表現。就是站在使用者的角度去觀察一定條件下軟體系統的性能表現。期望結果是使用者的性能名額需求得到滿足。性能名額一般展現為響應時間、并發量等。

3) 性能測試包含的方法有哪些(至少列舉5種)?

答案:SEI 負載測試計劃過程,RBI方法,性能下降曲線分析法,Loadrunner和segue提供的性能測試方法,PTGM模型。

4) 描述性能測試的步驟?

1、業務學習

2、需求分析

3、工作評估

4、設計模型

5、計劃編寫

6、腳本開發

7、測試環境準備

8、測試資料的準備

9、測試執行

10、缺陷管理

11、性能分析

12、性能調優

13、測試報告

5) 什麼時候開始執行性能測試?

答案:功能測試已完成并穩定運作,性能測試環境已搭建

6) 軟體性能測試的應用領域有哪些(至少列出三種)?

l 能力驗證

l 能力規劃

l 性能調優

l 缺陷發現

7) 請描述SEI軟體性能測試過程?

答案:SEI 負載測試計劃過程将目标、使用者、用例、生産環境、測試環境和測試場景6個區域作為負載測試計劃需要重點關注和考慮的内容,重點關注以下幾個方面的内容:

  1. 生産環境和測試環境的不同
  2. 使用者分析
  3. 用例

8) 請描述RBI軟體性能測試過程?

答案:RBI方法是Empirix公司提出的一種用于快速識别系統性能瓶頸的方法,該方法基于以下一些事務:

1. 80%的系統性能瓶頸由吞吐量制約。

2. 并發使用者數和吞吐量瓶頸之間存在關聯。

3. 采用吞吐量測試能夠更快速的定位問題。

RBI方法先通路“小頁面”和“簡單應用”,從應用伺服器、網絡等基礎層次上去了解系統吞吐量表現;再選擇不同場景、設定不同并發數,使吞吐量保持趨勢增長,觀察系統的性能表現。按照“自上而下”的方式進行分析,首先确定是并發還是吞吐量引發的性能表現限制,然後從網絡、資料庫、應用伺服器、代碼本身4個環境确定系統性能具體的瓶頸。

9) 請描述LR性能測試過程?

1. 計劃測試: 測試需求收集、典型場景确定。

2. 測試設計: 測試用例設計。

3.建立VU腳本: 根據用例建立腳本。

4. 建立測試場景: 測試場景設計和設定,包括監控名額設定。

5. 運作測試場景: 執行測試場景,收集相應資料。

6. 分析結果: 結果分析和報告工作

10) 對于采用靈活流程開發的項目,性能測試該如何開展?

答案:

  1. 每個疊代目标中包含明确的性能目标
  2. 建立不同層次的性能測試
  3. 完全或接近完全自動化的性能測試
  4. 使用測試驅動方法保證性能與優化性能

11) 對于Web系統的響應時間,行業中被廣泛認可的使用者可以接受的時間是多少秒?

答案:2/5/10S,不同行業業務也有不同,非絕對。

在2秒之内給客戶響應被使用者認為是“非常有吸引力”的使用者體驗。

在5秒之内給客戶響應被使用者認為是“比較不錯”的使用者體驗。

在10秒之内給客戶響應被使用者認為是“糟糕”的使用者體驗。

12) RBI軟體性能測試過程認為,多少比例的性能瓶頸問題是由吞吐量導緻的?

答案:80%

13) 在性能測試中,通常需要關注哪些性能名額?

答案:響應時間、并發數、吞吐量、系統性能計數器、思考時間。

14) 請描述什麼是吞吐量?

答案:機關時間内系統處理使用者的請求數。

從業務角度看,吞吐量可以用:請求數/秒、業務數/秒、人數/天或處理業務數/小時等機關來衡量

從網絡角度看,吞吐量可以用:位元組/秒來衡量

對于互動式應用來說,吞吐量名額反映的是伺服器承受的壓力,它能夠說明系統的負載能力

15) 一個web系統,使用者從打開浏覽器輸入網址頁面顯示在浏覽器中,這個過程當中,頁面給使用者總的響應時間通常可以細分為哪些?

答案:從用戶端到服務端的請求時間(請求網絡傳輸時間request),從服務端傳回資料到用戶端的時間(響應網絡傳輸時間response),頁面渲染時間(用戶端浏覽器加載頁面的時間),處理器的處理時間(應用伺服器+資料庫伺服器處理時間)。

16) 請舉例說明什麼時候廣義并發和嚴格并發?

答案:廣義并發:廣義的并發實際上是在一個時間内操作事務的虛拟使用者,是存在。

對地鐵這個系統而言,每個時間都有新來的人,也有走的人,大家做的事情基本都相同,乘地鐵。假定某個時刻地鐵大廳中有10000人,檢票口候車的有100人,剛剛開走的地鐵上乘有2000人,那此時對考察的系統(列車)而言,并發就是2000人,而如果考察的是檢票處,則并發為100人,同樣,如果考察的系統是地鐵大廳,那此時的并發就是10000人。這種并發我們一般稱之為“廣義并發”。

 嚴格并發:是指大量使用者在同一時刻在軟體系統上做完全相同的功能操作或相同類型的功能操作。例如雙十一的秒殺商品

17) 一個web系統,使用者最關注的性能名額是什麼?

答案:響應時間

18) 一份性能測試計劃,通常包含哪些内容?

答案:測試目的,測試品質目标,測試環境,測試階段和範圍,測試政策,測試時間安排,測試用例

19) 軟體為什麼會有性能問題?

答案:軟體在高負載通路下,業務邏輯比較複雜。軟體是運作在環境當中的,不同的軟硬體資源都會引起性能問題,還有軟體本身的代碼、資料庫等引起的性能問題。

20) 響應時間和吞吐量直接的關系是什麼?

答案:

吞吐量圖顯示的是虛拟使用者每秒鐘從伺服器接收到的位元組數。當和響應時間比較時,可以發現随着吞吐量的降低,響應時間也降低,同樣的,吞吐量的峰值和最大響應時間差不多在同時出現。

平均響應時間越短,系統吞吐量越大;平均響應時間越長,系統吞吐量越小;

21) 如何識别性能瓶頸?

答案:找出最先出問題的點,即短闆,再進行分析。

首先,要先做一份現有系統的性能測試報告,如CPU消耗、記憶體消耗、磁盤I/O、網卡I/O、帶寬、頁面交換等,如果發現其中一項或多項達到瓶頸,那麼就要考慮是硬體不夠導緻性能上不去,還是系統實作不合理導緻滿了;如果是硬體問題,那麼就早考慮擴容;如果是資源都沒到極限或确認系統實作有問題,那麼就要針對性的對系統相應功能進行相應的拆解或者是監控函數級的耗時。

RBI+變量控制法

22) 性能測試過程中,需要監控OS的哪些資源?

答案:cpu,記憶體,磁盤,網絡

23) 性能測試過程中,需要監控OS的哪些資源?

答案:cpu,記憶體,磁盤,網絡

24) 請解釋什麼是記憶體洩露,記憶體洩露的危害有哪些?

答案:記憶體洩漏是指對象不再被應用程式使用,但是垃圾回收器卻不能回收它們,因為它們正在被引用。

對于長時間運作的程式來說,記憶體洩漏會使程式占用的記憶體一直增加,最後就會出現記憶體耗盡而導緻當機,即使不當機也會是系統的運作越來越慢,還有就是有些記憶體有其他資源,比如資料庫連接配接,網絡連接配接等等這些,如果在網上會出現阻塞。

25) 請解釋什麼是資源競争,場景的資源競争有哪些?

答案:多個使用者都去用同一個東西,但這個東西被一人鎖定,就産生了資源競争。

java多線程資源競争

26) 驗證系統在100 TPS下,響應時間小于3s,對于這樣的需求,應該采用哪種性能測試方法?

答案:能力評估

27) 如何設計系統負載政策?标準是什麼?

答案:加壓實行減半,标準是系統的性能基線,就是在系統的cpu、記憶體都不低于75%,響應時間小于3s時測出來的使用者數和标準為參考基線。

28) 什麼是think time ?它的作用是什麼?

答案:思考時間是指使用者在進行操作時,每個請求之間的間隔時間

在測試腳本中,思考時間展現為腳本中兩個請求語句之間的間隔時間。

設定思考時間是為了更加真實的模拟使用者操作。

29) 從管理者角度視角,主要關注系統性能的哪些名額?

答案①系統的響應時間;

  ②系統狀态的相關資訊,如:CPU、記憶體、應用伺服器狀态、JVM可用記憶體、資料庫的狀态等;

  ③系統的可擴充性,處理并發的能力;

  ④系統可能的最大容量,可能的性能瓶頸,通過更換哪些裝置或是進行哪些擴充能夠提高系統性能;

  ⑤長時間運作是否足夠穩定,是否能夠不間斷的提供業務服務等;

30) 從開發工程師視角,主要關注系統性能哪些名額?

答案(1)系統架構:架構設計是否合理;

  (2)資料庫設計:資料庫設計是否存在問題;

  (3)代碼:代碼是否存在性能方面的問題,系統中是否有不合理的記憶體使用方式;

  (4)設計與代碼:系統中是否存在不合理的線程同步方式,系統中是否存在不合理的資源競争;

31) 請描述壓力測試和負載測試的差別?

答案:壓力測試的預期結果就是系統出現問題,我們考察的是系統處理問題的能力。

負載測試是考察軟體系統在既定負載下的性能表現。

壓力測試是能讓我們識别系統的弱點和在極限負載下程式将如何運作。

32) 請描述什麼時候性能平坦區?

答案:系統性能最優秀的區間,該區域可被用作基線。性能不斷加壓,沒有什麼變化。

33) 請描述什麼是系統性能拐點?

答案:性能開始急劇下降的點。

34) 對于一個缺乏性能明确需求的項目,你是如何提取性能需求的?

答案:與客戶交流,檢視曆史日志,跟同類産品對比,根據以往的經驗。

35) 一個完整的性能測試用例應該包含哪些内容?

答案:測試用例編号,項目标題,測試标題,重要級别,預置條件,輸入,操作步驟,輸出,測試結果,測試者和時間

36) 請描述功能測試、性能測試、自動化測試、接口測試他們之間的關聯性?

答案:功能測試->接口測試 ->性能測試->自動化測試

接口測試也算是功能測試的一種

37) 你自認為你自己的優勢在哪裡,對性能測試有沒有你自己的了解?

答案:jmeter linux監控 腳本程式設計

38) 你自認為你本人做性能測試工作的優勢在哪裡?

答案:主要是描述你的技術強 業務适應ne

39) 你找工作時,最重要的考慮因素是什麼?

答案:是否有發展空間

40) 你在五年内的個人目标和職業目标分别是什麼?