自學軟體測試主要主要學些什麼內容和知識,什麼學習順序,還請指點迷津。謝謝了。


我們知道,入行軟體測試主要有兩種方式,培訓和自學。因為一些個人原因,有些朋友不敢冒著離職和脫產的風險參與培訓,他們只想邊工作邊學習,那麼類似這種情況的小夥伴可以如何學習呢?

1、找課程學習的大綱。

找幾家培訓機構諮詢,最好是直接在官網諮詢老師,留一個QQ,再想辦法獲得他們的課程大綱,然後對比整合。之所以讓你留QQ而不是電話,是因為某些培訓機構一旦獲得你的電話後就會每天給你打電話,甚至整個週期長達半年乃至一年。留QQ的話,獲得信息後可以直接刪除。當然你也要注意,某些培訓機構不知道是什麼方法,居然能夠通過QQ獲得你的電話。因為我就曾經遇到過這樣的事情。

2、招聘網站實際調研。

接下里需要你去一些招聘網站上找一部分崗位招聘詳情來進行分析,總結出哪些技術是必須要學習的。也許你會納悶,為什麼已經有了培訓機構的大綱卻還要去招聘網站調研呢?

一是因為怕你遇到那種三年課程都不更新的不良機構;而是技術的更新迭代很快,基本每半年企業的招聘需求就會有一定的變化。這樣做,能夠保證你學習的是剛需性技術知識,自學完後能夠真正的找到一份入行工作。

3、規劃出學習的大綱。

前面已經把多家培訓機構的課程大綱進行了整合,且把企業招聘需求進行了調研,那麼接下來就要花時間做一份詳細的學習大綱,包括學習時間,學習規劃。因為一份好的學習計劃能達到事半功倍的效果。

4、接下里就是找課程,分享一些學習技術的免費網站。

1).Codecademy

國外在線學習編程的網站,它為用戶提供了一種學習編程的新方式,是最受歡迎的免費編程學習網站之一。基於網路編程教學,手把手幫助用戶瞭解JavaScript的一些基本原理。更重要的是,使用Codecademy學習編程充滿了趣味性。

Codecademy目前開設的課程有HTMLCSS,JavaScript,jQuery,PHP,Python和Ruby。事實上,已經有超過2400萬人通過它學會了編程。

2).Udemy

Udemy成立於2010年,是一個在線學習平臺,可以幫助你改善或學習工作技能。雖然有部分課程需要付費,但也有大量的免費編程學習課程,通過視頻講授。demy 這個名字有它特別的含義。「Udemy」 是由 「you」 加上 「academy」 合成的,意思是 「你的大學」。

與其他在線教育平臺不同的是,Udemy 不僅開放各種課程,更開放了教學的機會。也就是說,只要你願意,你也可以成為老師。

3).GitHub

GitHub於2008年4月10日正式上線,除了git代碼倉庫託管及基本的 Web管理界面以外,還提供了訂閱、討論組、文本渲染、在線文件編輯器、協作圖譜、代碼片段分享等功能。

目前,其註冊用戶已經超過350萬,託管版本數量也是非常之多,其中不乏知名開源項目 Ruby on Rails、jQuery、python 等。

4).edX

edX是另一個領先的在線學習平臺,重點是它不是以營利為目的,而是開源的。edX是由美國哈佛大學和麻省理工學院於2012年聯合創辦的,所以你將會在這裡學習到先進的技術和理論。如今,edX已涵蓋了60所學校。此外在這裡,你應該不會錯過哈佛大學的計算機科學導論的,免費的哦。

5、一定要明白,技術是永遠看不會的,並且就算你會敲代碼,也不代表你掌握了它。如果真正的要把所學技術運用到一個項目中去,那你可以在網上找一些項目來做,或者參與一些付費項目。

6、如果你覺得以上方法太麻煩,那麼直接某寶上買課程即可,幾塊、幾十塊、幾百塊不等,等市面上培訓機構的課程基本都有。

另外,關於就業,其實就是你的溝通表達能力了,當你把一個項目或者某一個較難的技術掌握之後,你一定要嘗試去把它說出來。因為對於一個技術人員而言,團隊溝通能力也至關重要。


