面試寶典:性能測試經(jīng)典面試題(一)

本章節(jié)主要給大家分享性能測試面試題以及答案的第一部分內(nèi)容,下一章繼續(xù)更新性能測試面試題以及答案的第二部分。

一、常見的性能測試有哪些分類

常見的性能測試分類包括:

1、負(fù)載試驗(yàn)

2、壓力測試

3、可靠性試驗(yàn)

4、容量測試

5、可擴(kuò)展性測試

二、用戶面臨常見的性能問題有哪些

常見的性能問題包括:

1、加載時(shí)間更長;

2、響應(yīng)時(shí)間很長

3、可擴(kuò)展性差

4、瓶頸(編碼錯(cuò)誤或硬件問題)

三、性能測試流程

性能測試流程通常包括以下步驟:

第一步:性能測試分析

第二步:測試構(gòu)建

第三步:測試執(zhí)行

第四步:結(jié)果分析

四、吞吐量是什么意思

在性能測試中,吞吐量是指在給定時(shí)間段內(nèi)響應(yīng)客戶端請求而傳輸?shù)椒?wù)器的數(shù)據(jù)量。它根據(jù)每秒請求數(shù)、每天呼叫數(shù)、每年報(bào)告數(shù)、每秒點(diǎn)擊數(shù)等進(jìn)行計(jì)算。應(yīng)用程序的性能取決于吞吐量值,吞吐量值越高-應(yīng)用程序的性能越高。

五、性能調(diào)優(yōu)的過程

性能調(diào)優(yōu)的步驟如下:

1、理解你的優(yōu)化目標(biāo)

2、估計(jì)你的優(yōu)化尺度

3、定位系統(tǒng)的瓶頸

4、最小化瓶頸的影響

5、完成優(yōu)化目標(biāo)

六、什么是點(diǎn)擊率

點(diǎn)擊率是指客戶端每秒鐘向服務(wù)器提交的HTTP請求數(shù)

七、性能測試準(zhǔn)入與退出標(biāo)準(zhǔn)

性能測試開始應(yīng)該是從系統(tǒng)設(shè)計(jì)開始準(zhǔn)入的。

準(zhǔn)出條件是判斷測試的結(jié)果是否達(dá)到性能目標(biāo),或者說是否達(dá)到可容忍標(biāo)準(zhǔn)。

八、如何識別性能瓶頸

通過負(fù)載或壓力測試,以及使用相關(guān)監(jiān)控工具對結(jié)果進(jìn)行監(jiān)控,通過分析監(jiān)控?cái)?shù)據(jù)可以幫助分析和識別性能瓶頸。

使用的負(fù)載或壓力測試工具通常為LoadRunner和JMeter。監(jiān)控的對象通常包括:數(shù)據(jù)庫、前端、中間件、隊(duì)列、系統(tǒng)資源等。

九、如何將腳本編寫模塊化

在模塊化方法中,為每個(gè)請求(如登錄、注銷、保存、刪除等)創(chuàng)建一個(gè)函數(shù)。這種方法可以更自由地重用請求并節(jié)省時(shí)間。使用這種方法,建議使用web自定義請求。

十、什么是并發(fā)用戶

并發(fā)用戶是指同一時(shí)刻點(diǎn)擊某個(gè)請求,強(qiáng)調(diào)的是同一時(shí)刻,并發(fā)用戶、在線用戶還是存在區(qū)別的。

十一、如何確定性能測試范圍

通常確定性能測試范圍主要從以下幾個(gè)維度進(jìn)行:

1、關(guān)鍵業(yè)務(wù)

2、日PV量

3、邏輯復(fù)雜度

4、運(yùn)營推廣計(jì)劃十二、如何定義性能目標(biāo)

性能目標(biāo)通常包括:響應(yīng)時(shí)間、交易量、成功率、系統(tǒng)資源使用率等

十三、如何計(jì)算應(yīng)用程序的迭代時(shí)間

No. of users = (Response Time in seconds + Pacing in seconds) * TPS

十四、吞吐量與響應(yīng)時(shí)間關(guān)系

吞吐量與響應(yīng)時(shí)間似乎沒有絕對的關(guān)系,但是一般來說,當(dāng)吞吐量增多的時(shí)間,響應(yīng)時(shí)間一定會增長,因?yàn)橥掏铝康闹翟酱?,說明服務(wù)處理的請求越多,也即說明服務(wù)器越忙,當(dāng)服務(wù)器越忙,處理業(yè)務(wù)的能力肯定會下降,所以響應(yīng)時(shí)間就會變長。

十五、如何確定關(guān)鍵場景

通??梢詮囊韵聨讉€(gè)維度來識別關(guān)鍵場景:

●可測量場景:用于選擇任何用戶場景進(jìn)行性能測試的基本標(biāo)準(zhǔn)是應(yīng)完全可測量。

●最經(jīng)常訪問的場景:用戶瀏覽應(yīng)用程序時(shí)大多數(shù)訪問的應(yīng)用場景。

●業(yè)務(wù)關(guān)鍵場景:包含業(yè)務(wù)交易的應(yīng)用程序核心方案。

●資源強(qiáng)化方案:與典型場景相比,消耗更多資源的用戶場景。

