測試干貨:https://www.cnblogs.com/Chamberlain/p/10730850.html
不懂得可以問我+v chimugu
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個區域作為負載測試計划需要重點關注和考慮的內容,重點關注以下幾個方面的內容:
- 生產環境和測試環境的不同
- 用戶分析
- 用例
8) 請描述RBI軟件性能測試過程?
答案:RBI方法是Empirix公司提出的一種用於快速識別系統性能瓶頸的方法,該方法基於以下一些事務:
1. 80%的系統性能瓶頸由吞吐量制約。
2. 並發用戶數和吞吐量瓶頸之間存在關聯。
3. 采用吞吐量測試能夠更快速的定位問題。
RBI方法先訪問“小頁面”和“簡單應用”,從應用服務器、網絡等基礎層次上去了解系統吞吐量表現;再選擇不同場景、設定不同並發數,使吞吐量保持趨勢增長,觀察系統的性能表現。按照“自上而下”的方式進行分析,首先確定是並發還是吞吐量引發的性能表現限制,然后從網絡、數據庫、應用服務器、代碼本身4個環境確定系統性能具體的瓶頸。
9) 請描述LR性能測試過程?
1. 計划測試: 測試需求收集、典型場景確定。
2. 測試設計: 測試用例設計。
3.創建VU腳本: 根據用例創建腳本。
4. 創建測試場景: 測試場景設計和設置,包括監控指標設定。
5. 運行測試場景: 執行測試場景,收集相應數據。
6. 分析結果: 結果分析和報告工作
10) 對於采用敏捷流程開發的項目,性能測試該如何開展?
答案:
- 每個迭代目標中包含明確的性能目標
- 建立不同層次的性能測試
- 完全或接近完全自動化的性能測試
- 使用測試驅動方法保證性能與優化性能
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) 你在五年內的個人目標和職業目標分別是什么?
答案:個人目標就是不斷的積累性能方面的知識,達到高級性能測試工程師
