零基礎如何入門Web效能測試?彙總15個常見問題,集中答疑一波

博為峰網校發表於2019-08-20

1、目前正在研究jmeter,請問初期做效能,應先從幾點做起?

Jmeter和LR都是目前效能測試的首選工具,如果你有LR的學習背景,那麼Jmeter上手會很快,重點理解執行緒和程式的概念,流程和LR是類似的。如果沒有,從入門的角度我建議先了解常用網路協議和作業系統執行緒和程式的概念,Jmeter用java比較理想,可以考慮瞭解一些程式設計基礎。PS:其實用Jmeter先學習介面測試會更好理解效能。

零基礎如何入門Web效能測試?彙總15個常見問題,集中答疑一波

2、請問零基礎,計算機硬體專職業轉行到這個行業,需要準備哪些?

計算機硬體已經具備了基礎的計算機知識,要轉軟體是相對容易的,可以考慮從如下維度準備:

1)先準備自己拿手的網路和作業系統部分,網路主要是應用層協議,為效能和介面測試做鋪墊,作業系統主要是為了搭建測試環境

2)建議熟悉一種程式語言,java或者Python都是首選語言,不需要精通,至少要能夠進行簡單的指令碼編寫

3)找一本介紹全面的專業的軟體測試書籍精讀,一定是精讀。

4)如果可能最好找專案練手,從功能測試開始

3、目前做介面測試,進階的時候還是會茫然,希望您能給點建議,另外您在做管理的時候,對員工一般是持什麼態度,或者說姿態呢?如何培養,如何相處,如何分配任務,控制專案進度,質量?

這問題好大,我挑些重點說:

1)介面測試實際上是協議的測試,建議你從網路協議入手,這樣才能做好介面測試

2)至於測試管理工作我認為因人而異,有些人天生強勢,但有些偏平和,最關鍵的還是自身實力,如果自己不夠強,一句俗話叫做將熊熊一窩就是這個理,姿態不重要,實體才重要。

3)至於培養,相處,分配任務這些是管理細則,總的思路是用其所長補其所短,人無完人,而且大多數都會覺得自己比領導牛B,讓每位員工發揮最大價值,有成就感比較重要。

4)控制專案進度和質量  這個是方法問題,有很多方法可以控制,例如:測試版本控制,缺陷分析等手段,可以參考一下軟體工程,敏捷過程等方面的資料。希望對你有所幫助

4、用Loadrunner做壓測,響應時間比實際要高很多,用LR做壓測,平均響應時間幾十秒鐘,實際手動開啟連結1秒不到,差距很大,請問有哪些原因會導致這個問題呢?

比如下圖,vuser才十幾個,響應時間就十幾秒了,但是實際上的體驗還是很快,如何解決?

初步猜測應該是響應時間的設定不當導致的,舉例說明:你要錄製登入指令碼,並記錄登入的響應時間,你在LR的指令碼中插入了事務函式(注意是一組函式),結果得到的響應時間是5s,但實際登入你感覺不到1s,那麼可能是你的函式位置不對,包含了輸入使用者名稱和密碼的時間,也可能是你的響應時間函式內包含了思考時間。前者你需要調整事務的位置;後者你需要在run time setting中排除掉思考時間。供參考

5、請教一下怎麼樣去抓程式的頁面元素啊? 像Selenium web那樣 抓頁面的元素?有什麼好的工具或者方法?

如果只是想抓取頁面元素,推薦Chrome Developer tools,在Elements下檢視。如果是為了自動化測試,除了selenium也可以考慮QTP(ALM)

6、請問軟體疲勞測試應該怎麼做?

一般是做壓力測試,壓測依據專案和業務的不同都會有所差異,推薦三種,一種是4H峰值壓力的80% ;一種是24H,壓力量可以控制在60%70%,還有一種是7*24小時(有的是一直持續50%的壓力,有的是按時間波動壓力值進行測試)

7、對B/S系統做壓力測試前需要做哪些準備?如何客觀的去分析一個系統?壓力測試工具以前只接觸過 Loadrunner,所以打算用Loadrunner,不太熟,裡面的需要做的系統指標的設定看起來很麻煩,不知怎麼去分析系統。還有就是做壓力測試前除了選擇熟悉工具之外,我還需要做寫什麼呢?

你的問題很難一兩句話說清楚,對於前期準備工作,只能談談我在效能測試專案中的拙見:

1)先對需求進行初步分析,確定哪些環節需要效能測試,也就是對於你們系統來說壓力最大的點在哪裡

2)看現有資源,提前做好環境的準備工作,最好測試環境和生產環境1:1(實在做不到也要儘量接近,這點很重要,不然你要做等比換算 )

3)看被測系統使用的協議以及作業系統和應用伺服器等各類配置,選擇匹配的測試工具(多數WEB系統LR是可以應對的)

