<output id="uabzf"></output>
<code id="uabzf"><ol id="uabzf"></ol></code>

        1. 關于我們
          TEACHER
          老師介紹
          李永飛
          學掌門認證講師
          從測試一路走向性能工具開發的專項測試,無論你是0基礎的測試人員,還是后續想突破年入30萬,跟緊我的教學課程,都能輕松助你實現夢想。
          Carl_奕然
          資深測試開發專家、51Testing認證講師
          曾混跡于Sony(JP)、Al等企業,現就職于世界Top 200知名公司,擁有10余年互聯網開發及測試開發經驗,專注于Python領域、性能/全鏈路壓測領域、自動化(WebUI、APP、接口)領域,面試培訓方面創作。
          INTERVIEW
          專訪
          (回答順序根據老師姓名首字母排列)
          51Testing
          目前及未來幾年中,相較于其他測試崗位,性能測試崗位的需求量如何?
          李永飛老師

          當前受疫情影響,互聯網行業盈利困難,以往的持續快速增長變得不可持續,這個狀態可能會持續數年,直到疫情能完全被控制住。我們現在能感知到各行業的賺錢困難,互聯網企業也不例外,會同時影響到測試行業,會對測試工程師的崗位要求更高,性能測試,測試開發(自動化測試)等會成為測試工程師的必備技能,因此性能測試崗位未來的需求肯定會比以往更多,更大。除了一部分新生行業(區塊鏈、自動駕駛等)衍生出的新崗位需求外,還有大量崗位是普通測試工程師要求具備性能測試技能的場景。

          奕然老師

          從當前IT行業中,性能測試在整個測試領域中的需求量還蠻大的,尤其各個企業,對高級性能測試工程師的需求,都是求賢如渴的狀態。并且,性能測試工程師的薪資也是上漲的趨勢。

          51Testing
          一般企業中是否會配備專門的性能測試工程師崗位,如果沒有,一般是什么崗位兼任?如果有,那么做專項性能測試的人員,企業一般用人的要求是什么?需要掌握哪些知識體系?
          李永飛老師

          現在企業按cpu、帶寬流量收費,然后互聯網人群瞬間并發壓力大,一般中小型公司,都會要求軟件項目有做系統的性能測試。但是是否配備專門的性能測試崗位要看公司的具體情況,一般來說,有6-8人的測試團隊,至少會配備一名專門的性能測試人員,反正可能是兼職崗位,一般由資深的測試工程師兼任,或開發自己完成。專職性能測試工程師要掌握的要求技能不算高,屬于入門門檻較低的崗位(相比于測試去做自動化、測試開發等崗位)。具備性能測試工程師經驗能力,首先你要掌握理解性能測試的概念,然后你要會熟練使用一種壓測工具(能滿足需求即可,可以是Loadrunner、Jmeter等,甚至是自研的都可以)

          然后工具會用后相當于能完成性能測試壓力模擬,后面就可以分層了,初中級性能工程師,只需要將性能測試結果整理匯報出來即可,可以和開發一起分析結果,資深一點的,針對不同場景數據問題,可以分析的更透徹一點,不影響性能測試的執行。

          奕然老師

          這是一個好問題,也是一個很”深奧”的問題。

          當前的企業,針對性能工程師崗位,分為兩類: ① 大企業有專門的性能測試工程師:專門負責企業產品的性能測試。 ② 小企業/初創公司:沒有專門的性能測試工程師,都是測試工程師來兼職做產品的性能測試。 這就導致了一個問題: 非專職/專業的人來做專職的事情,必定會得到不專業的結果。

          我們都知道,用戶是否喜歡用這個產品,除了產品的操作功能是否簡單、界面視覺是否好看外, 最重要其中一點就是響應時間。

          響應時間的快慢,不僅體現在代碼上,還有數據庫、服務器、緩存、隊列,甚至與整個架構的合理性等。

          所以,專項性能測試的人員需要掌握的技能,我給分為三類:

          ① 性能基礎:性能基礎知識,TPS,QPS,ResponseTime,吞吐量,并發度,并發用戶等;

          ② 技術棧:架構流程、開發語言(java)、數據庫(MySQL/MOngoDB)、緩存(Redis)、操作系統(CentOS)、監控(Promethues)、中間件(Tomcat)、隊列(Kafka)…

          ③ 業務需求:任何性能腳本的設計,都是來源于業務方/運維方的需求。

          這也是側面反映出,為什么大企業對高級性能測試工程師的求賢如渴。

          51Testing
          很多企業在招自動化測試工程師時,要具備性能測試能力,這個能力要求與性能測試崗位對于人員的要求有什么區別?
          李永飛老師

          具備性能測試能力,就是這個公司可能沒有專門配備性能測試工程師,但是還是有一些業務場景是需要做性能壓測執行的(需要由專業的性能測試工程師完成),這個能力簡單說就是你只要掌握壓測工具的使用、結果的匯總報告即可,性能測試崗相當于是專職的性能測試人員,要求會更多一些,多的這部分,他并不一定具備很高的開發水平,多出的這部分,是他的測試數據匯總分析,問題定位這部分(當然,基本的壓測場景腳本能做出來,這個也是比較初級的要求)。

          奕然老師

          首先,針對企業來說,想要招來的員工都是全棧測試開發工程師;但是,現實總是相反的。

          招聘自動化測試,同時兼顧性能測試:也就是說,這個性能測試不是主要的,但是,又要了解一點性能測試的基礎知識,例如:什么是TPS、吞吐量、響應時間、并發等。有沒有在項目中實踐,以及項目的規模,最后的性能測試結果,都不是很重要。

          主要招聘性能測試工程師:這對應聘者的要求就很高了,需要具備的能力,

          ① 知識儲備:一定是我上面說的那些技能(至少包含70%~80%);

          ② 性能分析:只會設計腳本,不會性能分析的工程師,不能獨當一面;

          ③ 實戰經驗:沒有實戰經驗,再多的理論都白搭;

          ④ 流量/產品影響力:性能測試,流量為王。

          51Testing
          在公司中做性能測試,是怎樣的流程,需要哪些部門的配合?
          李永飛老師

          在公司做性能測試,看公司具體情況,如果系統完全在內網,服務器都是相對獨立的,對帶寬、硬件資源沒有特殊要求,可能沒有太多流程,直接測試即可。

          如果公司硬件服務器同時部署了多個跨部門服務,應用軟件有外網交互,這些就可能需要具體分析,找出對外的影響點,因為性能測試對帶寬、硬件開銷是比較大的,需要較平時使用占用更多的資源,需要提前對這些資源的主管部門進行報備,詢問壓測影響(時間段),一般是和運維部門溝通壓測事項。

          然后至于基本的測試數據制造這些,一般由測試人員自己完成,不熟悉系統的,需要對應開發進行配合完成。

          奕然老師

          性能測試上到老板,下到員工,橫跨 產品、架構、開發、測試、運維 整個部門都需要配合。

          因為涉及到跨部門合作,所以,性能測試的流程一定是規范的,詳細的,但是又稍微的”繁瑣”的,具體流程如下:

          業務學習→需求分析→工作評估→性能模型→性能方案→評審→準備環境/設計腳本→性能監控→執行測試→調優/缺陷管理→分析問題→解決/驗證問題→性能報告/結果。

          51Testing
          測試過程中,發現性能瓶頸時,如果做性能定位,需要具備哪些知識儲備?
          李永飛老師

          發現性能瓶頸時,總體來說,要能分析出來瓶頸在哪個位置,這個位置越詳細越好。

          舉例子,系統瓶頸,要能區分是應用瓶頸,還是數據庫瓶頸。數據庫瓶頸,是在應用數據庫,還是緩存數據庫,應用數據庫瓶頸,是哪個操作,哪個SQL引起,能做到區分到這些,你基本上就是一個符合一名中級性能測試工程師水平了。

          如果還能進一步分析到具體原因,舉例子,應用瓶頸,是哪個應用(一般性能壓測,一個系統可能由數10個應用提供服務)。

          要做到這些,一般來說要了解整個系統的運行部署架構,同時了解系統的開發語言和依賴中間件,還有配套DB。了解系統業務業務場景的執行,會做哪些事情,比如點擊登錄,前端會將用戶賬號密碼發給web服務器,web服務器會將賬號密碼發給應用服務器,應用服務器會執行登錄邏輯,去對應db檢索用戶信息,要能了解這個流程,同時能掌握對應系統的開發語言則更優。然后掌握一些常用的Linux系統瓶頸定位,數據庫瓶頸定位,這些是必須的,也是比較容易的(比如系統CPU、IO高,交換分區內存不足等常見問題分析定位)

          奕然老師

          測試過程中,如果會做性能定位,這是拉開性能測試等級的一個分界點,性能定位分析需要具備能力:

          ①業務壓力場景;

          ②系統架構流程;

          ③服務部署流程;

          ④監控服務:應用、緩存、數據庫、日志監控等;

          ⑤操作系統(CentOS);

          ⑥數據庫;

          ⑦開發語言:java/C/Python/Go等。

          51Testing
          有人說性能調優是開發做的,那測試人員在性能測試過程中需要承擔哪些工作?
          李永飛老師

          所有最終性能問題,都是開發解決,這個固然沒錯。但是舉例子,如果一個性能測試工程師能快速指出性能問題所在,把問題點直接拋出來的時候,你給別人的感覺是不是不一樣。舉例子壓測出現性能瓶頸,經過你分析,你指出是某個SQL慢引起,經過排查,是某個表的查詢沒有命中索引導致,你能發出這個結果到群里,和你只能發出有性能瓶頸的結果,哪個對你的升職加薪更有利一目了然。

          所以我們測試工程師還是要提高技術水平,在做性能測試時,能給更多更專業的測試結果,對你自身的工作加薪升職幫助是很大的。

          奕然老師

          在整個系統鏈路中,涉及到代碼級/架構級,就需要開發同學來調試; 但是,涉及到網絡、資源配置、操作系統、數據庫等問題,可能就需要運維、DBA等人員參與; 當然,在整個調優過程中,測試人員需要:確定問題瓶頸,協助開發定位分析、以及驗證調優結果。

          貫穿到整個性能流程,測試人員需要承擔的工作:業務學習,需求理解(業務級/架構級),方案設計、策略制定、性能模型設計、腳本設計、數據準備、腳本執行、瓶頸定位及分析、驗證調優的結果、測試報告編寫及風險預估。

          51Testing
          “全鏈路性能測試” 是性能測試領域的新名詞嗎?它和傳統意義上的性能測試有什么區別,是否能從測試場景,測試技術等相關方面給我們普及一下?
          李永飛老師

          可以算是個性能測試名詞,和傳統意義的性能測試沒有區別,全鏈路說通俗點就是全面場景的性能測試,就是完整的業務場景的性能測試(不在是某個單一的接口壓測,或者單一的功能壓測),這個全,是指要業務功能場景要覆蓋全,這樣能更真實的模擬用戶對系統的實際壓力,能看出整個業務運行時,所有相關依賴系統的壓力。至于測試方法,和普通性能測試沒有差別,主要就是場景疊加要全,注意這一點滿足需求即可。

          奕然老師

          “全鏈路性能測試”從概念提出到落地實踐,也有些年了,也被業界稱為 “核武器”。但是,真正能做起來的,也就是屈指可數的那些大廠了。

          相比于傳統性能測試,全鏈路壓測主要是在線上進行,并不是說全鏈路性能測試不能在線下做,只是在綜合考量后,線下做的價值并不高。 在這,也例舉幾個不同點:

          業務項 全鏈路性能測試 傳統性能測試
          業務流程改造 必須要做 不需要
          流量平臺搭建 必須要做 不需要
          基礎數據改造 必須要做 不需要
          壓力流量改造 必須要做 不需要
          51Testing
          手工測試人員如果想往性能測試方向轉型,對于這些人來說,如何相對快速且有效地入行性能測試,需要具備哪些基礎技能、掌握哪些工具等,這方面,您有什么好的建議嗎?
          李永飛老師

          之前我有相關視頻課,介紹普通測試人員,如何向專項測試工程師轉型(點擊鏈接可直達 ),性能測試相對來說是入門門檻較低。對編程技術沒有太高的要求,能掌握基本的壓測工具使用,理解接口,和掌握接口壓測腳本開發即可,這塊可以參考一些性能測試入門的基本課程即可。

          奕然老師

          有幾點可以參考,也是根據初級→中級→高級路線來規劃的:

          (1) 知識儲備:

          ① 掌握性能基礎知識:TPS、QPS、響應時間、吞吐量;

          ② 學習Linux系統,如:各種操作命令,IO/Disk/CPU/Mem/Network等知識;

          ③ 學習性能測試工具的使用:Jmeter、LoadRunner、Locust等等;

          ④ 學習MySQL/MongoDB/Redis/Tomcat等知識及操作;

          ⑤ 學習各個應用服務:數據庫應用,Java應用,緩存應用

          ⑥ 學習性能模型,方案設計;

          (2) 項目實戰: 最快的成長方式,就是在項目中歷練自己,所以,如果有項目讓你參與,一定要去。

          (3) 網站學習: 有專業的老師講解,會讓你在學習過程中躲避很多坑,達到事半功倍的效果。

          51Testing
          什么行業對于性能測試要求比較高,不同行業性能測試技術有什么差別?
          李永飛老師

          一般來說,企業人數達到一定規模,測試人員數量大于10個以上,這時候可能會需要一名或多名專職性能測試工程師。性能測試相對于其他專項測試工程師不同,技術上來說它是通吃的,無論你是什么行業,你掌握了性能測試,都能適應。說簡單點,無論你的后臺服務是go,還是java,還是。Net,或者公司是互聯網、或者是區塊鏈,都不影響你的性能測試執行,因為你只需要掌握最基本的目標,就是模擬大量客戶端訪問對應服務端,產生真實壓力即可,無需關注其他。

          這也是性能測試是入門門檻低,適用性廣的原因,不像自動化,可能有api自動化、gui自動化、還有安卓和ios,每個都不一樣,都夠你折騰研究好幾年。

          奕然老師

          互聯網行業對性能測試的要求相對較高,尤其大廠的產品:手淘、京東、美團、拼多多等; 不同行業,對性能技術的差別主要體現在:

          ①技術棧能力:讀代碼,編寫性能腳本,搭建服務,監控服務,優化等;

          ②負載測試、容量測試、異常場景測試、穩定性測試。

          51Testing
          性能測試工程師的未來發展,可以往什么技能或者崗位晉升?
          李永飛老師

          測試工程師向上的發展空間,無外乎2條路,測試技術專家,或測試管理。 測試管理,一般也都是會從測試人員中挑選更多測試經驗的同事,性能測試工程師一般來說晉升測試管理崗位,優勢會比普通工程師更大,畢竟掌握了一門專項測試技能。

          因此,相比較普通工程師而已,性能測試工程師的晉升發展空間就大很多了,既可以做測試技術專家,也可以做測試管理崗位,畢竟你是具備較高測試專業技能的。 然后性能測試做多了,精通了,慢慢轉型測試開發(或開發),也不是沒有這個可能,總之得行動起來,嘗試起來。

          奕然老師

          性能測試工程師的未來發展方向,可以分為三個:業務路線、技術路線、管理路線。

          業務路線:有QA經理、業務專家、產品經理、行業咨詢專家等;

          技術路線:自動化測試工程師,性能工程師,測試開發全棧工程師,性能培訓講師;

          管理路線:測試開發主管,測試開發經理,測試開發總監。

          EXTENSION
          擴展閱讀

          看過本次專題后,小伙伴們對性能測試有新的認識了么?還有什么想要補充的知識或是有什么問題都可以在下方評論區交流~

          有關性能測試工程師的現狀,在51Testing軟件測試2022軟件測試行業現狀調查問卷中也有體現,感興趣的小伙伴,戳這里參與調查,還有禮品贈送哦~

          另外,不知道大家還想看哪方面的知識或技術?又或者有哪位大佬有擅長的技術想要迫不及待分享給大家呢?可以微信添加or掃描二維碼聯系我們哦~

          COMMENT
          評論
          明星乱亚洲合成图com|国产真实破苞视|日本a级不打码按摩片|一本通中文字幕亚洲欧美
          <output id="uabzf"></output>
          <code id="uabzf"><ol id="uabzf"></ol></code>