好人做到底,送佛送到西,下面蛋哥就跟大家聊聊軟體測試(測試開發)需要去學習和掌握哪些知識點。

首先奉上一份最新版的測試開發學習路線和導圖(基於Python語言),希望對目前正在考慮和已經踏入軟體測試學習行列的朋友們有所幫助。

測試開發學習路線圖,禁止盜用。

專業基礎課程

  • 階段目標

1. 熟練掌握IT核心技術:編程,資料庫,操作系統,版本控制。

2. 能夠熟練運用所學技術搭建各類伺服器環境。

3. 深入理解軟體研發過程各種疑難雜症及處理手段。

4. 掌握Python編程技術並熟練運用Python進行程序設計。

  • 知識點

1、Web頁面元素,佈局,CSS樣式,盒模型,JavaScript程序設計,函數,基礎演算法,正則表達式。

2、資料庫知識,範式,MySQL配置,命令,建庫建表,數據的增刪改查,約束,視圖,存儲過程,函數,觸發器,事務,遊標,建模工具深入理解資料庫管理系統通用知識及MySQL資料庫的使用與管理。為軟體測試和測試開發打下基礎。

3、Linux安裝配置,文件目錄操作,VI命令,管理,用戶與許可權,環境部署,Shell編程Linux作為一個主流的伺服器操作系統,是每一個測試開發工程師必須掌握的重點技術,並且能夠熟練運用。

4、Python編程基礎,語法規則,函數,數據類型,PDBC,培養紮實的Python編程基本功,同時對Python核心對象編程有熟練的運用。

5、Python面向對象,異常處理,文件IO,多線程,網路編程,PyQT界面開發,深入理解面向對象編程,異常處理機制,多線程原理,網路協議知識,並熟練運用於項目中。

  • 相關配套視頻

1)Web前端基礎課程視頻

2)Linux操作系統課程視頻

3)Python編程基礎課程視頻

4)Python高級編程課程視頻

專業核心課程

  • 階段目標

1. 熟練應用所學知識完成一個標準的軟體測試項目。

2. 熟練運用Python完成GUI測試,介面測試和性能測試開發。

3. 對測試開發技術體系和實現原理有深入的理解。

4. 靈活運用測試開發技術解決項目中的各種問題。

  • 知識點

1、軟體工程,軟體質量,系統測試流程,方法,專業術語,測試用例設計,禪道管理工具,測試報告,缺陷管理理解軟體工程的各類實際問題,理解系統測試的理論、方法與過程,熟練運用測試用例設計方法高效設計測試用例。

2、測試需求分析,測試方案設計,測試用例設計,測試項目實施,缺陷報告與測試報告,深入理解系統測試各個過程和關鍵環節,熟練完成系統測試項目。

3、SikuliX框架,UIAutomation框架,Selenium WebDriver框架,基礎框架,Android應用,Monkey測試,Appium移動端測試框架,UIAutomator2移動端測試框架綜合運用各類應用操作平臺,完成各種自動化測試框架的學習和應用,深入理解GUI自動化測試技術及相應框架的測試開發。

4、Python單元測試框架,網路通信協議,HTTP與HTTPS協議,WebService與WebSocket協議,Python的介面測試庫,PostMan與SoapUI介面測試工具通過對代碼級介面測試和協議級介面測試的測試開發實戰,靈活運用Python開發介面測試腳本,熟練運用各類介面測試工具。

5、性能測試原理,指標體系,場景設計,實施過程,JMeter工具應用,BeanShell腳本開發,Python+Locust性能測試框架深入理解性能測試技術體系和方法論,熟練運用JMeter性能測試工具和Locust性能測試框架實施對任意系統的性能測試。

  • 相關配套視頻

1)系統測試方法與應用(一)課程視頻

2)系統測試方法與應用(二)課程視頻

3)GUI自動化測試課程視頻

4)App自動化測試課程視頻

5)介面測試自動化課程視頻

6)性能測試與Jmeter課程視頻

綜合實戰項目

  • 階段目標

