騰訊拿20K出來的連“關(guān)鍵指標(biāo)含義都答不上來,你跟我說你懂性能測試”

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

負(fù)載測試;壓力測試;容量測試

負(fù)載測試(Load Testing):負(fù)載測試是一種主要為了測試軟件系統(tǒng)是否達(dá)到需求文檔設(shè)計的目標(biāo),譬如軟件在一定時期內(nèi),最大支持多少并發(fā)用戶數(shù),軟件請求出錯率等,測試的主要是軟件系統(tǒng)的性能。

壓力測試(Stress Testing):強(qiáng)度測試也就是壓力測試,壓力測試主要是為了測試硬件系統(tǒng)是否達(dá)到需求文檔設(shè)計的性能目標(biāo),譬如在一定時期內(nèi),系統(tǒng)的cpu利用率,內(nèi)存使用率,磁盤I/O吞吐率,網(wǎng)絡(luò)吞吐量等,壓力測試和負(fù)載測試最大的差別在于測試目的不同。

容量測試(Volume Testing):確定系統(tǒng)最大承受量,譬如系統(tǒng)最大用戶數(shù),最大存儲量,最多處理的數(shù)據(jù)流量等。

或者在下面選擇幾項(xiàng):

1)并發(fā)測試 - 測試多用戶并發(fā)訪問同一個應(yīng)用、模塊、數(shù)據(jù)時是否產(chǎn)生隱藏的并發(fā)問題

2)基準(zhǔn)測試 - 比較新的或未知測試對象與已知參照標(biāo)準(zhǔn)(如現(xiàn)有軟件或評測標(biāo)準(zhǔn))的性能。

3)爭用測試:- 核實(shí)測試對象對于多個主角對相同資源(數(shù)據(jù)記錄、內(nèi)存等)的請求的處理是否可以接受。

4)性能配置 - 核實(shí)在操作條件保持不變的情況下,測試對象在使用不同配置時其性能行為的可接受性。

5)負(fù)載測試- 核實(shí)在保持配置不變的情況下,測試對象在不同操作條件(如不同用戶數(shù)、事務(wù)數(shù)等)下性能行為的可接受性。

6)強(qiáng)度測試- 核實(shí)測試對象性能行為在異?;驑O端條件(如資源減少或用戶數(shù)過多)之下的可接受性。

7)容量測試- 核實(shí)測試用戶同時使用軟件程序的最大數(shù)量

2、請問什么是性能測試、負(fù)載測試、壓力測試?

性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負(fù)載條件來對系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測試。負(fù)載測試、壓力測試參考答案如上題。

3、在給定的測試環(huán)境下進(jìn)行,考慮被測系統(tǒng)的業(yè)務(wù)壓力量和典型場景?

負(fù)載測試。

負(fù)載測試是用來測定系統(tǒng)飽和狀態(tài)、確定閥值。其特點(diǎn)有:

1)這種方法的目的是找到系統(tǒng)處理能力的極限;通過“檢測、加壓、閥值”手段找到如“響應(yīng)時間不超過10秒”,“平均CPU利用率低于65%”等指標(biāo)。

2)這種性能測試方法需要在給定的測試環(huán)境下進(jìn)行,通常也需要考慮被測系統(tǒng)的業(yè)務(wù)壓力量和典型場景、另外HP Mercury LoadRuner在使用該方法進(jìn)行“加壓”的時候必須選擇典型場景。

3)這種性能測試方法一般用來了解系統(tǒng)的性能容量,或者是配合性能調(diào)優(yōu)的時候來使用。特別是該的Weblogic 和庫的性能調(diào)優(yōu)。

4、什么時候可以開始執(zhí)行性能測試?

在產(chǎn)品相對比較穩(wěn)定,功能測試結(jié)束后。靈活性比較強(qiáng)。

5、簡述性能測試的步驟。(文末有刷題筆記共享)

熟悉應(yīng)用

了解應(yīng)用的架構(gòu)、功能邏輯

測試需求:

1)需要將開發(fā)給定的需求轉(zhuǎn)為吞吐量和響應(yīng)時間。

2)根據(jù)測試目的,細(xì)化需求

