经常会有小伙伴询问:“测试工程师有哪些必须要掌握的技能?”这是一个非常大的课题,因为每个人从事的行业不同、岗位不同,需要掌握的技能自然也不一样。
今天小编就从不同岗位、不同行业两个大方面,来讲讲软件测试工程师需要掌握的技能列表,最后也会列出哪个技能对于现在的你比较重要。快来对着技能树查漏补缺,有的放矢学习技能吧~
这里要提一下:这篇文章里说的测试工程师,是主攻软件领域的测试工程师。
首先我们来看一下不同阶段的测试工程师需要掌握的技能体系:
根据以上技能体系,小编给大家做了如下细分:
01 通用技能
1 业务相关
站在客户角度思考业务;掌握业务需求的知识内容、业务管理流程、行业现状和发展方向。
2 管理相关
1、时间管理(四象限法则)。
2、目标管理(SMART法则)。
3、知识管理
工具:Xmind、有道云笔记、印象笔记、Blog、GitHub、CSDN等。
4、团队管理
team leader:
认真完成任务分工;
及时汇报工作情况;
建设员工技术成长体系;
关注员工身心健康发展。
team worker:
认清任务职责边界;
工作中敢于担当;
对自己负责,对团队负责,
对公司负责;
与同事之间彼此包容、和谐相处。
3 思考、沟通和持续学习能力
思考:
今天完成了什么内容、明天需要做什么、自己哪些方面做得好,哪些做得不够好,下次需要改进;
近期工作计划、学习计划、职业规划、人生规划。
沟通:
敢于沟通:主动了解和听取对方的想法,敢于表达自己的观点,表达观点时说话语气很重要,要平和;
勤于沟通:多和别人交流与工作相关的意见和想法;
善于沟通:提升沟通技巧和效率,善于提问;沟通过程对事不对人,以解决问题为根本。
持续学习能力:
测试技术更新快速,测试工程师需要保持持续学习的态度,跟随行业发展,时刻关注测试行业最新技术和趋势,不断提升自己的专业能力,以保持竞争力。
02 功能测试需要的技能
1 客户端功能测试的技能
1、熟练掌握web测试与app测试关注点的不同,比如,界面、兼容性、app安装/卸载/升级、app弱网、app操作方式(横/竖屏、手势)、app交叉事件等测试。
2、熟练掌握几种常见的缺陷管理工具(Jira等)和代码管理工具(SVN等),熟悉缺陷的定义标准和系统化测试计划编写等。
3、至少会一门编程语言:Java、Python、C#等,可以不精通,但要写过简单的代码。
4、掌握用例设计工具(latin)和Web测试工具(xenu等)的使用。
需要掌握的工具:
缺陷管理工具:Jira、禅道、Bugfree、自研工具等;
文档协作管理工具:wiki、Docs(在线协作)、Xmind;
用例编写工具:Latin;
用例执行工具:Xenu(web)、adb(app);
代码编写工具:Pycharm等;
弱网测试工具:Charles;
安全测试工具:AWVS(网站及服务器漏洞扫描软件)、sqlmap(检测与利用SQL注入漏洞的免费开源工具)、Nmap(网络扫描和嗅探工具)。
2 服务端功能测试
熟练使用Postman或JMeter做接口测试;
深度了解HTTP/HTTPS协议的原理和作用;
掌握Linux命令查看服务器信息;
会使用JMeter做简单的性能测试;
使用Python+Requests+Unittest/Pytest+htmlrunner框架写过简单的接口自动化脚本;
熟练操作数据库:增、删、改和多表查询,可以写存储过程,独立完成测试数据的制造。
需要掌握的工具:
抓包工具:Fiddler、Charles、Wireshark;
接口测试工具:Postman、HttpRequester、JMeter等;
性能工具:JMeter等;
数据工具:Navicat、redisdesktopmanager;
车载特有工具:canoe、cantest、Qnet、busmaster、gt。
3 共通技能
软件测试知识:对软件测试的基本概念、方法和流程有深入的了解,熟悉各种测试技术和工具。
测试方法论:
熟悉测试方法论和流程,例如黑盒测试、白盒测试;
熟练掌握黑盒测试方法(等价类、边界值等)和白盒测试方法(基本路径等),熟练使用这些方法论制定测试计划和测试策略,设计有效的测试用例。
03 自动化测试需要的技能
1 客户端自动化的技能
对于Web应用程序的自动化测试,掌握HTML、CSS和JavaScript很有帮助的;
熟练掌握UI自动化测试框架的环境搭建,比如:Python+Selenium+Unittest+htmlrunner;
熟练掌握APP移动自动化测试的完整流程和测试方法。
需要掌握的工具:
Android自动化测试:UIAutomator、Appium(基于Webdriver框架)、UIautomator2(仅支持Android)、AirTest;
iOS自动化测试:WebDriverAgent、Appium(基于WebDriverAgent框架)、AirTest;
Web自动化测试:Selenium;
微信小程序自动化测试:ChromeDriver;
客户端自动化测试:Pyautoit。
2 服务端自动化的技能
熟练搭建工具自动化的搭建:Postman/JMeter+Newman/ant+Jenkins;
能够独立完成Python+Requests+Unittest/Pytest+htmlrunner的测试框架的开发;
能够独立完成自动化接口脚本的编写和维护。
需要掌握的工具:
Python+Requests+Unittest/Pytest+htmlrunner;
Java+rest-assured;
Robot Framework;
HttpRunner;
Postman+Newman+Jenkins;
JMeter+Ant+Jenkins;
Vue+Flask&Django。
3 共通技能
编程技能:至少掌握一门编程语言(Python、Java、C++等),没有编程基础的建议选择Python,因为简单易学,对新手比较友好,而且在测试领域的应用极为广泛,以编写自动化测试脚本和工具;
测试工具和框架:熟悉常用的自动化测试工具和框架,例如Selenium、WebDriver、Appium、Unittest/Pytest/JUnit、htmlrunner(测试报告工具)等,提高自动化测试的效率和准确性;
基础知识:了解软件开发生命周期和软件测试基础知识,包括需求分析、设计、编码、调试和发布等阶段;理解软件开发流程和相关概念更好地与开发团队协作;
调试和故障排除:具备良好的问题分析和故障排除能力,能够快速定位测试脚本和自动化测试框架的问题,并提供解决方案。
04 性能测试需要的技能
1 客户端(app)性能测试的技能
性能测试工具:熟练掌握性能测试工具,如solopi等,对客户端进行性能测试;
客户端技术知识:了解客户端开发的基本原理和技术,熟悉常见的移动应用开发框架(如iOS、Android),了解Web前端技术(如HTML、CSS、JS等);
性能测试指标:明确客户端性能测试指标(冷热启动时间、耗电量、流量、CPU、内存、GPU、帧率、页面切换时间和稳定性测试)及预期结果。
需要掌握的工具:
PerfDog、solopi;
adb;
ffmpeg(音视频);
dumpsys batterystatus;
Battery-Historian;
Monkey、MonkeyRunner等。
2 后端服务器性能测试的技能
熟悉性能测试过程,能够独立分析性能需求;
深度掌握JMeter或Loadrunner的拓展用法,能独立完成性能测试;
操作系统和网络知识:了解操作系统的原理和常见问题,熟悉网络通信协议和架构,有助于深入理解系统的性能特点和影响因素;
脚本开发:熟悉至少一种编程语言(如Python、Js等),能够编写自动化脚本支持性能测试工作,并进行数据处理和结果分析;
数据库知识:了解数据库的基本原理和性能优化策略,熟悉常见数据库管理系统(如MySQL等)和性能调优方法;
系统架构与设计:能够理解系统各个模块之间的交互关系,为性能测试提供有效的支持和指导;
压力测试和容量规划:具备压力测试和容量规划的知识和经验,能够根据系统需求和预期负载,评估系统的容量,并制定相应的扩展和优化方案。
需要掌握的工具:
性能测试工具:JMeter、Gatling、LoadRunner;
资源监控工具:性能监视器、nmon等;
数据库监控工具:monitor等。
3 共通技能
操作系统知识:熟悉操作系统的基本原理和常用命令,了解操作系统对性能的影响。
问题解决能力:善于分析和解决技术问题,具备良好的故障排除能力,能够处理性能测试过程中遇到的各种技术难题。
性能测试方法与策略:了解性能测试的基本原理和方法,熟悉负载模型和性能指标,能够选择合适的性能测试策略,并设计相应的测试方案。
性能问题分析与调优:能够对性能测试结果进行分析和解读,定位系统资源瓶颈和性能问题,并提出有效的优化措施。
05 其它需要掌握的工具
H5性能测试:Chrome Devtool、W3C Performance API;
环境部署工具:Docker(应用容器引擎)、K8S(基于容器的集群管理平台);
辅助开发工具:Vue.js、Nodejs。
06 不同行业需要测试工程师的星级
07 写在最后
这是小编总结的”过度”全面的测试技能合集,你有没有不同意见,把你的不同意见分享出来,大家一起讨论,谢谢!
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。