經常會有小伙伴詢問:“測試工程師有哪些必須要掌握的技能?”這是一個非常大的課題,因為每個人從事的行業不同、崗位不同,需要掌握的技能自然也不一樣。
![]()
今天小編就從不同崗位、不同行業兩個大方面,來講講軟件測試工程師需要掌握的技能列表,最后也會列出哪個技能對于現在的你比較重要。快來對著技能樹查漏補缺,有的放矢學習技能吧~
這里要提一下:這篇文章里說的測試工程師,是主攻軟件領域的測試工程師。
首先我們來看一下不同階段的測試工程師需要掌握的技能體系:
![]()
(來源@測試猿)
根據以上技能體系,小編給大家做了如下細分:
一、通用技能
1業務相關
站在客戶角度思考業務;掌握業務需求的知識內容、業務管理流程、行業現狀和發展方向;
2管理相關
1)時間管理(四象限法則)
![]()
2)目標管理(SMART法則)
![]()
3)知識管理
工具:xmind、有道云筆記、印象筆記、Blog、GitHub、CSDN等
4)團隊管理
team leader:
認真完成任務分工;及時匯報工作情況;建設員工技術成長體系;關注員工身心健康發展;
team worker:
認清任務職責邊界;工作中敢于擔當;對自己負責,對團隊負責,對公司負責;與同事之間彼此包容、和諧相處;
3思考、溝通和持續學習能力
思考
今天完成了什么內容、明天需要做什么、自己哪些方面做得好,哪些做得不夠好,下次需要改進;近期工作計劃、學習計劃、職業規劃、人生規劃。
溝通
敢于溝通:主動了解和聽取對方的想法,敢于表達自己的觀點,表達觀點時說話語氣很重要,要平和;
勤于溝通:多和別人交流與工作相關的意見和想法;
善于溝通:提升溝通技巧和效率,善于提問;溝通過程對事不對人,以解決問題為根本。
持續學習能力
持續學習精神:測試技術更新快速,測試工程師需要保持持續學習的態度,跟隨行業發展,時刻關注測試行業最新技術和趨勢,不斷提升自己的專業能力,以保持競爭力;
二、功能測試需要的技能
1、客戶端功能測試的技能
1)熟練掌握web測試與app測試關注點的不同,比如,界面、兼容性、app安裝/卸載/升級、app弱網、app操作方式(橫/豎屏、手勢)、app交叉事件等測試;
2)熟練掌握幾種常見的缺陷管理工具(Jira等)和代碼管理工具(SVN等),熟悉缺陷的定義標準和系統化測試計劃編寫等;
3))至少會一門編程語言:java、python、C#等,可以不精通,但要寫過簡單的代碼;
4)掌握用例設計工具(latin)和web測試工具(xenu等)的使用;
需要掌握的工具:
1)缺陷管理工具
Jira、禪道、bugfree、自研工具等;
2)文檔協作管理工具
wiki;
Docs--在線協作;
Xmind;
3)用例編寫工具
Latin;
4)用例執行工具
Xenu(web)、adb(app);
5)代碼編寫工具
Pycharm等
6)弱網測試工具
Charles
7)安全測試工具
AWVS--網站及服務器漏洞掃描軟件
sqlmap--檢測與利用SQL注入漏洞的免費開源工具
Nmap--網絡掃描和嗅探工具
2、服務端功能測試
1)熟練使用postman或jmeter做接口測試;
2)深度了解HTTP/HTTPS協議的原理和作用;
3)掌握Linux命令查看服務器信息;
4)會使用jmeter做簡單的性能測試;
5)使用python+requests+unittest/pytest+htmlrunner框架寫過簡單的接口自動化腳本;
6)熟練操作數據庫:增、刪、改和多表查詢,可以寫存儲過程,獨立完成測試數據的制造;
需要掌握的工具:
1)抓包工具
Fiddler、Charleswireshark;
2)接口測試工具
Postman、HttpRequester、jmeter等;
3)性能工具
Jmeter等;
4)數據工具
Navicat、redisdesktopmanager;
5)車載特有工具
canoe、cantest、Qnet、busmaster、gt
3、共通技能:
1)軟件測試知識:對軟件測試的基本概念、方法和流程有深入的了解,熟悉各種測試技術和工具;
2)測試方法論:熟悉測試方法論和流程,例如黑盒測試、白盒測試;熟練掌握黑盒測試方法(等價類、邊界值等)和白盒測試方法(基本路徑等),熟練使用這些方法論制定測試計劃和測試策略,設計有效的測試用例;
三、自動化測試需要的技能
1、客戶端自動化的技能
1)對于Web應用程序的自動化測試,掌握HTML、CSS和JavaScript很有幫助的。
2)熟練掌握UI自動化測試框架的環境搭建,比如,python+selenium+unittest+htmlrunner;
3)熟練掌握APP移動自動化測試的完整流程和測試方法;
需要掌握的工具:
1)Android自動化測試
UIAutomator
appium(基于webdriver框架)
uiautomator2(僅支持Android)
AirTest
2)iOS自動化測試
WebDriverAgent
appium(基于WebDriverAgent框架)
AirTest
3)Web自動化測試
Selenium
4)微信小程序自動化測試
ChromeDriver
5)客戶端自動化測試
Pyautoit
2、服務端自動化的技能
1)熟練搭建工具自動化的搭建:postman/jmeter+newman/ant+jenkins;
2)能夠獨立完成Python+requests+unittest/pytest+htmlrunner的測試框架的開發;
3)能夠獨立完成自動化接口腳本的編寫和維護;
需要掌握的工具:
Python+requests+unittest/pytest+htmlrunner;
Java+rest-assured;
Robot Framework;
HttpRunner;
Postman+Newman+jenkins;
Jmeter+Ant+jenkins;
Vue+Flask&Django;
3、共通技能
1)編程技能:至少掌握一門編程語言(Python、Java、C++等),沒有編程基礎的建議選擇Python,因為簡單易學,對新手比較友好,而且在測試領域的應用極為廣泛,以編寫自動化測試腳本和工具;
2)測試工具和框架:熟悉常用的自動化測試工具和框架,例如Selenium WebDriver、Appium、unittest/pytest/JUnit、htmlrunner(測試報告工具)等,提高自動化測試的效率和準確性;
3)基礎知識:了解軟件開發生命周期和軟件測試基礎知識,包括需求分析、設計、編碼、調試和發布等階段;理解軟件開發流程和相關概念更好地與開發團隊協作;
4)調試和故障排除:具備良好的問題分析和故障排除能力,能夠快速定位測試腳本和自動化測試框架的問題,并提供解決方案;
四、性能測試需要的技能
1、客戶端(app)性能測試的技能
1)性能測試工具:熟練掌握性能測試工具,如solopi等,對客戶端進行性能測試。
2)客戶端技術知識:了解客戶端開發的基本原理和技術,熟悉常見的移動應用開發框架(如iOS、Android),了解Web前端技術(如HTML、CSS、JS等);
3)性能測試指標:明確客戶端性能測試指標(冷熱啟動時間、耗電量、流量、CPU、內存、GPU、幀率、頁面切換時間和穩定性測試)及預期結果;
需要掌握的工具:
1)PerfDog、solopi
2)adb
3)ffmpeg(音視頻)
4)dumpsys batterystatus
5)Battery-Historian
6)Monkey、MonkeyRunner等
2、后端服務器性能測試的技能
1)熟悉性能測試過程,能夠獨立分析性能需求;
2)深度掌握Jmeter或Loadrunner的拓展用法,能獨立完成性能測試;
3)操作系統和網絡知識:了解操作系統的原理和常見問題,熟悉網絡通信協議和架構,有助于深入理解系統的性能特點和影響因素;
4)腳本開發:熟悉至少一種編程語言(如Python、Js等),能夠編寫自動化腳本支持性能測試工作,并進行數據處理和結果分析;
5)數據庫知識:了解數據庫的基本原理和性能優化策略,熟悉常見數據庫管理系統(如MySQL等)和性能調優方法;
6)系統架構與設計:能夠理解系統各個模塊之間的交互關系,為性能測試提供有效的支持和指導;
7)壓力測試和容量規劃:具備壓力測試和容量規劃的知識和經驗,能夠根據系統需求和預期負載,評估系統的容量,并制定相應的擴展和優化方案;
需要掌握的工具:
1)性能測試工具:Jmeter、Gatling、LoadRunner;
2)資源監控工具:性能監視器、nmon等;
3)數據庫監控工具:monitor等;
3、共通技能
1)操作系統知識:熟悉操作系統的基本原理和常用命令,了解操作系統對性能的影響。
2)問題解決能力:善于分析和解決技術問題,具備良好的故障排除能力,能夠處理性能測試過程中遇到的各種技術難題。
3)性能測試方法與策略:了解性能測試的基本原理和方法,熟悉負載模型和性能指標,能夠選擇合適的性能測試策略,并設計相應的測試方案。
4)性能問題分析與調優:能夠對性能測試結果進行分析和解讀,定位系統資源瓶頸和性能問題,并提出有效的優化措施。
五、其他需要掌握的工具
1)H5性能測試
(1)Chrome Devtool
(2)W3C Performance API
2)環境部署工具
(1)Docker--應用容器引擎
(2)K8S--基于容器的集群管理平臺
3)輔助開發工具
(1)Vue.js
(2)Nodejs
六、不同行業需要測試工程師的星級
![]()
這是小編總結的”過度”全面的測試技能合集,你有沒有不同意見,把你的不同意見分享出來,大家一起討論,謝謝!
入群學習交流↓↓↓↓↓↓
![]()
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.