1. 將軟體測試和測試開發技術靈活運用於項目中。

2. 具備較強的測試開發能力,獨立完成測試開發項目。

3. 綜合運用軟體測試技術,滿足企業中高級人才需求。

4. 對所學技術有深入的理解並具備獨立解決問題的能力。

  • 知識點

1、測試需求分析,同行評審,測試計劃,測試方案,測試用例,配置管理,持續集成。通過對大型企業級應用系統的測試項目實戰,強化理解系統測試項目的實施過程與技術細節。

2、介面測試設計與實施,回歸測試,冒煙測試,安全性測試,RobotFramework框架應用,UI自動化實戰將各類自動化測試技術結合項目實戰演練,強化對自動化測試技術的運用,同時掌握更多的測試框架。

3、性能測試項目實戰,LoadRunner性能測試工具,總結通過綜合項目實戰,將全套測試技術融入到項目中,強化學習效果和項目經驗。

4、Python原生測試框架開發,包括Monkey,UI,圖像識別,雲測試平臺,HTML測試報告,持續集成,KDT關鍵字驅動框架開發等原生技術實現通過大量的Python原生代碼開發,深入理解自動化測試開發技術的底層實現原理,完全拋棄對工具的依賴,做到真正的測試開發技術。

5、基於測試框架的設計思路和實現手段,自主實現一套測試框架能夠獨立完成一套自動化測試框架,並能夠直接用於實際項目中。

6、持續集成與Jenkins,安全性測試原理與工具,Python爬蟲開發與Scrapy框架,提升軟體測試其它類技術,增強知識面,提升競爭力,助力職業發展。

  • 相關配套視頻

1)測試框架開發(一)課程視頻

2)測試框架開發(二)課程視頻

3)LoadRunner(一)課程視頻

4)LoadRunner(二)課程視頻

5)RobotFramework課程視頻

6)配置管理與Git課程視頻

7)安全性測試基礎課程視頻

8)Jenkins持續集成課程視頻


光有基於Python語言的怎麼行?下面也奉上一份基於Java語言的測試開發學習路線,大家根據個人喜好二選一學習即可。

專業基礎課程

  • Web前端基礎

知識要點:Web頁面元素,佈局,CSS樣式,盒模型,JavaScript程序設計,函數,基礎演算法,正則表達式。

課程目標:利用表格,DIV+CSS完成HTML計算器的佈局,並利用JavaScript編程實現計算器完整功能。為後續編程學習打下基礎。

課程視頻鏈接:Web前端基礎課程視頻

  • MySQL資料庫

知識要點:Mysql配置、命令、CRUD操作、索引、約束 、視圖、存儲過程、函數、觸發器、事務、遊標、建模工具。

課程目標:深入理解資料庫管理系統通用知識及MySQL資料庫的使用與管理。為軟體開發打下堅實基礎。

課程視頻鏈接:MySQL資料庫課程視頻

  • Linux操作系統

知識要點:Linux安裝配置,文件目錄操作,VI命令,管理,用戶與許可權,環境部署,Shell編程。

課程目標:Linux作為一個主流的伺服器操作系統,是每一個測試開發工程師必須掌握的重點技術,並且能夠熟練運用。

課程視頻鏈接:Linux操作系統課程視頻

  • Java核心編程

知識要點:Java面向對象,封裝,繼承,多態,基本設計原則,類載入機制,常用API對象。

課程目標:掌握面向對象思想,利用對象行為重構WoniuATM,掌握java.lang包的重要對象的應用。

課程視頻鏈接:Java核心編程課程視頻

專業核心課程

  • 系統測試方法與應用(一)

知識要點:軟體工程,軟體質量,系統測試流程,方法,專業術語,測試用例設計,禪道管理工具,測試報告,缺陷管理。

課程目標:理解軟體工程的各類實際問題,理解系統測試的理論、方法與過程,熟練運用測試用例設計方法高效設計測試用例。

課程視頻鏈接:系統測試方法與應用課程視頻

  • 系統測試方法與應用(二)

知識要點:軟體工程,軟體質量,系統測試流程,方法,專業術語,測試用例設計,禪道管理工具,測試報告,缺陷管理。

