{eval=Array;=+count(Array);}
多數公司會將測試人員按照職級劃分,如初級測試,高級測試,資深測試。隨著職位級別的不斷提高,所要求的能力和技術也會越來越高,整體來說,如果你要應聘的是高級測試的話,崗位要求基本會是在某一個或多個領域內非常擅長。那么這里說的某一個領域其實就是測試行業內對崗位的更進一步細分。那么在測試行業內到底有那些細分的測試崗位呢 ?
就目前測試行業來說,主要細分領域包括功能測試,自動化測試,白盒測試,性能測試等 。很多公司也會設置專崗來招聘對應細分領域的工程師,如自動化測試或性能測試等 。下圖主要針對不同崗位的工程師所進行的工作內容進行的描述。也是因為工作內容有所不同,所以每個崗位上的工程師使用到的工具也會有所不同。
下圖就是根據不同崗位上所從事的主要工作內容,分類的列舉出了一些業界比較流行或具有代表性的工具。而且每家公司的情況不同,個人喜好也不同,所以不見得都會在列表中能看到,下圖中的工具僅供參考。
工具雖多,也并非都要關注,根據我們目前的情況,可以選一些自己所關注的工具,進行全面系統的學習,畢竟這些工具中多數非常經典,在某個方面可以提高我們的工作效率。當然,想要學習也是非常方便的,這些工具在網絡上有很多的學習資源,個人推薦頭條和B站,基本在上面都能找到你想要的學習資料。
初級階段常用的軟件:
1、svn(版本管理工具):直接安裝就可以使用,是團隊里管理共同使用的代碼,保持代碼的更新,避免混亂。
2、禪道(項目管理工具):集產品管理、項目管理、質量管理、文檔管理、組織管理和事務管理于一體的軟件,比較常用的就是缺陷管理
3、Excel(用例管理)、Word(測試計劃、測試報告)
4、postman、SoapUI-接口測試
中級階段常用的軟件:
1、QTP-自動化工具
2、loadrunner-性能測試工具
3、jmeter-接口工具、性能工具
4、fiddler-抓包工具
5、Mysql-數據庫
6、monkey-APP自動化工具
高級階段常用的軟件:
1、linux-系統,主要用于搭建測試環境
2、myeclipse+python-編寫腳本進行自動化測試
我覺得學習軟件測試不在于學習多少的軟件,因為有很多的軟件都是大同小異的,坐會那么幾種,自己用習慣了,用熟了,等自己的能力提升上去后就可以直接用編寫代碼去代替部分的軟件了。
提bug工具:禪道,bugfree
部署環境的工具:tomcat,docker,jenkins
抓接口的工具:fiddler
接口和性能測試工具:jmeter
接口自動化和ui自動化工具:robotframework
查看數據庫的工具:navicate
還有查看centos服務器的工具
差不多我們一般就用這些軟件吧
一、測試分類
(1) 按測試方式分類:靜態測試、動態測試
(2) 按測試方法分類:白盒測試、黑盒測試
(3) 按測試自動化程度分類:人工測試、自動化測試
(4) 按測試階段分類:單元測試、集成測試、確認測試、系統測試、驗收測試
(5) 按測試類型分類:功能測試、界面測試、性能測試(負載測試、強度測試)、容量測試、壓力測試、安全測試、兼容性測試、安裝測試、文檔測試、易用性測試、邊界測試、健壯性測試、本地化測試、無障礙測試、回歸測試、冒煙測試、Monkey測試、A/B測試
(6) 按測試模式分類:瀑布模型、敏捷測試、基于腳本的測試、基于風險的測試、探索式測試
二、靜態測試
靜態測試包括互審、走查、會議
三、動態測試
動態測試方法是指通過運行被測程序,檢查運行結果與預期結果的差異,并分析運行效率、正確性和健壯性等性能。這種方法由三部分組成:構造測試用例、執行程序、分析程序的輸出結果。
四、白盒測試
白盒測試是基于代碼的測試,通過程序代碼或者通過開發工具找出軟件的缺陷。白盒測試總體上分為靜態測試和動態測試兩大類。
白盒測試方法:代碼檢查法、靜態結構分析法、靜態質量度量法、邏輯覆蓋法、基本路徑測試法、域測試、符號測試、路徑覆蓋、程序變異
五、黑盒測試
黑盒測試方法:等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、判定表驅動法、正交試驗分析法、功能圖法、場景法、狀態遷移圖法、流程分析法
六、人工測試
人工測試包括:眾包測試、探索式測試
七、自動化測試
自動化測試:使用多帶帶的測試工具軟件控制測試的自動化執行以及對預期和結果進行自動檢查。
一般對單元測試、接口測試、性能測試執行自動化測試。
八、單元測試
單元測試:單元測試(或模塊測試)是對程序中的單個子程序或具有獨立功能的代碼段進行測試的過程。
九、集成測試
又稱組裝測試或聯合測試,在單元測試的基礎上,需要將所有模塊按照概要設計說明說和詳細設計說明書的要求進行組裝。
集成測試的入口:單元測試已經完成,并提交《單元測試報告》;代碼走查完成,已進入受控庫并完成產品集成
集成測試主要包括以下過程:1. 構建的確認過程。 2. 補丁的確認過程。 3、系統集成測試測試組提交過程。 4. 測試用例設計過程。 5. 測試代碼編寫過程。 6. Bug的報告過程。 7. 每周/每兩周的構建過程。 8. 點對點的測試過程。 9. 組內培訓過程。
集成測試主要實施方案:Big Bang、自頂向下、自底向上、核心系統集成、高頻集成
十、確認測試
確認測試的目標是驗證軟件的功能和性能以及其他特性是否與用戶的要求一致。確認測試一般包括有效性測試和軟件配置復查。一般有第三方測試機構進行。
十一、系統測試
軟件作為計算機系統的一部分,與硬件、網絡、外設、支撐軟件、數據以及人員結合在一起,在實際或模擬環境下,對計算機系統進行測試,目的在于與系統需求比較,發現問題。
針對手機應用軟件的系統測試,通常從如下幾個角度開展:功能模塊測試,交叉事件測試,壓力測試,容量測試,兼容性測試,易用性/用戶體驗測試等.
系統測試的16個測試策略:功能測試、性能測試、壓力測試、容量測試、安全性測試、GUI測試、可用性測試、安裝測試、配置測試、異常測試,備份測試、健壯性測試、文檔測試、在線幫助測試、網絡測試、穩定性測試。
設計系統測試計劃需要參考的項目文擋:軟件測試計劃、軟件需求規范、迭代計劃
十二、 驗收測試
軟件驗收測試分為三類:正式驗收測試;非正式驗收測試其中包括α測試(由用戶、測試人員、開發人員共同參與的內部測試)和β測試(內測后的公測,即完全交給最終用戶測試)。
軟件驗收測試的合格通過準則是:軟件需求分析說明書中定義的所有功能已全部實現,性能指標全部達到要求;所有測試項沒有殘余一級、二級和三級錯誤;
立項審批表、需求分析文檔、設計文檔和編碼實現一致;驗收測試工件齊全。
不同的測試類型有著不同的方案,同時在過程中也需要使用到不同的工具。
軟件測試按照工作崗位可以分為功能測試、性能測試、測試開發,不同的工作崗位會用到不同的軟件測試工具:
1. 禪道
很多人最早接觸的測試管理工具就是禪道,禪道是第一款國產的開源項目管理軟件,功能包括測試管理、計劃管理、發布管理、文檔管理、事務管理等等。能夠把軟件研發中的需求、任務、bug用例、計劃等要素有序地跟蹤管理起來,完整地覆蓋了項目管理的核心流程。開源易上手,現在依然也有很多中小企業在使用禪道。
2.SVN
特點:跨平臺,支持大多數常見的操作系統,開源、安全、高效、資料共享
SVN是一個開源的集中式版本控制系統,是常用的代碼和項目管理工具。簡而言之就是用于多個人共同開發同一個項目,實現共享資源,實現最終集中式的管理。可以把SVN理解為一個庫,里面存放各種文件,SVN給每個文件打上標簽,記錄文件的每次變動,方便你查找、獲取最新的文件。
3. git
特點:免費開源,多分支管理比SVN好用
git和SVN的功能很像,但不同的是,SVN是集中式的,必須聯網才能正常工作。而git是分布式的,所以git支持離線工作,分支管理比SVN好用。但是git的命令繁多且復雜,沒有SVN簡單易用。
4.Jmeter
Jmeter是一款基于Java的壓力測試工具,旨在加載測試功能行為并測量性能。它最初是為測試Web應用程序而設計的,但后來擴展到其他測試功能。可用于測試靜態和動態資源(Web動態應用程序)的性能,比如Java小程序服務、CGI腳本、Java對象、數據庫、FTP服務等等。
JMeter 可以用于對服務器、網絡或對象模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體性能。
5.loadrunner
LoadRunner 是一種預測系統行為和性能的負載測試工具。通過以模擬上千萬用戶實施并發負載及實時性能監測的方式來確認和查找問題,LoadRunner 能夠對整個企業架構進行測試。通過使用LoadRunner ,企業能最大限度地縮短測試時間,優化性能和加速應用系統的發布周期。
6.Fiddler
Fiddler是一個常用的抓包工具。它是用C#寫出來的,可以支持眾多的http調試任務,并且能夠使用.net語言進行擴展。Fiddler支持斷點試技術,還可以顯示所有的Http通訊,你可以很輕松地看到你請求的某個頁面,總共被請求了多少次,以及多少字節被轉換了。同類型的工具還有 httpwatch,wireshark等等。
軟件測試工具分為自動化軟件測試工具和測試管理工具。自動化軟件測試工具存在的價值是為了提高測試效率,用軟件來代替一些人工輸入。測試管理工具是為了復用測試用例,提高軟件測試的價值。一個好的軟件測試工具和測試管理工具結合起來使用將會使軟件測試效率大大的提高。
軟件測試工具有哪些?
國內免費軟件測試工具有:AutoRunner和TestCenter。
10款常見的軟件測試工具推薦
1、Bugfree
BugFree是借鑒微軟的研發流程和Bug管理理念,使用PHP+MySQL獨立寫出的一個Bug管理 系統。簡單實用、免費并且開放源代碼(遵循GNU GPL)。 命名BugFree 有兩層意思:一是希望軟件中的缺陷越來越少直到沒有,Free嘛;二是表示它是免費且開放源代碼的,大家可以自由使用傳播。
2、bugzilla
Bugzilla 是一個開源的缺陷跟蹤系統(Bug-Tracking System),它可以管理軟件開發中缺陷的提交(new),修復(resolve),關閉(close)等整個生命周期。
3、Testlink
TestLink用于進行測試過程中的管理,通過使用TestLink提供的功能,可以將測試過程從測試需求、測試設計、到測試執行完整的管理起來,同時,它還提供了好多種測試結果的統計和分析,使我們能夠簡單的開始測試工作和分析測試結果。
4、manTIs
TMantis是一個基于PHP技術的輕量級的缺陷跟蹤系統,其功能與前面提及的JIRA系統類似,都是以Web操作的形式提供項目管理及缺陷跟蹤服務。在功能上可能沒有JIRA那么專業,界面也沒有JIRA漂亮,但在實用性上足以滿足中小型項目的管理及跟蹤。
5、QTP
QTP是一個B/S系統的自動化功能測試的利器,軟件程序測試工具。Mercury的自動化功能測試軟件QuickTest Professional ,可以覆蓋絕大多數的軟件開發技術,簡單高效,并具備測試用例可重用的特點。Mercury QuickTest Pro 是一款先進的自動化測試解決方案,用于創建功能和回歸測試。它自動捕獲、驗證和重放用戶的交互行為。 Mercury QuickTest Pro為每一個重要軟件應用和環境提供功能和回歸測試自動化的行業最佳解決方案。
6、selenium
selenium-core 是使用HTML的方式來編寫測試腳本,你也可以使用 Selenium-IDE來錄制腳本,但是目前Selenium-IDE只有 FireFox 版本。
7、weblnject
WebInject 是一個自動化測試工具,主要適合Web應用和Web服務。可以通過它來測試基于HTTP接口的系統組件,還可以用它來進行服務器監控。
8、maxq
MaxQ是一個Web功能測試工具。它包括一個記錄測試腳本的HTTP代理,一個用于重放測試的命令行實用程序。代理記錄器自動存儲提交到表單的變量,那么你無需用手書寫它們。
9、jmeter
Apache JMeter是Apache組織開發的基于Java的壓力測試工具。用于對軟件做壓力測試,它最初被設計用于Web應用測試,但后來擴展到其他測試領域。 它可以用于測試靜態和動態資源,例如靜態文件、Java 小服務程序、CGI 腳本、Java 對象、數據庫、FTP 服務器, 等等。
10、undefined
OpenSTA 是專用于B/S結構的、免費的性能測試工具。它的優點除了免費、源代碼開放的優點外,還能對錄制的測試腳本進行,按指定的語法進行編輯。在錄制完測試腳本后,可以對測試腳本進行編輯,以便進行特定的性能指標分析。其較為豐富的圖形化測試結果大大提高了測試報告的可閱讀性。
快轉正啦,要寫轉正評審ppt,順帶就總結了下個人學習路線,僅供參考。初學者不要看暈了,學完基礎就可以找實習啦,其他的慢慢來~
先附上xmind,簡潔明了
1、長期學習軟件測試理論
其中包括測試方法熟練運用、測試思維的養成
測試方法可以找一本基礎理論的書籍
以下是我入門的兩本測試理論書籍,可在公眾號回復(電子書)獲取電子版
熟練運用和測試思維的養成我認為是需要功能測試經驗的積累,多看看別人的用例,別人提交的bug
2、測試中bug定位分析
測試中bug定位可以學習fiddle抓包,數據庫分析數據,查看日志,之前發過的F12定位web測試前后端bug也是其中一種
Fiddle教程我發現現在多數教程都是如何使用,而聊到如何分析的幾乎沒有,我沒有找到哦,后面開一篇聊聊,共勉!
數據庫分析數據,這就需要學習數據庫相關知識了
SQL基本語句的學習(增刪改查),查詢是重點
3、接口測試
學習相關概念
學習Json基本語法
學習常見接口測試工具的使用
如Postman
Postman單口測試
Postman多口業務邏輯測試
Postman斷言
4、python基礎學習
看書、代碼敲起來、練習做起來
菜鳥書籍《笨辦法學Python》回復(電子書)獲取
注意!這邊的電子書是基于python2的
后續我會出python3寫的《笨辦法學Python2》系列習題答案,可持續關注,也可以直接看《笨辦法學Python3》
5、自動化測試
(1)python+selenium基于web的UI自動化學習
(2)python+appium基于APP的UI自動化學習
6、掌握1個或者多個自動測試框架,學習robotframework, python的unittest
7、掌握性能測試技術,學習jmeter
題外話:
現在常見的現象是功能測試工程師想去做自動化測試,他覺得寫自動化測試是價值,他能從中學到新的內容。
但是我覺得,你想清楚自己是在哪個階段上,你想往另一個方面去發展的話,那么你一定需要在另一個方面去做額外的努力。那么這個做努力的過程中,從知識積累的角度來講,它一定是從深度再到廣度。
所有的測試離不開基礎理論的支撐,即使是自動化。
我對自己的要求是在工作當中,如果接觸到了一個技術,一個項目,一個功能,不輕易放過。不是得過且過,我測了就測了,一定要刨根問底。相信這樣,每個接觸過的技術都會變得比較深入。隨著項目接觸的越來越多,做到的事情越來越多之后,你很快就會發現,你有了深度的同時你就有了廣度。
個人對自動化學習的要求:
考慮把身邊天天碰到的這些重復性勞動,用一個簡單的腳本,或者做一個簡單的工具去做優化。一方面這是來源于對整個知識體系的理解,想法、思維方式,以及行動。在這個過程中,就體現作為一個測試人員的價值。我相信隨著工具越來越多,知識面越來越廣后,能做的事情就會更多。
1、梳理模塊測試思維導圖用xmid
2、文件編輯用noted++
文件管理svn
3、文件傳輸用winscp
4、遠程用xshell,mscs
5、編程用Python3.8,pychar
代碼管理git
0
回答5
回答3
回答7
回答0
回答10
回答0
回答0
回答4
回答10
回答