測試準(zhǔn)備:

測試準(zhǔn)備包括測試客戶端機(jī)器準(zhǔn)備、測試數(shù)據(jù)準(zhǔn)備、測試腳本準(zhǔn)備。

測試執(zhí)行:

測試的執(zhí)行中,需要監(jiān)控測試客戶端和服務(wù)器性能,監(jiān)控服務(wù)器端應(yīng)用情況:

1)客戶端的系統(tǒng)資源(cpu、io、memory)情況

2)服務(wù)端的系統(tǒng)資源(cpu、io、memory)情況

3)服務(wù)器的jvm運(yùn)行情況

4)服務(wù)端的應(yīng)用情況,看是否有異常

5)響應(yīng)時間、吞吐量等指標(biāo)

6)系統(tǒng)資源監(jiān)控,linux下可以采用的工具有:vmstat、top、meminfo等。

7)JVM的監(jiān)控,可以用jprofiler工具,linux下面的jmap、jhat等。

8)響應(yīng)時間、吞吐量等,由grinder提供。

上述這些信息,一般在測試結(jié)束后,均需要?dú)w檔整理,已備后續(xù)詳細(xì)分析。

我們自己開發(fā)一套腳本,用于以固定的頻率獲取測試客戶端和服務(wù)器的vmstat和top輸出、grinder的log,并從中截取有用信息保存,用于事后分析。

每次測試運(yùn)行完以后,肯定會增加很多數(shù)據(jù),需要考慮本次執(zhí)行對數(shù)據(jù)量的影響,如果數(shù)據(jù)量的變化對后續(xù)測試會有影響,則需要清理數(shù)據(jù)。

六、你如何識別性能瓶頸?

RBI方法:重點(diǎn)測試“吞吐量”指標(biāo),因?yàn)镽BI認(rèn)定80%的系統(tǒng)性能瓶頸由吞吐量造成。按照網(wǎng)絡(luò)、硬件、數(shù)據(jù)庫、應(yīng)用服務(wù)器、代碼的順序自上而下分析性能工具:IBM、HP、OpenSource工具都支持。需使用分析模塊、根據(jù)Weblogic、Oracle區(qū)別有專門的工具實(shí)現(xiàn)RBI。

七、性能測試時,是不是必須進(jìn)行參數(shù)化?為什么要創(chuàng)建參數(shù)?LoadRunner中如何創(chuàng)建參數(shù)?

是。模擬用戶真實(shí)的業(yè)務(wù)操作。創(chuàng)建參數(shù)列表,用參數(shù)替換固定的文本。

八、你如何設(shè)計負(fù)載?標(biāo)準(zhǔn)是什么?

負(fù)載測試計劃多少用戶數(shù)量、使用什么類型的機(jī)器、以及在什么環(huán)境下進(jìn)行。主要基于兩個重要的文檔,任務(wù)分布圖和事務(wù)信息,任務(wù)分布圖告訴我們在負(fù)載時間段內(nèi),某一個事務(wù)使用的用戶數(shù),高峰使用率及低峰使用率均來自該文檔;事務(wù)信息告訴我們事務(wù)名及優(yōu)先級,在設(shè)計場景時可以參考。

九、解釋5個常用的性能指標(biāo)的名稱與具體含義。

響應(yīng)時間、并發(fā)用戶數(shù),吞吐量,性能計數(shù)器,TPS,HPS

響應(yīng)時間:指的是“系統(tǒng)響應(yīng)時間”定義為應(yīng)用系統(tǒng)從發(fā)出請求開始到客戶端接收到響應(yīng)所消耗的時間。把它作為用戶視角的軟件性能的主要體現(xiàn)。

最大并發(fā)用戶數(shù):有兩種理解方式,一種是從業(yè)務(wù)的角度來模擬真實(shí)的用戶訪問,體現(xiàn)的是業(yè)務(wù)并發(fā)用戶數(shù),指在同一時間段內(nèi)訪問系統(tǒng)的用戶數(shù)量。

另一種是從服務(wù)器端承受的壓力來考慮,這里的“并發(fā)用戶數(shù)”指的是同時向服務(wù)器端發(fā)出請求的客戶數(shù),該概念一般結(jié)合并發(fā)測試(Concurrency Testing)使用,體現(xiàn)的是服務(wù)端承受的最大并發(fā)訪問數(shù)。

吞吐量:是指“單位時間內(nèi)系統(tǒng)處理的客戶請求的數(shù)量”,直接體現(xiàn)軟件系統(tǒng)的性能承載能力。

性能計數(shù)器(Counter)是描述服務(wù)器或操作系統(tǒng)性能的一些數(shù)據(jù)指標(biāo)。例如,對Windows 系統(tǒng)來說,使用內(nèi)存數(shù)(Memory In Usage),進(jìn)程時間(Total Process Time)等都是常見的計數(shù)器。

思考時間(Think Time),也被稱為“休眠時間”,從業(yè)務(wù)的角度來說,這個時間指的是用戶在進(jìn)行操作時,每個請求之間的間隔時間。從自動化測試實(shí)現(xiàn)的角度來說,要真實(shí)地模擬用戶操作,就必須在測試腳本中讓各個操作之間等待一段時間,體現(xiàn)在腳本中,具體而言,就是在操作之間放置一個Think 的函數(shù),使得腳本在執(zhí)行兩個操作之間等待一段時間。

TPS:Transaction per second,每秒鐘系統(tǒng)能夠處理的交易或者事務(wù)的數(shù)量。它是衡量系統(tǒng)處理能力的重要指標(biāo)。

點(diǎn)擊率:HPS,每秒鐘用戶向WEB服務(wù)器提交的HTTP請求數(shù)。

十、描述不同的角色(用戶、產(chǎn)品開發(fā)人員、系統(tǒng)管理員)各自關(guān)注的軟件性能要點(diǎn)。

用戶:重點(diǎn)關(guān)注打開速度及響應(yīng)時間

開發(fā):重點(diǎn)關(guān)注響應(yīng)時間和數(shù)據(jù)庫交互

管理員:重點(diǎn)關(guān)注用戶感受到的軟件性能;如何利用管理功能進(jìn)行性能調(diào)優(yōu);如何利用其他軟硬件手段進(jìn)行性能調(diào)優(yōu)

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

性能測試?yán)樱汗鹃_發(fā)了一個小型項(xiàng)目管理系統(tǒng),上線前需要做負(fù)載、壓力、大數(shù)據(jù)量、強(qiáng)度測試等。

負(fù)載測試:逐步加壓,從而得到“響應(yīng)時間不超過10秒”,“服務(wù)器平均CPU利用率低于85%”等指標(biāo)閥值。

壓力測試:逐步加壓,從而使“響應(yīng)時間超過10秒”,“服務(wù)器平均CPU利用率高于90%”等指標(biāo)來確定系統(tǒng)能承受的最大負(fù)載量。

十二、請問您是如何得到性能測試需求?怎樣針對需求設(shè)計、分析是否達(dá)到需求?

在查看需求文檔,從中提取性能測試需求,與用戶交流,了解實(shí)際使用情況。結(jié)合業(yè)務(wù)信息設(shè)計操作場景總結(jié)出需測試的性能關(guān)鍵指標(biāo)。執(zhí)行用例后根據(jù)提取關(guān)鍵性能指標(biāo)來分析是否滿足性能需求

最后

在這里,也就弱弱介紹一個真正的學(xué)習(xí)python自動化的小卡片吧,超適合的進(jìn)階課程:教程+案例+筆記,這種可以系統(tǒng)的學(xué),見效快,最重要的可以給你增加信心,你更容易把這門技術(shù)學(xué)到手。一個人摸索,可能遇到很多過不去問題,有些自己過不去的,容易失去信心跟耐心,很容易放棄的,這是我的個人經(jīng)歷。

面試,面試題是必不可少的一個環(huán)節(jié),給大家推薦一份大佬的刷題筆記:點(diǎn)擊查看主頁或者簡信留言作者免費(fèi)的哦

學(xué)習(xí)的路上很孤單也挺累,但發(fā)工資的那一刻,真香!

大家加油!同時也求個贊(/≧▽≦/)

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

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

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