課程目標:理解軟體工程的各類實際問題,理解系統測試的理論、方法與過程,熟練運用測試用例設計方法高效設計測試用例。

課程視頻鏈接:系統測試方法與應用課程視頻

  • GUI自動化測試技術

知識要點:SikuliX框架,UIAutomation框架,SeleniumWebDriver框架,基礎框架,Android應用,Monkey測試,Appium框架

課程目標:綜合運用各類應用操作平臺,完成各種自動化測試框架的學習和應用,深入理解GUI自動化測試技術及相應框架的測試開發

課程視頻鏈接:GUI自動化測試技術課程視頻

  • 移動及Web開發基礎

知識要點 :WebApp前端技術,Hybrid混編技術,WebApp常用API

課程視頻鏈接:移動及Web開發基礎課程視頻

  • App自動化測試技術

知識要點:移動端App測試技術,自動化腳本,App自動化腳本編譯

課程目標:熟練掌握app自動化測試相關技術,能夠熟練利用appium等app端自動化測試工具完成自動化測試。掌握移動端對象識別、對象操作以及斷言比較,能夠編寫app端的自動化測試框架。

課程視頻鏈接:App自動化測試技術課程視頻

  • Junit與TestNG單元測試

知識要點:單元測試包,單元測試解析,模塊測試分析

課程視頻鏈接:Junit與TestNG單元測試課程視頻

  • 協議級介面測試自動化

知識要點:常見網路傳輸協議,視頻播放協議,PostMan,介面壓力測試

課程目標:熟練掌握各種互聯網常見協議標準及應用,能夠從協議層面分析介面的定義,並且根據介面定義構造相關的請求完成介面自動化。能夠自己編寫介面自動化測試框架,實現全平臺介面測試。

課程視頻鏈接:協議級介面測試自動化課程視頻

  • Java開發性能測試腳本

知識要點:性能測試基礎,Jmeter應用,介面性能測試實戰,Web性能實戰,性能調優

課程目標:通過本課程學習,熟練賬務Web性能測試,介面性能測試技術

課程視頻鏈接:Java開發性能測試腳本課程視頻

  • 場景設計與指標監控

知識要點:性能測試場景,WIndows監控,Linux監控與指標,Web性能監控分析

課程視頻鏈接:場景設計與指標監控課程視頻

  • Jmeter性能測試工具

知識要點:性能測試基本原理,Python採集性能測試數據,數據分析,Tomcat與Mysql優化

課程視頻鏈接:Jmeter性能測試工具課程視頻

高級進階課程

  • 測試框架開發

知識要點:CBT自動化測試框架,ATM模型和DDT驅動,KDT關鍵字驅動,圖像識別自動化演算法

課程視頻鏈接:測試框架開發課程視頻

  • LoadRunner性能測試

知識要點:LoadRunner介紹,VuGen腳本開發,Controller指標監控,Analysis硬體指標分析,測試方案設計

課程視頻鏈接:LoadRunner性能測試課程視頻

  • RobotFramework

知識要點:RobotFramework簡介和工作原理,輸入輸出操作,滑鼠鍵盤操作,測試報告輸出

課程視頻鏈接:RobotFramework課程視頻

  • 配置管理與Git

知識要點:Git概念,工作原理和安裝,配置管理組織過程,與SVN區別,Git用法

課程視頻鏈接:配置管理與Git課程視頻

  • 安全性測試基礎

知識要點:安全測試概念,拒絕服務攻擊,文件上傳漏洞,跨站攻擊,SQL注入

課程視頻鏈接:安全性測試基礎課程視頻

  • Jenkins持續集成

知識要點:持續集成概念,Jenkins介紹,Jenkins使用,日程表,郵件通知,Jenkins+Jmeter+ant

課程視頻鏈接:Jenkins持續集成課程視頻


後期補充知識

1、演算法進階,圖像處理,視頻處理,加密解密,壓縮演算法。

2、UML統一建模語言、五種圖、類圖、類圖詳解、用例圖、時序圖。

3、Dubbo分散式開發框架,Oracle關係型資料庫管理系統,MongoDB非關係型資料庫管理系統。

