春暖花開,近水樓臺(tái)先得月,向陽花木易為春。最近很多粉絲私信問我怎么轉(zhuǎn)行軟件測(cè)試,我今天跟大家聊聊這個(gè)話題,可能我說的有點(diǎn)沉重,但還是建議你看下去。覺得說得有用的請(qǐng)點(diǎn)個(gè)贊呀
許多人天天喊著想轉(zhuǎn)行,又蹲在那里一徘徊就是好多天,好幾個(gè)月,好幾年,無非就是因?yàn)樗胝业揭粋€(gè)確定的答案,能夠保證他肯定可以轉(zhuǎn)行成功,可以很從容地學(xué)會(huì),至少像考研一樣,有大綱,有真題可以照著復(fù)習(xí),然后考?jí)蚍志湍苌稀?/p>
然后這還不夠,還要保證自己學(xué)會(huì)之后一定能找到工作,找到工作之后一定能最終比原來的行業(yè)掙得多,而且不能只多一點(diǎn),因?yàn)椴恢档?,而且跟科班出身的人相比,還不能沒有優(yōu)勢(shì),最好自己在生化環(huán)材領(lǐng)域的背景可以拿來抵消科班出身的人的優(yōu)勢(shì)。
這看起來很荒謬,很可笑,甚至許多看客都想擼起袖子跟我一起把有這樣想法的人批判一番,可是,我勸大家冷靜下來仔細(xì)想想,所有徘徊著還沒有去行動(dòng)的人,你們是不是自己心里也是這么想的,你們這么渴望,迫不及待地看任何一個(gè)轉(zhuǎn)行成功的人的經(jīng)驗(yàn),看了一個(gè)兩個(gè)還不夠,還是會(huì)迫不及待地看下一個(gè),然后繼續(xù)該怎么樣就怎么樣,有下一個(gè)經(jīng)驗(yàn)貼出來后,馬上又會(huì)過去圍觀,然后連問的問題都是差不多的。
你們?cè)趯ふ沂裁??等待什么?你其?shí)只是不能清楚地表達(dá)你內(nèi)心的想法而已,那是一個(gè)模糊的想法,其實(shí)撥開迷霧,看清楚之后,并不會(huì)比上面那個(gè)例子差太遠(yuǎn),你也是在等一個(gè)對(duì)于你來說萬無一失的方法,保證我肯定可以行,走了這條路肯定不會(huì)比現(xiàn)狀更差,那么你到底是不滿于現(xiàn)狀,還是對(duì)別的行業(yè)感興趣呢? 你還在猶豫,只有兩種可能,一個(gè)是你對(duì)目前的現(xiàn)狀還心存幻想,覺得未來可能會(huì)好,如果這樣,就別天天抱怨自己目前的行業(yè)專業(yè)坑,拿出去干的熱情
另一個(gè)就是,你要尋找到一個(gè)萬無一失的方案。大道理誰都懂,我上面提到的也許是多數(shù)轉(zhuǎn)行人的內(nèi)心獨(dú)白。我也不例外,在我沒有下定轉(zhuǎn)行的決心前,我也有同樣的憂慮。但慶幸的是,我很快就明白了這樣的道理:與其天天這么憂慮折磨自己好幾年,不如大膽點(diǎn),邁出這一步將成敗拋之于腦后。大不了從頭再來,轉(zhuǎn)行就是要有壯士斷腕的勇氣。
猶豫就會(huì)敗北,如果你也想轉(zhuǎn)行;如果你也想轉(zhuǎn)行軟件測(cè)試;如果你已經(jīng)在網(wǎng)上看到很多轉(zhuǎn)行軟件測(cè)試成功的經(jīng)驗(yàn)貼,相信現(xiàn)在阻礙你邁出第一步的唯一障礙就是缺少那個(gè)萬無一失的方案。那個(gè)方案我已經(jīng)為你們準(zhǔn)備好了,史上最詳細(xì)的軟件測(cè)試學(xué)習(xí)路徑和最全的學(xué)習(xí)資料包全部奉上,按照這個(gè)路線學(xué)習(xí),大神指日可待!
軟件測(cè)試工程師的工作要求: 文檔評(píng)審,用例評(píng)審,需求評(píng)審; 測(cè)試用例設(shè)計(jì),自動(dòng)化測(cè)試腳本開發(fā),測(cè)試架構(gòu)設(shè)計(jì)、寫作測(cè)試文檔(測(cè)試計(jì)劃、測(cè)試方案、測(cè)試用例等); 執(zhí)行測(cè)試,發(fā)現(xiàn)軟件缺陷,提交缺陷報(bào)告,并確認(rèn)缺陷最終得到了修正; 通過測(cè)試度量軟件的質(zhì)量;回歸測(cè)試等等,工作內(nèi)容是非常多的。
軟件測(cè)試工程師需要掌握的知識(shí): 計(jì)算機(jī)知識(shí),包括編程語言,掌握至少1門開發(fā)語言,比如C、Java、C#等, 1門腳本語言,比如Python、Perl、Ruby、Shell中對(duì)于測(cè)試工程師未來更廣的職業(yè)發(fā)展非常有幫助。純功能的話可以不學(xué)這個(gè),但是現(xiàn)在市面上這種工作越來越難找了。
數(shù)據(jù)庫知識(shí),對(duì)于絕大部分項(xiàng)目或互聯(lián)網(wǎng)項(xiàng)目,都會(huì)有數(shù)據(jù)庫,所以掌握至少1門數(shù)據(jù)庫,比如Oracle、SQl Server, Mysql等。 操作系統(tǒng),比如Linux、Unix,Windows核心命令也非常重要。對(duì)于有些涉及到網(wǎng)絡(luò)的,網(wǎng)絡(luò)和通信知識(shí),比如TCP/IP協(xié)議也非常重要。 軟件測(cè)試需求分析與軟件測(cè)試用例設(shè)計(jì)核心工程方法。掌握主流的軟件測(cè)試工具,比如性能測(cè)試工具JMeter/LoadRunner,自動(dòng)化工具典型代表Selenium/UFT/Appium,測(cè)試管理工具等,事實(shí)上光有這些工具還不夠,還需要真正理解其背后的實(shí)現(xiàn)原理。
掌握核心的研發(fā)流程,比如RUP,測(cè)試流程,比如雙V模型,或者是現(xiàn)在流行的敏捷測(cè)試等,也是同樣重要。方法是秘笈、工具是兵器、流程是套路
一、軟件測(cè)試基礎(chǔ)理論知識(shí):
軟件測(cè)試?yán)碚撝R(shí)是開展測(cè)試工作的理論依據(jù)和支撐,是測(cè)試很重要的階段必須掌握的技能。
軟件的質(zhì)量模型:軟件測(cè)試過程保障軟件的質(zhì)量,從哪些方面保障可以從質(zhì)量模型出發(fā)思考
測(cè)試分類:軟件測(cè)試過程可以按照不同角度進(jìn)行分類,基礎(chǔ)測(cè)試到高級(jí)測(cè)試遞進(jìn)過程
開發(fā)流程:告訴測(cè)試人員一個(gè)軟件完整的生命周期,軟件從無到有到消亡的過程
測(cè)試流程:掌握并指導(dǎo)測(cè)試人員在實(shí)際項(xiàng)目中如何開展測(cè)試工作。這要求測(cè)試人員對(duì)常見的主流測(cè)試流程有較為透徹的理解。遇到不同的軟件項(xiàng)目,知道從何處著實(shí)能最有效率的測(cè)試軟件缺陷
測(cè)試計(jì)劃與方案:如何規(guī)劃在項(xiàng)目中開展測(cè)試活動(dòng),確保測(cè)試活動(dòng)有序進(jìn)行
設(shè)計(jì)用例方法:黑盒測(cè)試階段必須掌握的一些測(cè)試用例的設(shè)計(jì)方法。比如黑盒測(cè)試用例的設(shè)計(jì)方法、測(cè)試用例元素等等
軟件缺陷:在測(cè)試執(zhí)行過程中應(yīng)該確定缺陷并提交缺陷報(bào)告
缺陷管理:提交缺陷后在實(shí)際工作中如何和開發(fā)協(xié)助處理驗(yàn)證提交的問題。例如:bug的等級(jí)優(yōu)先級(jí)分類、bug的描述、bug的生命周期、缺陷管理工具使用,如禪道等。
測(cè)試報(bào)告:測(cè)試過程的回顧和結(jié)果確認(rèn),生成系統(tǒng)性的專業(yè)軟件測(cè)試評(píng)估報(bào)告。
二、軟件測(cè)試功底技術(shù)——Linux系統(tǒng)
linux系統(tǒng)是主要的服務(wù)端操作系統(tǒng),也是從事IT崗位的大部分人員必須具備的基本技術(shù)之一。
linux系統(tǒng)基本知識(shí):多用戶,多任務(wù),發(fā)行版本等
常見 linux操作命令:日志查看,文件壓縮、解壓,用戶管理,文件權(quán)限等
會(huì)部署和配置基本的應(yīng)用jdk、 mysql、 tomcat
docker安裝使用
編寫基本的 shell RAD本
遠(yuǎn)程終端工具使用: shell, xftps等
三、軟件測(cè)試功底技術(shù)——Sql數(shù)據(jù)庫
數(shù)據(jù)庫作為軟件系統(tǒng)必備的應(yīng)用系統(tǒng),在諸如接口測(cè)試、性能測(cè)試等等過程中往往需要操作數(shù)據(jù)庫,驗(yàn)證數(shù)據(jù)正確性完整性,都離不開數(shù)據(jù)庫的增刪改查操作,在項(xiàng)目部署階段數(shù)據(jù)庫還需要配合項(xiàng)目部署。在性能測(cè)試、接口自動(dòng)化測(cè)試中都需要數(shù)據(jù)庫的支撐。
數(shù)據(jù)庫基本概念
關(guān)系型數(shù)據(jù)庫
MYSQL基本的增改查語句,存儲(chǔ)過程
MYSQL復(fù)雜查詢、多表查詢
MYSQL索引及事務(wù)相關(guān)概念
數(shù)據(jù)庫客戶端工具使用:如 Navicat
四、軟件測(cè)試功底技術(shù)——編程語言
編程語言推薦大家以Python為首,Java語言為輔學(xué)習(xí),查看各大招聘網(wǎng)站,基本上也是以這兩種語言為主的。沒有編程基礎(chǔ)的朋友可以先學(xué)習(xí)Python語言
Python語言的學(xué)習(xí)內(nèi)容包含以下知識(shí)點(diǎn):
Python基礎(chǔ):Python語言特點(diǎn)、運(yùn)行環(huán)境、基本語法、代碼風(fēng)格、示例程序
數(shù)據(jù)結(jié)構(gòu):基本數(shù)據(jù)結(jié)構(gòu):數(shù)字、字符串、類型判斷、類型轉(zhuǎn)換、切片、字符串格式化、數(shù)值運(yùn)算、位置參數(shù)和關(guān)鍵字參數(shù);組合數(shù)據(jù)結(jié)構(gòu):列表、元組、范圍、字典、集合、不可hash對(duì)象、解包、內(nèi)存地?cái)?shù)據(jù)結(jié)構(gòu)址、不可變數(shù)據(jù)
程序控制:順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、判斷結(jié)構(gòu)、異常處理、邏輯運(yùn)算符
函數(shù):定義函數(shù)、函數(shù)的參數(shù)、返回值、變量作用域、匿名函數(shù)、常用內(nèi)置函數(shù)
模塊和庫:模塊和包、import關(guān)鍵字、常用標(biāo)準(zhǔn)庫、常用第三方庫、包管理工具pip
面向?qū)ο螅好嫦驅(qū)ο笃鹪春蛢?yōu)勢(shì)、面向?qū)ο蟮奶匦灶惡蛯?duì)象的聯(lián)系、對(duì)象的特殊方法
日志記錄:baseConfig、文件日志、郵件日志、定制格式、內(nèi)置占位符、等級(jí)過濾、分級(jí)傳播、配置文件
測(cè)試框架:unitest、pytest等
并發(fā)編程:多進(jìn)程、多線程、協(xié)程、線程池、同步控制、線程通信、分布式、猴子補(bǔ)丁、 async語法、生成器
網(wǎng)絡(luò)編程:socket編程基礎(chǔ)、TCP服務(wù)端和客戶端、并行請(qǐng)求處理、HTTP服務(wù)端和客戶端
五、軟件測(cè)試自動(dòng)化進(jìn)階——接口測(cè)試
接口測(cè)試本質(zhì)也是功能測(cè)試的一種,通過腳本或者工具,模擬客戶端對(duì)服務(wù)端接口進(jìn)行調(diào)用。因?yàn)槭菑慕涌趯訙y(cè)試,所以能更早的發(fā)現(xiàn)問題,從而提高測(cè)試效率,降低修復(fù)成本。
http/httpst協(xié)議學(xué)習(xí)
常見請(qǐng)求方法學(xué)習(xí):GET、POST
cookie和 session學(xué)習(xí)
接口的基本概念
接口文檔認(rèn)識(shí)
接口測(cè)試用例編寫
接口測(cè)試工具使用:postman、Jmeter、SoapUl
六、軟件測(cè)試自動(dòng)化進(jìn)階——性能測(cè)試
性能測(cè)試的技術(shù)要求很高,不僅僅要對(duì)性能測(cè)試的指標(biāo)、測(cè)試分類、測(cè)試設(shè)計(jì)有很深刻的理解。還要學(xué)習(xí)系統(tǒng)業(yè)務(wù)和架構(gòu)相關(guān)知識(shí),這樣才能更好的設(shè)計(jì)性能場景。
性能基本概念:性能測(cè)試意義、常見性能指標(biāo)理解、性能測(cè)試的分類
性能測(cè)試流程:性能需求分析、性能場景設(shè)計(jì)、測(cè)試腳本編寫、測(cè)試執(zhí)行資源監(jiān)控、性能調(diào)優(yōu)、回歸測(cè)試
Jmeter及 roadrunner使用
性能測(cè)試報(bào)告輸出
七、軟件測(cè)試自動(dòng)化進(jìn)階——web自動(dòng)化
了解自動(dòng)化的目的,熟練掌握TestNG&unittest自動(dòng)化框架,以及斷言與日志處理;做測(cè)試的同學(xué)們都了解,做Web自動(dòng)化,我們主要用Selenium或者是QTP,這里我們需要掌握Selenium的web自動(dòng)化環(huán)境搭建,正確的瀏覽器配置。
八、軟件測(cè)試自動(dòng)化進(jìn)階——app自動(dòng)化
越來越多的項(xiàng)目和系統(tǒng)通過移動(dòng)端來提供服務(wù),移動(dòng)端的軟件質(zhì)量越來越重要,App自動(dòng)化測(cè)試已經(jīng)成為自動(dòng)化測(cè)試的重要內(nèi)容。借助Appium,使得App自動(dòng)化測(cè)試和Web自動(dòng)化測(cè)試有很多相通之處,不過作為測(cè)試工程師,依然需要掌握移動(dòng)端應(yīng)用的工具和特性。
Appium移動(dòng)測(cè)試環(huán)境搭建:Appium ServerAppium和 Desktop、 Android運(yùn)行環(huán)境搭建、模擬器安裝和連接、真機(jī)設(shè)備調(diào)試模式、adb、 weditor、 - - UiAutomator22、 Monkey
Appium元素定位:原生應(yīng)用元素定位、純web應(yīng)用元素定位、混合應(yīng)用元素定位
Appium元素交互:等待元素加載,元素的基本屬性和方法、滑動(dòng)、拖動(dòng)、縮放操作、下拉選擇操作、 toast消息處理、常見控件分析、常見布局分析
封裝測(cè)試框架:集成Appium、adb等工具、預(yù)定義異常處理、記錄Appium日志、屏幕截圖、打造多用途測(cè)試框架
九、軟件測(cè)試自動(dòng)化進(jìn)階——持續(xù)集成和持續(xù)測(cè)試
持續(xù)集成和持續(xù)測(cè)試是一個(gè)在迭代中構(gòu)建、測(cè)試產(chǎn)品并修復(fù)Bug的過程。它有助于團(tuán)隊(duì)在開發(fā)階段的初期發(fā)現(xiàn)缺陷,這時(shí)的缺陷通常相對(duì)不那么復(fù)雜,并且更容易被解決。通過持續(xù)集成和持續(xù)測(cè)試,可以盡早地將錯(cuò)誤風(fēng)險(xiǎn)降至最低,并加快交付更好質(zhì)量的軟件。
版本控制Git:背景介紹、環(huán)境部署、工作區(qū)、暫存區(qū)和提交區(qū)、分支創(chuàng)建與合并、解決沖突、標(biāo)簽、 config與別名、本地倉與遠(yuǎn)程倉、 GitHub與碼云
持續(xù)集成 Jenkins:背景介紹、環(huán)境部署、文件結(jié)構(gòu)、遠(yuǎn)程倉庫與私服、ja包依賴、插件管理
容器Docker:了解 Dockers的鏡像、倉庫、容器、 Docker Engine和架構(gòu)圖、網(wǎng)絡(luò)設(shè)置、數(shù)據(jù)持久化.
下面是我整理了從入門到到進(jìn)階的配套資料,有需要的朋友點(diǎn)擊“資料”自行領(lǐng)?。。?!
包含了
學(xué)習(xí)資料(接口測(cè)試、常用命令、功能測(cè)試、Python自動(dòng)化、數(shù)據(jù)庫、Web自動(dòng)化)
面試題庫(簡歷模板、PPT模板、通用題庫、初中高級(jí)題庫、思維導(dǎo)圖)
測(cè)試工具使用方法
測(cè)試工具安裝包