{eval=Array;=+count(Array);}
從零開始學習軟件測試,有兩條路:自學和培訓班。在這里不推薦自學,首先是學習軟件測試還是需要一定的堅持和理解力的,但是現(xiàn)在很多人工作就很忙, 沒有時間和精力去字形研究;培訓機構(gòu)有專業(yè)老師,同時還會有非常多跟你經(jīng)歷差不多的人一起學習,方便交流心得。
很多人不相信培訓機構(gòu),覺得就是騙錢的,誤人子弟!我相信這樣的機構(gòu)絕對有,可能還不少,但是有時候自學吧,消耗的時間比較長,如果沒有基礎(chǔ)的話,想要自學也是比較難的,現(xiàn)在網(wǎng)上的軟件測試資料也比較多, 需要自己去識別哪些是自己要學習的, 不然很容易陷入迷茫。
培訓機構(gòu) 在這方面還是有一定優(yōu)勢的:學習時間相對較短,整體學習比較全面,學習內(nèi)容也比較集中。而且有老師給指導(dǎo),學習的范圍也是目前行業(yè)的熱門技術(shù),學習更有針對性,轉(zhuǎn)行的 效率更高。
所以選擇專業(yè)正規(guī)的培訓機構(gòu)學習還是可以滴,在挑選培訓機構(gòu)上,要注意這幾點:
想學軟件測試,有豐富工作經(jīng)驗的,不脫離社會工作要求的老師會比較好,這樣就可以了解現(xiàn)在工作的方向,去針對性教學。
現(xiàn)在有很多機構(gòu)確實是騙錢機構(gòu),所以一定要事先了解一下機構(gòu)的專業(yè)性,有沒有聯(lián)系老師,聯(lián)系群,會不會隨時跟進,如果是付了錢就消失的,一定要繞開。
很多人的基礎(chǔ)和學習目的都不同,所以說那種把所有學員都安排在一起的肯定不專業(yè),可以去了解一下機構(gòu)的課程管理,找到自己想學的,這樣就萬無一失啦~
找到合適的培訓機構(gòu)之后,其實事情就簡單很多啦,你就可以去跟機構(gòu)溝通,你目前是什么處境,想要達到什么樣的成果,像我們檸檬班有全程班和速成班,還會根據(jù)學習的方向不同分為Python班,Java班等等,課程非常多分類,在選擇課程的時候可以多和班主任溝通,選擇之后,就跟著老師學就好啦~
如果需要軟件測試視頻干貨學習資料的,可以私聊我免費獲取哦~
對于很多零基礎(chǔ)的朋友想要入行軟件測試,但卻無從下手,這里我抽空和大家簡單說下:零基礎(chǔ)同學,應(yīng)該怎樣去學習軟件測試
常規(guī)來說,學習軟件測試有2條路可以選。
如果你自控能力相對來說不是很強,并且處于畢業(yè)需要找工作階段的話,那么最省事的當然是找個靠譜的培訓機構(gòu)去培訓啦,那樣的話,你就只需要跟著培訓結(jié)構(gòu)認真的學習就行了。
當然,這里我們講的是,怎么去自學軟件測試,畢竟相對來說軟件測試的門檻還真挺低的。
第一階段 測試基礎(chǔ)
只要你是做測試,不管是什么測試,測試的基礎(chǔ)、理論知識都是必須學會的,所以說測試基礎(chǔ)是軟件測試最基礎(chǔ)也最最最重要的一部分了。
而學習的程度并不是說理解就可以了,最好是能夠用自己的話給復(fù)述出來。
那測試基礎(chǔ)有哪些內(nèi)容呢?
測試的定義、測試的分類、測試的方法、測試的生命周期。
測試計劃、測試方案、測試策略、測試用例的編寫。
BUG的定義、BUG的分類、BUG的六要素、BUG的生命周期。
測試和開發(fā)流程的關(guān)系、瀑布流、V字形、W字型(雙V)、螺旋型、敏捷等等。
PDCA、5W2H等分析管理的方法
質(zhì)量管理體系CMMI(了解)
以上就是大概的內(nèi)容,只要你肯背、肯寫,都是能獨立的掌握的。
第二階段 工具學習
軟件測試的基礎(chǔ)學完了過后,應(yīng)該學習工具了。
其實學工具真的很容易,所以大家不用去糾結(jié)工具的選擇。
把最基礎(chǔ)的幾個工具學習了就行了,以后用到什么工具再去學什么工具就可以了。
下面我會列幾個必學的工具,不用太精通,會用就行了。
性能測試工具:loadrunner、jmeter。
接口測試工具:postman
抓包工具:fiddle
數(shù)據(jù)庫管理工具:Navicat
項目/BUG管理工具:禪道、QC
搜索工具: 百度、谷歌
第三階段 代碼學習
如果你已經(jīng)完成以上的兩個部分的學習,那么恭喜你,你已經(jīng)是一名出色的初級測試工程師了。
接下來,你需要考慮你的發(fā)展方向了。
是成為一個自動化測試工程師呢?
還是性能測試工程師呢?
還是安全測試工程師呢?
其實關(guān)于方向的選擇,相信你自己心中已經(jīng)有了答案了,那我們繼續(xù)往下面說。
這個階段,我們應(yīng)該學習代碼了,關(guān)于編程語言的選擇,我推薦Java或者python,當然數(shù)據(jù)庫也是必須掌握的!
自動化方向
等你代碼已經(jīng)基本掌握了,接下來就是要學習各種自動化測試了。
各種單端測試框架:unittest(python)、pytest(python)、JUnit(java)
WEB自動化測試框架:selenium(適用于javapythonjavascript)
APP自動化測試框架:appium(適用于javapythonjavascript)
以上的內(nèi)容,根據(jù)你學的語言進行選擇。
appiunm和selenium根據(jù)你參與的項目進行選擇。
性能方向
對loadrunner和jmeter的掌握更加的深入。
可以手寫腳本、脫離錄制。
學會了多線程編程、能夠手寫java或者python、不用工具直接實現(xiàn)壓測。
學習linux,畢竟性能總是和服務(wù)器打交道的。
學習系統(tǒng)架構(gòu)的相關(guān)知識、方便你更容易的分析系統(tǒng)瓶頸。
說實話、性能方向的提示更難、因為需要掌握的東西太多了。
性能測試做深入了,基本上就是架構(gòu)師的水平了。
可能你現(xiàn)在看著這個性能方向的學習一臉懵逼。
沒關(guān)系、等你把上面的編程語言學會了你就不懵逼了。
安全方向
滲透測試
SQL注入
暴力破解
脫庫
第四階段
經(jīng)過之前三階段的學習之后各位接下來考慮的就應(yīng)該是怎樣寫代碼更合理、怎樣測試會更全面。
上面講的都是教你應(yīng)該怎么做。
而在第四個階段你需要自己去思考為何要這樣做,也就是說這個階段你要學會的是主動學習,
跨過了這個階段就基本上可以成為專家了。
學習都是水到渠成的,在這個時候,你應(yīng)該已經(jīng)掌握了不少框架了,甚至自己也能開發(fā)合適的框架了,已經(jīng)有了屬于自己的一套東西了。
本人已經(jīng)從事軟件測試行業(yè)近10年的時間了,一直在幫助測試小白升職加薪。軟件測試這個行業(yè)其實入門并不難,功能測試階段是完全可以自學的。后面的接口、性能、自動化、數(shù)據(jù)庫、Linux、抓包、協(xié)議這些內(nèi)容的時候,多看看網(wǎng)課。
軟件質(zhì)量
ISO9126中定義的軟件質(zhì)量是:軟件滿足規(guī)定和潛在用戶特求特性的總和,而2001年的軟件國際標準中,把軟件質(zhì)量分成了:內(nèi)部質(zhì)量、外部質(zhì)量、使用質(zhì)量這三個部分。也就是軟件滿足規(guī)定和用戶需求的能力,要從軟件在內(nèi)部、外部和使用中的表現(xiàn)來衡量。
軟件測試與質(zhì)量保證的區(qū)別(QA與Tester區(qū)別)
質(zhì)量保證(QA)是通過預(yù)防、檢查和改進來保證軟件質(zhì)量,即全面的質(zhì)量管理與過程改進來開展質(zhì)量保證工作;軟件測試是執(zhí)行軟件,對開發(fā)文檔和源代碼進行走查,以找出問題,報告質(zhì)量。
按軟件開發(fā)階段劃分
1)單元測試:又稱模塊測試,對程序模塊進行檢驗。
2)集成測試:又稱組裝測試,檢驗程序單元的接口關(guān)系。
3)確認測試:通過檢驗和提供客觀證據(jù),證實軟件是否滿足特定的預(yù)期的用途要求。
4)系統(tǒng)測試:確認系統(tǒng)是否達到目標要求,對集成的硬件,軟件系統(tǒng)進行測試。
5)驗收測試:按照項目任務(wù)書或合同。供需雙方約定的驗收依據(jù)文檔進行的整個系統(tǒng)的測試與評審,決定是否接受或拒絕系統(tǒng)。
按測試的實施組織劃分
1)開發(fā)方測試:又稱驗證測試,或α測試
2)用戶測試:又稱β測試
3)第三方測試:又稱獨立測試
α測試是由一個用戶在開發(fā)環(huán)境下進行的測試,也可以是公司內(nèi)部的用戶在模擬實際操作環(huán)境下進行的測試。α測試的目的是評價軟件產(chǎn)品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持)。尤其注重產(chǎn)品的界面和特色。α測試可以從軟件產(chǎn)品編碼結(jié)束之時開始,或在模塊(子系統(tǒng))測試完成之后開始,也可以在確認測試過程中產(chǎn)品達到一定的穩(wěn)定和可靠程度之后再開始。
β測試是指軟件開發(fā)公司組織各方面的典型用戶在日常工作中實際使用β版本,并要求用戶報告異常情況、提出批評意見,然后軟件開發(fā)公司再對β版本進行改錯和完善
按測試技術(shù)劃分
1)白盒測試:對內(nèi)部結(jié)構(gòu)進行分析,檢測尋找問題。
2)黑盒測試:通過軟件的外部表現(xiàn)來發(fā)現(xiàn)缺陷和錯誤。
3)灰盒測試:介于白盒與黑盒之間,關(guān)注輸出對輸入的正確性;同時也關(guān)注內(nèi)部表現(xiàn),只通過一些表征性的現(xiàn)象、事件、標志來判斷內(nèi)部的運行狀態(tài)。
1)功能測試
功能測試是一個試圖發(fā)現(xiàn)程序與其外部規(guī)格說明之間存在不一致的過程。外部規(guī)格說明是一份從最終用戶的角度對程序行為的精確描述。測試時按照科學方法設(shè)計的測試用例執(zhí)行測試,在優(yōu)先保證測試用例執(zhí)行完全的前提下,再根據(jù)對業(yè)務(wù)的了解和經(jīng)驗性的判斷進行探索性測試。
2)界面測試
界面測試簡稱UI測試,界面為用戶與軟件交互最直接的層,所以更注重用戶的體驗性,主要從用戶的感官、交互、瀏覽、情感和體驗出發(fā)。具體測試用戶界面的功能模塊布局是否合理,整體風格是否統(tǒng)一,各個控件的放置位置是否符合客戶使用習慣,是否符合操作便捷,導(dǎo)航是否簡單易懂,界面中文字是否正確,命名是否統(tǒng)一,頁面美觀,文字、圖片組合是否完美等等。測試時可以按照最終用戶具體的需求,以及通用的用戶體驗原則進行測試list的編寫,然后測試人員根據(jù)list執(zhí)行。
3)兼容測試
兼容性測試是指測試軟件在特定的硬件平臺上、不同的應(yīng)用軟件之間、不同的操縱系統(tǒng)平臺上、不同的網(wǎng)絡(luò)等環(huán)境中是否能夠很友好的運行的測試。通常兼容性測試為軟件在不同瀏覽器、操作系統(tǒng)和分辨率下的兼容測試。測試時測試人員按照軟件的具體兼容性需求進行測試。
4)易用性測試
考察評定軟件的易學易用性,各個功能是否易于完成,軟件界面是否友好等方面進行測試。測試時可以根據(jù)用戶需求,以及同類行業(yè)軟件對易用性的通用原則列出測試list,然后測試人員根據(jù)list執(zhí)行。
5)性能測試
性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統(tǒng)的各項性能指標進行測試。
以上的內(nèi)容,尤其是在測試類型這邊,基本上就是小白循序漸進的過程。
之所以前面鋪墊了那么多概念,主要是希望幫助大家理解軟件測試。
1、“等價類測試”——主要是在輸入框中輸入不同的參數(shù)類型,來驗證數(shù)據(jù)庫判斷邏輯的返回值是否正確。例如只允許輸入中文的輸入框,你就要去嘗試輸入英文、數(shù)字、符號以及中文+符號的組合。
2、“邊界值測試”——對輸入框所輸入的內(nèi)容進行長度限制的測試,超出邊界范圍和合理范圍的處理情況。例如輸入框只允許輸入10個字符,你就要去嘗試輸入11個字符。還有輸入數(shù)值的范圍,例如發(fā)紅包,最大是200元,我們就要測試200.01元,最小值是0.01元,我們就要測試0元,
3、“因果圖測試”——是針對有組合的選項框進行邏輯測試的一種有效手段,可以通過畫表格的形式羅列出所有的可能性。防止測試遺漏~
4、“業(yè)務(wù)流程測試”——是對業(yè)務(wù)場景中所有涉及到的分枝和流程進行梳理,然后對每一條流水線進行測試覆蓋,確保所有正向和逆向的流程可以跑通,其中最重要的是要測試各種“事件”,例如:輸入密碼錯誤一次,提示重新輸入,錯誤超過3次則會凍結(jié)賬號或者要求輸入驗證碼,這都是屬于事件的觸發(fā)!
功能測試用例也有很多種,本人一直在北京上市公司工作,后面給您發(fā)一份我們公司的功能測試用例的模板!(如果需要這份模板可以私信我)
軟件測試的基礎(chǔ)學完了過后,應(yīng)該學習工具了。
其實學工具真的很容易,所以大家不用去糾結(jié)工具的選擇。
把最基礎(chǔ)的幾個工具學習了就行了,以后用到什么工具就去學什么。
下面我會列幾個必學的工具,不用太精通,會用就行了。
性能測試工具:loadrunner、jmeter。
接口測試工具:postman
抓包工具:fiddle
數(shù)據(jù)庫管理工具:Navicat
項目/BUG管理工具:禪道、QC
搜索工具: 百度、谷歌
以上的這些工具都是純圖形化的,很好掌握,估計就性能測試工具稍微會費點時間。
第三階段 代碼學習
好了,學完了以上兩個部分,恭喜你,你已經(jīng)是一個出色的初級測試工程師了。
接下來,你要考慮你的發(fā)展方向了。
是成為一個自動化測試工程師呢?
還是性能測試工程師呢?
還是安全測試工程師呢?
啊!這個問題好難!我也不知道該怎么選。
反正我啥都會一點,哪個崗位都能去面一面。
關(guān)于方向的選擇,看我的這篇文章。
軟件測試該如何提升自己
嗯,相信你心中已經(jīng)有了答案了,那我們繼續(xù)往下面說。
這個階段,我們應(yīng)該學習代碼了,關(guān)于編程語言的選擇,我推薦Java或者python。
還有數(shù)據(jù)庫也是必須掌握的!在工具篇的學習里,我認為你已經(jīng)可以通過navicat學會了基本的增刪查改了。
那你在這個階段就應(yīng)該學會更復(fù)雜的SQL語句的編寫了,也應(yīng)該會用命令行工具了。
嗯,加油,各位先學習mysql就好,這個用的人多。
所以現(xiàn)在各位可以去學習編程語言了,
不過不用像開發(fā)那樣,學的那么深入。
比如Java,只需要學完JavaSE的部分就夠你用了。
python的話也是一樣的,把基礎(chǔ)的部分學完就行了。
總之前期你兩者二選一的學習就OK了。
第四階段 架構(gòu)學習
前三個階段學習完成后,各位就應(yīng)該考慮怎么寫代碼更合理了。
怎么去測試更全面。
怎么才能更好的保障項目的質(zhì)量。
我認為,在這個階段,應(yīng)該回頭重新學習一遍測試基礎(chǔ)。
因為這個階段的提高是思想、方法的提高了。
上面講的都是教你應(yīng)該怎么做。
在這個階段你要自己去發(fā)現(xiàn)、為什么要那樣做。
跨過了這個階段就基本上可以成為專家了。
學習都是水到渠成的,在這個時候,你應(yīng)該已經(jīng)掌握了不少框架了,甚至自己也能開發(fā)合適的框架了。
自動化測試框架、性能測試框架等等。
已經(jīng)有了屬于自己的一套東西了。
在群里或者論壇上去裝逼、別人都會尊稱你一聲大佬了。
可能你也學會了一些其他的技術(shù)了,甚至在往全棧等方向跨進了。
總之,到了這個階段就沒什么學習路線了。
都是靠自己的悟性了。
0
回答0
回答0
回答0
回答0
回答10
回答0
回答0
回答10
回答0
回答