小白學習測試,多久能學會?

用戶1668263581768


你好,我一個經受住六年磨練的程序猿,很高興回答你的問題。

首先我們先了解一下什麼是軟件測試:

軟件測試(Software Testing),描述一種用來促進鑑定軟件的正確性、完整性、安全性和質量的過程。換句話說,軟件測試是一種實際輸出與預期輸出之間的審核或者比較過程。軟件測試的經典定義是:在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟件質量,並對其是否能滿足設計要求進行評估的過程。

那學習軟件測試從哪裡入手呢?

我認為分為初級階段是很容易的,向我們公司的測試人員,首先是瞭解項目的業務流程,然後就是一通點點點,找到不合理,崩潰等bug。其實這就是最基礎的測試,但是這也是最初級的階段。


  • 初級階段需要掌握四個方面的內容:

一、軟件測試的基礎知識,編寫測試文檔

二、掌握禪道、SVN等必要工具

三、web測試與app測試的方式方法與協議

  • 中級階段需要掌握以下方面的內容:

一、自動化工具、性能工具等的環境搭建以及使用(QTP、loadrunner、jmeter等)

二、app/web性能測試

三、fiddler抓包工具的操作使用、Jenkins自動化部署工具

  • 高級階段就不是一兩句能說完的了,需要時間和經驗的積累例如:

    一、業務分析能力

    1.分析被測業務數據

    瞭解整個業務裡面所需的數據有哪些?瞭解我們用戶群體的數據等等

    2.分析被測系統架構

    用什麼語言開發的?用的是什麼服務器?測試它的話需要用什麼樣的環境進行測試?整體的測試環境是什麼樣的?

    3.分析被測業務模塊

    整個軟件有哪些模塊,比如說首頁面、註冊頁面、登錄頁面等

    4.分析測試完成目標

    我的性能和功能目標是什麼樣的?比如整體的業務流程都跑通,UI界面沒有問題是否有很好的用戶體驗,兼容性沒有問題等

    二、缺陷洞察能力

    1.一般缺陷的發現能力

    發現軟件的缺陷並提出意見和建議等

    2.隱性問題的發現能力

    在測試過程當中有一些很難發現的問題,例如性能方面或事功能方面的問題,它需要特定的條件下出現。對於這樣的問題的發現能力一定要有,要找到一些別人可能發現不了的bug。

    3.發現連帶問題的能力

    當發現了一個問題之後,通過這個問題發現連帶的問題。而不是說發現這一個bug之後提了這一個就算完了,一定要了解可能其他地方也存在這樣的問題。

    總結:說到底軟件測試這個行業是一個入門簡單,但是想要進階高級層次也不是一件容易的事。需要你的不斷學習,不斷積累。需要你掌握的東西其實很多,方面很廣。需要你瞭解每一個項目的各個業務流程,可能有時候比程序猿瞭解的還要深刻,這樣你才能成為一個好的測試人員。不過只要你肯努力堅持就一定會成功的,多說一句:“一個好的測試人員工資待遇還是很可觀的”。 祝你成功。


I偉


說實話,初級測試學習和入行門檻都是很低的,知道學習路線,以及怎麼學之後自學是完全可以的,所以,今天就來和大家探討一下這個問題。

瀏覽了拉勾網,boss直聘上目前關於初級測試工程師的招聘JD,以及薪水待遇等信息。以上海為例,工作經驗在兩年之內,薪水待遇在7k-12k之間都可定義為初級軟件測試工程師。

當然有些名校的計算機大佬,一畢業就入職大廠,拿到十幾K的起薪,分分鐘走上人生巔峰,不在討論之列。小牛也認識不少,一般是入職測試開發工程師,需要經過層層面試,競爭也非常激烈。

那作為一名剛剛要畢業的或者要轉行的零基礎小白,要掌握哪些技能,才能找到一份像樣的軟件測試工作以及勝任呢?首先,要了解到IT行業目前的一個現狀,就是面試造航母,工作擰螺絲。

對於日常工作來說,作為一名初級測試,做功能測試,俗稱點點點。只要掌握從需求分析到上線整個測試流程,以及會編寫測試用例。就足矣應付日常工作了,有人帶的話一個月時間絕對夠了.....

然而,最大的問題還是你怎麼得到入行的機會,就是你首先要踏入這個行業,才能謀發展。而面試對技能的要求要遠遠高於工作。

下面就來逐個簡單聊一下初級測試面試你要掌握的技能,以及日常工作分別有什麼用途......