4)看時間,大多數情況下效能測試的時間並不充裕,需要抓重點優先測試。

8、如何取捨Loadrunner和Jmeter?

全看心情,玩笑哈~~如果從學習入門的角度就看程式碼和網路基礎,如果程式碼和網路基礎還不錯直接用Jmeter入門就好,反之用LR入門更好。如果從企業應用的角度就看哪種更合適,對被測系統支援的更好。

工具只是形式,理解效能測試的基本原理用什麼工具都可以的。

9、對Java頻繁GC怎麼定位問題?

請嘗試用profiler尋找記憶體異常,例如短時間過多的物件建立,或者較大的物件建立。

10、我想實現50個使用者併發上班打卡簽到,引數化、迭代已設,然後,在簽到函式前面新增了集合點函式,執行結果發現,使用者簽到後返回的簽到時間是一分鐘一個,並沒有在同一個時間點進行簽到!請教這是為什麼?如何解決?

先去掉集合點試試看呢?同時啟動50個使用者並行(不設定集合點也可以實現併發操作的),如果還是持續一分鐘,那請你檢查事務時間和思考時間,事務時間是需要你手動配置的,思考時間預設是啟動狀態,你可以在Runtime Setting中檢視一下,有可能你最終得到的1分鐘是整個指令碼執行一次的時間或者是包含了思考時間的結果,不是同時打卡的時間。

11、請問電商秒殺產品是如何測試的?

和其他產品的測試沒有太大區別,主要是對時間點的要求比較高,可以考慮在效能測試指令碼中使用集合點函式實現同一秒鐘的併發。

12、壓力測試和效能測試一樣嗎?

分類方法各有不同,沒有定論,普遍來講效能測試是對這類測試的統稱。我傾向於下面的分類方式

效能測試(狹義)——效能測試方法是在特定的執行環境下,透過模擬生產執行的業務壓力量和使用場景組合,測試系統的效能是否滿足生產效能要求。

基準測試——在一定的軟體,硬體和網路環境下,模擬一定數量的使用者執行一種或多種業務,將測試結果作為基線資料,供後續測試活動參考。

負載測試——透過在被測系統上不斷加壓,直到效能指標達到極限,例如“響應時間”超過預定指標或某種資源已經達到飽和狀態。

壓力測試——壓力測試也稱為強度測試,主要測試系統在一定飽和狀態下,例如cpu、記憶體在飽和使用情況下,系統能夠處理的會話能力,以及系統是否會出現錯誤。PS:在極限值80%左右的情況下持續執行一段時間(2~4小時)

配置測試——配置測試方法透過對被測系統的軟\硬體環境的調整,瞭解各種不同對系統的效能影響的程度,從而找到系統各項資源的最優分配原則。

可靠性測試——在系統載入一定業務壓力的情況下,使系統執行一段時間,以此檢測系統是否穩定。

併發測試——併發測試方法透過模擬使用者併發訪問,測試多使用者併發訪問同一個應用、同一個模組或者資料記錄時是否存在死鎖或其者他效能問題。

PS:分類其實不那麼重要,在實際專案中往往都是混合應用的

13、Web效能測試除了併發登陸以外,還有哪些比較常見的測試場景?

場景取決於業務,例如你是電商網站,你肯定要測試同時下訂單的情況? ?;如果你是醫院掛號網站,你肯定要測試多人搶一個醫生的號源;如果你是銀行系統,要考慮多人同時取款吧?

14、一般網站壓力多大百萬使用者?

這要看計算方式,理論值100萬/天的業務訪問量  拆分到每秒鐘是非常少的;但這不符合實際情況。

如果系統已上線,直接取線上資料做參考即可,一天中的峰值有幾個,峰值時段分佈情況可以推算出併發使用者量;

如果系統未上線,可以利用2/8原則,80%使用者集中在20%的時段,推匯出業務訪問量

15、目前遇到一個問題,在一臺配置為8g,i3的win7系統執行壓力測試,併發總是上不去,總是在140左右就會出現異常,超時等問題,請問如何分析呢,是因為伺服器還是電腦的問題?

伺服器壓力上不去可以從如下維度分析:

網路流量是否有限制、

資料庫/應用伺服器是否報了異常,如果有請檢視一下日誌;

檢視作業系統的資源監控情況,CPU佔用率如何,是否達到了100%

程式碼方面是否存在效能問題,可以在大併發訪問的時候手動訪問系統,看看業務上有無異常。

PS:效能瓶頸分析和定位需要一個積累的過程,要學會看一些基礎指標,提升編碼能力,理解軟體架構。

加我VX:ww-51testing   回覆關鍵詞“測試”領取限量軟體測試學習資料哦~~

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2654327/,如需轉載,請註明出處,否則將追究法律責任。

相關文章