软件测试工程师必备的27个基础技能

news2024/11/15 5:40:10

混迹于软件测试这么长时间了,一直想写一篇关于软件测试的经验分享的文章,但苦于工作原因迟迟未下笔。最近终于有了些闲余时间,遂决定把自己的心路历程及所感所想记录下来,与各位同行共勉。

以我多年的工作经验来看,软件功能测试是基础,未来发展方向主要有两方面(技术专家、测试管理)。

一、技术专家发展路线有如下三方面,可供参考:

1.从功能测试到性能测试专家:性能测试专家需要掌握一门编程语言、性能测试工具、系统架构、网络、数据库、服务器硬件等知识。性能测试分为前端性能测试(单用户操作系统响应速度),后台性能测试(多用户并发场景)。后台性能测试包括三个阶段:测试(性能测试场景分析设计、脚本编写或者录制、测试执行)、分析(根据性能测试目标分析测试数据,找出性能瓶颈)、解决方案(根据性能瓶颈,给出系统调优解决方案);

2.从功能测试到自动化测试专家:自动化测试专家可以向自动化测试工具、框架开发方向发展,即测试开发工程师。自动化测试工程师需要掌握一门脚本语言(如,Python),掌握一些测试工具(如,webdriver、testng、appium等),web前端知识(html、jquery、css等);

3.从功能测试到安全测试专家:安全测试对测试人员要求更高,要想在这条路上走的更远,建议是从事过开发、或者是对计算机、信息安全非常有兴趣的人去深入研究这方面的技能、知识。普通测试人员只能做比较简单的安全测试,无法深入。

二、测试管理方面发展,需要具备以下知识,仅供参考:

1.对软件测试流程流程、质量管理过程、项目管理要非常熟悉;

2.对功能测试、用例设计、专项测试技术有要了解(即使走上管理岗位也需要这些知识,不然无法服众);

3.良好的沟通能力、人际关系处理能力、有责任心、能抗压;

4.懂得如何管理团队,如何提升团队的能力,如何激发团队成员的工作热情等在这里插入图片描述

 三、软件测试工程师必备基础技能汇总

上面我总结了下软件测试的两大块发展方向,下面再来说一下成为一名合格的软件测试工程师需要具备哪些技能?

1.最佳隐形技能

开发语言知识背景

对被测试对象使用的语言有一定的了解,这样有助于测试工作的开展

计算机语言都具有一定的共通性,只要你深刻了解了一门语言,其他语言也不是难事

数据库的熟悉使用

能够自行编写大部分的SQL语句来辅助测试(SELECT,DELETE,UPDATE),对于存储过程可也多了解,在无程序辅助的情况下,它是制作数据的最好帮手

主要在日常测试工作中,提取数据库中的数据验以证测试结果的有效性、制作测试数据、批量修改测试数据等

被测试对象业务的熟悉度

对于被测试对象业务流程的了解越多、越深入越有利于测试工作的开展

2.测试理论

软件测试的基本概念,及软件测试存在的理由

不需要死记硬背,但能知道软件测试是做什么

软件测试的整体流程

能详细说出软件工程中完整的软件测试生命周期,及一些软件测试模型(双V,V模型)

软件工程中软件生命周期

软件工程中软件生命周期的主要过程,以及软件测试在生命周期中的阶段及作用

测试用例设计的几大基本方法

做到对于件测试中经常使用的测试用例设计方法能脱口而口,同时结合实际工作中的例子进行描述、解释

软件测试的几大类型能

根据实际项目,很快地说出某个被测试对象需要测试哪些类型

缺陷管理策略

缺陷的完整生命周期,有可能出现的一些其他环节

一个缺陷需要包含的内容,不可重现缺陷、缺陷不被认可等问题出现时的处理策略

白盒测试(仅针对白盒测试)

对代码有足够的驾驭能力

熟悉各种白盒测试用例设计方法,了解各个方法的优劣,根据业务需求熟悉的使用最恰当的方法进行测试用例设计

3.测试工具的使用

缺陷管理工具

Jira、Mantis、Bugfree、QC(TD)

JIra、Mantis、Bugfree都为开源软件

缺陷工具的基本使用本身简单,对于未使用过的缺陷工具,也要能快速的上手使用

需求管理工具

RationalRequisitePro

CloudtopoTopo

需求管理工具,一般用于大中型项目的需求管理

自动化工具

自动化测试基本流程

能清楚的说出自动化测试的基本流程,及自动化工具的基本原

自动化测试工具

QuickTestPro(QTP)fromHP

QTP为目前市场上很成熟的一款产品,以其强大的功能而占有主要的市场份额,但因价格昂贵,不少公司无法接受

SELENIUM、WATIR开源自动化测试工具

对于QTP昂贵的价格且不开源,开源的自动化工具可谓备受青睐

自动化测试脚本设计

说自动化测试,其实主要的重点在测试脚本的设计

设计脚本需要有一定的语言功底,如QTP默认使用的是VBS脚本,如果你对VBS熟悉,那么这款工具你可以算掌握了1/3

自动化测试框架了解、设计

测试框架就像大厦的基石,后续的扩展、丰富都要以此为基础,自然作为自动化测试的难点

刚接触自动化测试的同学可多了解

性能测试工具

LoadRunner(LR)fromHP

QALoad、WebRunner

性能测试原理及流程

性能测试脚本录制、调优

性能测试的重点工作之一录制、调优脚本

需要有一定的语言功底,如LR默认使用的是C语言,有C语言功底的同学学起来自然是有百利而无一害

性能测试场景设计

性能测试的又一个重点场景的设

场景的设计是否正确、合理,直接关系到最后性能测试结果的有效性

性能测试结果分析、性能分析(重点)

性能测试中的重中之重,也是性能测试的目的

通过性能测试结果数据,分析被测试对象中存在的问题,对被测试对象做出相应的调优后重新测试,直到被测试对象的性能参数达到要求。

4.计算机知识

了解并能使用常见操作系统

Windows系列、Mac系列、Linux系列

TCP/IP协议

知道TCP/IP协议的内容,以及对应层的功能

常用快捷指令的使用

在日常工作中能很快的使用运行中的快捷动作,如notepad,mspaint,ipconfig,regedit等

熟练计算机中各种键盘操作(键盘操作的效率至少是鼠标的3倍)

四、总结

以上就是我的一些经验之谈,对于在软件测试中依然找不到方向的朋友,个人建议如下:

1.对技术有高度热情、喜欢学习新知识的人,选择一个专项测试领域,不断积累,最后走测试专家路线;

2.善于沟通、有想法、思路清晰,内心不甘平庸的人,可以往测试管理方向发展。

发展方向想清楚了,就需要用行动去积累其岗位所需的知识、技能,机会总是留给有准备的人。


             【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通


二、接口自动化项目实战 

三、Web自动化项目实战


四、App自动化项目实战 

五、一线大厂简历


六、测试开发DevOps体系 

七、常用自动化测试工具


八、JMeter性能测试 

九、总结(尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!

【软件测试技术交流(免费领取全套软件测试资料)】:320231853(备注C)icon-default.png?t=N5K3http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=H1j6mp_9eGG23LNX5PwlX0JnVzwPdmlf&authKey=hJdPzdWN04zNIbuFtmCSDUbpu7hA9R%2FwR9jM9KGZGganFcm%2FC14SGNfjVddllBqy&noverify=0&group_code=320231853

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/712479.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

处理glibc堆栈缓冲区溢出漏洞(CVE-2018-11236)

GNU C Library(又名glibc,libc6)是一种按照LGPL许可协议发布的开源免费的C语言编译程序。 GNU C库(aka glibc或libc6)中的stdlib/canonicalize.c处理非常长的路径名参数到realpath函数时,可能会遇到32位体系…

判断平台现货白银价格趋势方法有哪些?

新手投资者面对平台现货白银走势总是束手无策,那是因为新手投资者对市场的运行规律,以及对一些常用的技术分析工具并不熟悉,最后无法判断市场走向,所以交易获利也无从谈起。下面,我们一起来讨论一些可以判别趋势的工具…

imazing是什么软件? iMazing 2.17.3备份神器,iPhone相册管理超方便!!!

相信很多小伙伴们听说过imazing,那么imazing这是一款什么软件呢,imazing是一款iOS设备管理软件,这款软件支持对基于iOS系统的设备进行数据传输与备份。 imazing是什么软件 答:imazing是一款iOS设备管理软件。 imazing是一款iOS设…

Steam搬运饰品诈骗套路,及补救措施

这几个月,圈内频频有人曝出Steam库存饰品被盗。今天我就来聊聊饰品安全问题,相信也是大家最关注的问题。 其实,市面上绝大多数库存被盗问题都是因为Steam安全信息泄露导致的。 最常见的钓鱼信息就是从Steam自身而来,例如Steam好友…

【测试数据】关于多路播放在mesh中卡顿问题

测试环境 ![(https://img-blog.csdnimg.cn/ab2c3fb7f4b945c3af2a8ecf36bd3d99.jpeg#pic_center) 各种场景数据 WEB端播放 web6路 VID_3路慢点 web第三路慢点 客户端播放 客户端6路 客户端vsWeb wifi vS mesh wifi Vs Mesh链路 wifi下还是很流畅,九路

用C语言实现“括号匹配“问题

🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏1: 🍔🍟🌯C语言初阶 🐻推荐专栏2: 🍔🍟🌯C语言进阶 🔑个人信条: 🌵知行合一 &#x1f…

Springboot整合Activiti详解

文章目录 版本依赖配置文件需要注意的问题画流程图activiti服务类进行编写流程部署流程定义启动流程流程实例 测试流程启动流程完成任务受理任务 版本依赖 开发工具 IDEASpringBoot 2.4.5(这里我试过SpringBoot 3.1.1版本,Activiti没有启动,…

现代卓越首席咨询顾问张智喨受邀为第十二届中国PMO大会演讲嘉宾

现代卓越首席咨询顾问张智喨老师受邀为由PMO评论主办的2023第十二届中国PMO大会演讲嘉宾,演讲议题:BANI时代下如何打造价值导向型PMO。大会将于8月12-13日在北京举办,敬请关注! 议题简要: 在BANI时代下,企…

机器学习14:稀疏性-Sparsity

现实世界中,问题的特征的数量往往是很大的,而其中起决定性作用的往往是很小的一部分,稀疏规则化算子的引入会学习去掉这些没有信息的特征,也就是把这些特征对应的权重置为 0。 1.稀疏性正则化:L₁ 正则化 稀疏向量通常…

Docker容器初识篇

学习-https://vuepress.mirror.docker-practice.com/basic_concept/container/ https://www.bookstack.cn/cate 什么是Docker Docker 和传统虚拟化方式的不同之处。传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应…

时间序列分解 | Matlab集合经验模态分解EEMD的信号分解

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 时间序列分解 | Matlab集合经验模态分解EEMD的信号分解 部分源码 %--------------------

JavaWeb学习路线(10)—— 关于SpringBoot的原理

一、配置文件优先级 在Springboot框架三s种配置文件的格式 application.propertiesapplication.ymlapplication.yaml Springboot是支持多配置文件的,所以当我们使用两种配置文件配置相同参数时,Springboot会执行哪一个配置文件呢?这就是Sp…

FFmpeg5.0源码阅读—— avcodec_open2

摘要:本文主要描述了FFmpeg中用于打开编解码器接口avcodec_open2大致流程的具体调用流程,详细描述了该接口被调用时所作的具体工作。   关键字:ffmpeg、avcodec_open2大致流程   注意:读者需要了解FFmpeg的基本使用流程&#…

SpringMVC (一) 什么是SpringMVC

一、回顾MVC 1.1、什么是MVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模式。…

在 ZBrush、Maya 和 Substance 3D Painter 中制作后世界末日女性角色

今天瑞云渲染小编给大家带来了蒂亚戈布兰道 (Thiago Brandao) 分享的设计极其精细后世界末日女性角色背后的秘密,解释了复杂的纹理处理过程,并谈到了创造逼真的面部特征。 介绍 我的名字是蒂亚戈-布兰道。我来自巴西,目前住在这里。从小&…

【AJAX】原生AJAX

目录 一、AJAX的使用场景 二、原生的AJAX 三、HTTP : 1、原生AJAX GET请求 1、原生AJAX POST请求 四、总结 一、AJAX的使用场景 1、页面不刷新的情况下,浏览器等搜索框输入某关键字出现多个搜索选择内容,如下图所示: 2、登录、注册界面输…

前端JS如何实现对复杂文本进行句子分割,将每句话拆分出来?

文章目录 切割句子背景简介前端如何使用NLP?技术实现 切割句子背景简介 开发中遇到一种场景,在做文本翻译这块需求时,需要对输入的原文进行一句一句话的拆分出来,传给后台,获取每句话的翻译结果,便于实现页…

clickhouse系统日志引起的root目录磁盘满的问题处理

问题及追踪 对于生产环境,尤其是配置较低的生产环境,一定要注意资源的使用 今天就遇到一个问题,服务器磁盘接近满了,部署的平台服务异常,无法提供服务 简单说一下客户环境:客户只有老的Windows server 服…

hydra的简单使用

Hydra是一款开源的暴力PJ工具,集成在kali当中。 参数功能-l指定用户名-p指定密码-L指定用户名字典-P指定密码字典-C指定所用格式为“user:password”的字典文件-en null,表示尝试空密码-es same,把用户名本身当做密码进行尝试-er 反向&#…

哈工大计算机网络课程网络层协议详解之:距离向量路由算法与层次化路由算法

文章目录 距离向量路由算法Bellman-Ford算法举例距离向量路由算法 层次化路由算法层次化路由AS示例自治系统间(Inter-AS)路由任务 在上一节中我们介绍了路由算法中的链路状态路由算法,介绍它基于Dijkstra算法来实现,同时分析了其缺…