●時(shí)間依賴的常用方案:在特定情況下訪問但經(jīng)常訪問的應(yīng)用場景。

●利益相關(guān)者關(guān)于情景:利益相關(guān)者更關(guān)心的應(yīng)用功能,如AUT新集成模塊。

十六、如何確定關(guān)鍵場景路徑

通常以下方法可以確定關(guān)鍵場景路徑:

●找出可用于成功完成多個(gè)識別情景并具有主要性能影響的AUT路徑。

●閱讀手冊(設(shè)計(jì)和用戶),以找出識別的場景的所有可能的路徑。

●在生產(chǎn)應(yīng)用的情況下,檢查日志文件以找出用戶的導(dǎo)航模式來完成識別的場景。

●瀏覽應(yīng)用程序,并嘗試自己查找場景的所有可能路徑。

●另一種方法可能是向新的和有經(jīng)驗(yàn)的用戶提供應(yīng)用程序訪問,并要求他們完成某些場景并觀察他們的行為。

十七、場景一般有哪幾種

一般包括:單一場景和混合場

工作中一般使用混合場景

十八、如何估算最大業(yè)務(wù)處理能力

十九、性能測試結(jié)果分析數(shù)據(jù)的來源

二十、性能分析標(biāo)準(zhǔn)

二十一、性能壓力模型

二十二、PV與TPS轉(zhuǎn)換模型

二十三、解釋從輸入U(xiǎn)RL到頁面顯示完成的過程

簡單的回答:

1、在瀏覽器中輸入U(xiǎn)RL地址后,瀏覽器會將請求的URL交給DNS進(jìn)行域名解析,找到需求訪問的IP地址,再向服務(wù)器發(fā)起請求;

2、服務(wù)器收到請求后交給后臺服務(wù)器直行處理,處理完成后將數(shù)據(jù)返回到客戶端,瀏覽器接收文件(HTML、JS、CSS、image等);

3、瀏覽器將返回的資源資源(HTML、JS、CSS等)進(jìn)行語法解析,建立相應(yīng)的內(nèi)部數(shù)據(jù)結(jié)構(gòu)(如HTML的DOM);

4、載入解析到的資源文件,并對其進(jìn)行渲染頁面,并后呈現(xiàn)在客戶端完成。

詳細(xì)的回答:

1、當(dāng)輸入U(xiǎn)RL后,瀏覽器會開啟一個(gè)線程來處理這個(gè)請求,對 URL 分析判斷如果是 http 協(xié)議就按照Web 方式來處理;

2、然后調(diào)用瀏覽器內(nèi)核中對應(yīng)方法,來處理我們的請求,比如 WebView 中的 loadUrl 方法;

3、域名服務(wù)器對URL進(jìn)行解析獲取網(wǎng)址的IP地址,設(shè)置 UA 等信息發(fā)出第二個(gè)GET請求;

4、服務(wù)器收到請求后會由一個(gè)socket嵌套字來啟動(dòng)一個(gè)監(jiān)聽的方法來監(jiān)聽URL地址和端口,

5、進(jìn)行HTTP協(xié)議會話,客戶端發(fā)送報(bào)頭信息,即請求報(bào)文;

6、然后到web服務(wù)器上的 Web Server,如 Apache、Tomcat、nginx等服務(wù)器;

7、到部署好的后端應(yīng)用,如 PHP、Java、JavaScript、Python 等,找到對應(yīng)的請求處理文件;

8、處理結(jié)束回饋報(bào)頭,此處如果瀏覽器訪問過,緩存上有對應(yīng)資源,會與服務(wù)器最后修改時(shí)間對比,一致則返回304;

9、瀏覽器開始下載html文檔(響應(yīng)報(bào)頭,狀態(tài)碼200),同時(shí)使用緩存;

10、文檔樹建立,根據(jù)標(biāo)記請求所需指定MIME類型的文件(比如css、js),同時(shí)設(shè)置了cookie;

11、頁面開始渲染DOM,JS根據(jù)DOM API操作DOM,執(zhí)行事件綁定等,頁面顯示完成。

這個(gè)題目看似很簡單,但其實(shí)不一定能回答好,這個(gè)題可以考大家對前端調(diào)優(yōu)的理解或說基礎(chǔ)知識如何。

二十四、性能測試過程中如何分析前端性能問題

●性能測試過程中可以使用LoadRunner頁面細(xì)分來分析前端的性能問題

●也可以使用一些前端分析工具來分析,例如YSLOW工具

●當(dāng)前端核心的是分析前端的23大規(guī)則

二十五、為什么需要使用緩存,通常有哪些方法可以使用緩存

●緩存的目的是為了減少從服務(wù)器獲取組件資源的時(shí)間

●通??梢酝ㄟ^在請求頭中添加Expires、ETag等方法來進(jìn)行緩存

●當(dāng)然也可以通過DNS緩存和CDN部署與緩存來實(shí)現(xiàn),一般我們可能更多的是對HTTP請求進(jìn)行緩存,或者說我們前端一般是會從HTTP請求的方面來進(jìn)行緩存。

本期的性能測試面試題以及答案的第一部分就到這里,下期繼續(xù)更新第二部分,記得來看哦。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容