測試基礎理論:你要明白一家互聯網公司各個崗位是做什麼的,主要是前端,後端,產品經理.....以及一個版本迭代從需求分析到上線整個測試流程以及使用的管理工具。要掌握測試用例的編寫方法與技巧......

功能測試:主要分為app測試,web測試和接口測試。主要就是接口測試,你要學會使用兩個工具,一個是postman用來調接口,一個是fiddler用來抓包定位bug。學好接口測試也是為以後的性能壓測學習打下基礎。

數據庫:首學mysql,主要掌握sql語句,增刪查改,嵌套子查詢,多表查詢。加分項會存儲過程,懂索引,事務,sql優化。這些初級不強求。工作中使用最多的是查詢和修改語句,主要校驗前端的傳值以及不同系統接口調用數據傳輸,存值是否正確。

linux:會linux基本命令,比如linux三劍客等,會用命令查日誌,會搭建測試環境。因為絕大多數公司服務器以及代碼都是部署在linux系統上,工作中用的最多的就是查詢日誌,定位bug。

網絡協議:會http/https協議,高頻面試題目接口請求的方式get與post區別,cookie與session機制區別,三次揮手四次斷開,輸入百度網址發生了什麼?這些都要了解。

版本控制工具:主要就是git和svn,git是命令行式,svn是圖形化界面,企業主要用來管理代碼以及文檔等,屬於工具使用,比較簡單,最好都會。

編程語言:java/python之一,初級對編程語言要求不高,不會也可,但是是加分項,最好掌握一些基礎語法,比如學完javase,能手寫實現冒泡排序或其它排序,很加分。

自動化:主要分為Web自動化,App自動化,接口自動化。初級要求不高,知道一些框架即可,如果學習請優先學習接口自動化,目前需求最多。加分項是會使用搭好的框架編寫自動化case,腳本等。

性能測試:初級沒要求,加分項會使用jmeter做接口壓測,併發測試等

以上羅列的技能基本就是要轉行成為一名初級軟件測試需要學習掌握的技能,1到6是必學項,決定了企業會不會要你。7到9是加分項,決定了薪水你能談多高,當然會的技能越多越好,但是至少面試之前把基本的東西請先掌握好,不要浪費面試機會。


極科技geek


軟件測試對學歷的要求不高,軟件測試課程一般都從零基礎講起,能夠讓大部分人都學會。如果真的需要一定基礎的話,那就是基本的操作電腦的能力,相信幾乎每個人都具備。

另外軟件測試分為手工測試和自動化測試兩個方向的,手工測試又分為功能測試、性能測試、接口測試等。手工測試並不需要寫代碼,只需要用測試工具點擊進行測試即可。哪個方向掌握得好,從事哪個方向的測試工作就可以,並不需要掌握所有測試方向的技能。自動化測試可能需要藉助代碼來編寫一些腳本,但如果你不做自動化測試的話,代碼也不是必備技能。

所以軟件測試的就業面可謂十分寬廣,有開發的地方就有測試。在這些測試方向中,還會分行業,比如金融測試、安全測試等等。如果你有相關的行業知識那就更好了,這樣你的薪資會比一般的測試工程師更高。

由此可見,軟件測試並不難,不管你之前的基礎如何,只要你在好的培訓機構,按部就班地認真學習,找到一份滿意的工作是完全能實現的。四川優就業軟件測試培訓大體上分為面授課和網課,軟件測試面授課又分為全日制面授課和週末面授課。全日制面授課是週一到週五上課,適合在家待業的人學習,大概要學4個月左右,不過有的機構會包食宿,所以不用擔心花費問題。全日制課程會從零教授,學習功能測試、自動化測試、性能測試、接口測試。週末面授課是六日上課,適合工作或者上學的人,在不耽誤本職工作和學習的情況下上課、精進。週末班分為基礎班和提高班,基礎班學習功能測試,大概要2個月的時間,提高班則學習自動化測試、性能測試和接口測試,大概要學習3.5個月的時間。如果基礎班和提高班一起學習的話,總時長要將近5.5個月。如果你只想隨便學學的話,可能並不需要這麼久,但是如果想學好、學紮實的話肯定需要四五個月的時間。

就業方向

軟件測試工程師、APP測試工程師...

中國軟件業每年新增約20萬測試崗位就業機會,而企業、學校培養出的測試人才卻不足需求量的1/10,這種測試人才需求與供給間的差距仍在拉大。加油吧,抓住機遇。


分享到:


相關文章: