测试工程师必会技能合集,这一篇全讲清楚了!

发表于:2023-9-07 14:03

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:明月时时有    来源:51Testing软件测试网原创

  经常会有小伙伴询问:“测试工程师有哪些必须要掌握的技能?”这是一个非常大的课题,因为每个人从事的行业不同、岗位不同,需要掌握的技能自然也不一样。
  今天小编就从不同岗位、不同行业两个大方面,来讲讲软件测试工程师需要掌握的技能列表,最后也会列出哪个技能对于现在的你比较重要。快来对着技能树查漏补缺,有的放矢学习技能吧~
  这里要提一下:这篇文章里说的测试工程师,是主攻软件领域的测试工程师。
  首先我们来看一下不同阶段的测试工程师需要掌握的技能体系:
(来源@测试猿)
  根据以上技能体系,小编给大家做了如下细分:
  一、通用技能
  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))至少会一门编程语言:javapython、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
  六、不同行业需要测试工程师的星级
  写在最后
  这是小编总结的”过度”全面的测试技能合集,你有没有不同意见,把你的不同意见分享出来,大家一起讨论,谢谢!
  版权声明:本文出自51Testing会员投稿,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号