4、大數據開發框架Hadoop/MapReduce/Spark。

5、Android與iOS的原生應用開發與WebApp開發。

6、OpenCV圖像處理框架、TensorFlow深度學習框架,Lucene全文搜索引擎與中文分詞框架Ik-Analyzer,視頻處理演算法與框架等。


最後,很重要很重要的一點,不要他孃的只是三分鐘熱度,自律性是你做成這件事的最最根本的保障,無它,狗屁都幹不了。讀到這也別槓精附體嘗試反駁,難道忘了從小到大數次制定的計劃和目標你實現了嗎?

哥們兒,一不小心就年紀不小了……


題主的問題,其實就是需要軟體測試學習路線圖+配套學習資料。

其實題主的問題,我在2018年6月份就解決過,非常受自學測試的粉絲們的歡迎,有粉絲髮到知乎後竟然獲取到了740多個贊。現在分享跟你,希望能解決你的問題。

圖片雙擊就能放大

該路線圖配套的學習資源可以狠狠點擊這個鏈接,看看這份740多人點贊的資料:

新人如何入門和學習軟體測試??

www.zhihu.com圖標

對你有用,拿去就是,不用謝。


學習軟體測試核心就是項目實戰、企業流程模擬、企業工具使用、企業技術運用,唯有堅持這樣的原則才能轉行成功,邁入測試的大門。

軟體測試項目實戰學習路線:

testerTechnology:軟體測試的實戰學習路線?

zhuanlan.zhihu.com圖標


這個問題我最有發言權了。

知乎上關於如何自學測試,點贊最高的文章就是我發的。

目前已經成功幫助很多小夥伴轉行成功了。

鏈接如下:

浪晉:如何從零開始學習軟體測試?

zhuanlan.zhihu.com圖標

要了解軟體測試需要學習什麼技能,最直接的方式,是去招聘網站上看各大公司對崗位的任職要求,下面是兩個互聯網公司的招聘要求

公司1:

公司2:

總結分析崗位要求的技能:

基本技能:

軟體測試理論:包括軟體工程什麼週期、軟體測試的流程、軟體測試的目標、軟體測試過程文檔設計的方法。建議精讀《軟體測試的藝術》一書,涵蓋的內容比較全面

通用計算機基礎:計算機操作系統,網路工程,TCP/IP協議.

PS:linux系統建議要學一下伺服器的搭建和配置、shell腳本

測試腳本設計基礎

編程語言:java/python(選擇一個熟練使用,另外的瞭解即可)

測試基礎框架:Junit/TestNg/Unitest (前兩個是java的,後一個是python的)

UI自動化的框架(推薦常用的)

WEB UI自動化:selenium

App UI自動化:robotium(只能測android), appium(android 和ios app都支持)

以上框架都需要編程語言的基礎,需要自己寫測試腳本

測試工具:(安全測試方面,沒接觸過,就不提供意見了)

功能自動化:QTP (比較老牌的商業測試工具,可以錄製和回放)

性能測試工具:LoadRunner(多年歷史的商業性能測試工具,功能強大全面,但收費不低),Jmeter(基於java,開源的性能測試工具。基本滿足性能測試的要求)

介面測試工具:postman、soupUI

app穩定性測試:Monkey(android SDK自帶工具)

抓包工具:Fiddle,charless,wireshark(建議使用Fiddle就可以了。用於輔助介面測試。)

元素查看工具:萬能的瀏覽器F12 ,開發者工具

其他工具:eclipse,IntelliJ IEDA 系列,Visual code,sql客戶端連接工具

缺陷管理系統:(雖然要求沒提到,但是必不可少)

用的比較多的管理缺陷的系統有:JIRA、禪道、RedMine、Mantis

如果是測試腳本設計人員,需要提交測試代碼的話,那麼還需要了解代碼和版本管理工具:SVN/GIT

(以上是測試需要的技術。基本上如果能從一個方向深入研究的話,前景都很可觀。補充一點,不同行業的特定行業知識,需要入行之後逐步積累)


推薦閱讀:
相關文章