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