零基础入门测试该学什么?最全整理,照着学就对了

news2024/11/17 5:38:31

零基础入门测试该学什么?最全整理,照着学就对了

于很多小白而言,想要转行软件测试岗位,却又怕自己从来没有接触过计算机,底子很薄弱,从而还没开始就打起了退堂鼓。也有许多初学者,在入门的过程中,苦于不知道该学什么,又该从何学起,常常搞得一团乱麻。

随着时代的发展,测试行业也从最初的功能测试,演变成现在的自动化测试、接口测试、性能测试、安全测试、测试开发等岗位。企业软件质量的要求已经越来越高,所以测试也越来越受到重视,相应的,想要转行测试,如果没有一份完整的规划,学习的效率也会大打折扣。

本期,笔者就给大家盘点一下,零基础转行测试需要学习哪些内容呢?

什么是测试工程师?

软件测试工程师主要是负责理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性(Robustness),写出相应的测试规范和测试案例。
简单来说,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。

同时,由于测试行业的综合性和全面性,测试需要和很多人员打交道,其中包括开发人员、产品经理等等和软件项目相关的岗位,相对的,一个好的测试人员可以去转行许多岗位。

如产品岗位,因为在做项目时,他们就会接触到一些设计常识,如运维工程师,因为测试也需要代建环境,甚至有的测试员可以去做软件的部署等等。由此可见,学好测试其实未来可以选择发展的方向有很多。

再回归到测试本身,测试的发展之路很长,需要不断的学习进步,提升自己的硬技能和软技能,硬技能指的是技术方面,软技能就是我们上述提到的和其他部门人员的沟通,处理矛盾等等各方面的问题。

所以,想要成为一名好的测试工程师并不简单。

测试学习成长路线

下面给大家一个技术学习成长路线,小伙伴可以根据此参考,开始学习:

上述是比较偏技术层面的职业发展路线,对于职业发展路线有疑问的小伙伴可以看本栏目上期的文章《最全「软件测试工程师」职业生涯路线盘点(内含薪资统计)》来决定自己的发展方向。

技术路线会更加偏重代码技术方向,测试领域有,服务器端测试,客户端测试,安全测试,性能测试,接口测试,自动化测试,渗透测试,测试开发。当你已经达到了测试开发的水平,也就说明你离这个行业的金字塔顶端不远了。

下面针对这条路线中比较关键的几点拎出来和大家说一下:

1)软件测试基础知识

这一阶段,我们需要了解软件测试的概念,掌握软件测试是干什么的,熟悉软件测试的基础理论和测试方法,了解测试的生命周期,测试流程,测试用例的编写方法,在项目中的日常工作主要做什么等等。需要掌握以下两点:

软件测试相关文档的学习和BUG提交规范的学习

1、了解测试计划、测试方案、测试策略、需求文档、需求评审、测试用例设计方法等

2、了解bug的定义、分类、bug的生命周期,bug提交规范,bug管理工具和项目管理工具的基本使用(禅道,jira,tapd,readmind,testlink等)。

需要学习哪些测试工具

1、xmind/mindmanage思维导图、svn/git源代码和文档管理工具、抓包工具(fiddler、charles:掌握基本抓包用法,弱网请求、接口请求拦截、响应结果篡改)

2、学习linux基本操作,掌握常用命令,学会环境部署的大致操作

3、学习数据库的基本知识,掌握增删改查的常见操作

4、了解一些简单的html、css、javascript相关的内容,有个概念就行

5、结合以上工具,再运用到项目中,回过头来重新再去测试一遍(不要觉得枯燥,测试经常干一些反复琐碎的事情,需要耐心和细心)

2)语言基础

这一阶段建议大家选择Python 或者Java入门,首推Python,学完再学Java,语言的很多思想和语法都是相通的,学完第一门,第二门就很容易上手了。

3)手动转自动

在我们学习了一个语言后,我们需要不断熟悉精通这门语言,可以结合Selenium学习Web自动化测试,通过脚本,会快速提高语言基础知识的理解和运用。

4)自动化脚本开发

这个阶段我们需要会自己写出测试用例了,如果Selenium自动化脚本开发,你起码要完成100个自动化测试用例,才能做到熟练运用。

5)了解和接触框架

这里的框架指的是测试的框架,这一阶段我们需要继续深入研究Selenium和一些自动化测试框架的知识,其中包括,单元测试框架,Java中Junit或者testNG,Python中unittest

6)设计简单测试框架

一个测试框架大概包括测试对象,测试组件,基础类和函数,工具类,测试数据,异常处理,测试日志,断言和测试报告等这些模块。

在设计测试框架的时候,我们要尽可能的将这些模块有机的结合起来,将脚本能够有效的组织、连贯应用起来,提高测试脚本的可维护性和可读性。

7)常见设计框架
由于应用系统技术五花八门,几乎没有测试框架能应用在多个项目上并体现出应有的价值,所以一般情况都需要根据项目自身情况来定制化我们的测试框架,常用的有数据驱动,关键字驱动和两种方式的混合。

8)Linux和数据库

当自动化测试到一定深度,就需要用代码连接数据库去测试,所以常见的linux和shell脚本是有必要学习的。

9)版本控制和持续集成

持续集成指的是,频繁地(一天多次)将代码集成到主干。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。

根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。同时,集成可以帮助我们每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。

10)Web前端(可选)

我们可以学一些前端的知识,来帮助我们之后更好的完成工作。

11)写一些小程序

通过一些小程序来帮助我们更快的确定自己的技术能力在哪个层面。

12)完全掌握一门语言

可以将这一阶段看作一个学习的目标,帮助我们稳定代码基础。

写在最后

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

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

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

相关文章

虚拟化技术介绍-VMware和Docker的区别

都说今天是一个云时代,其实云的本质就是由基础架构提供商提供基础架构,应用开发商不再关心基础架构。我们可以类比人类刚刚发明电的时候,工厂需要自己建电站,而现在只需要电线和插座就可以使用电。云时代让我们可以在分钟、甚至秒…

ASEMI代理ADI亚德诺ADUM3211TRZ-RL7原厂芯片

编辑-Z ADUM3211TRZ-RL7参数描述: 型号:ADUM3211TRZ-RL7 数据速率:10 Mbps 传播延迟:50 ns 脉冲宽度失真:3 ns 脉冲宽度:100 ns 输出上升/下降时间:2.5 ns 供电电流:2.6 mA …

Google Play应用广告系列的转化跟踪

设置和了解我们应用的转化对于广告投放的成功至关重要。依赖错误或虚假数据,很容易影响我们的目标和投资回报。 无论我们运行的是什么活动,要做的第一件事就是将主要转化与其成本相关联: 1,应用安装活动侧重于安装和 CPI 或每次…

Gif动图怎么在线做?教你在线做gif动画图片

****  现在很多广告营销中gif动图非常的收欢迎,比传统的静态图片画面要生动丰富。但是,要如何制作gif动图宣传图片呢?小白也能操作吗? 一、什么工具能够在线制作gif动画图片? GIF中文网作为专业的gif制作&#xff…

Chromium源码视频播放分析

​ 下载代码,调试方法等见Chromium视频播放相关调试记录_bberdong的博客-CSDN博客 硬解流程 GPU进程 MediaService::CreateInterfaceFactory,然后创建了InterfaceFactoryImpl。 创建解码器 gpu进程收到了一个message创建了一个MojoVideoDecoderServ…

TypeScript 基础语法

(一) 类型 1、基元类型 类型例子描述number1, -33, 2.5任意数字string‘hi’, “hi”, hi任意字符串booleantrue、false布尔值true或falsenull值只能为nullundefined值只能为undefined字面量其本身(详见 面向对象 15泛型)限制变量的值就是该字面量的值any*任意类型unknown*类…

代码随想录算法训练营第二天| 977. 有序数组的平方、209. 长度最小的子数组、59. 螺旋矩阵

有序数组的平方: 题目链接:力扣 知识点:双指针。 思路分析:首先想到的是不怎么动脑子的暴力想法,即先将vector中的各元素用pow函数进行平方,接着再用sort函数对已平方过的数据进行排序。 但是由于sort是基于快速排序…

修复bug:FlexibleButton id相反问题

目录 版本:https://github.com/murphyzhao/FlexibleButton/releases/tag/2.0.1 问题现象 问题描述 查源码! 注册 读按键 按键处理 小结 版本:https://github.com/murphyzhao/FlexibleButton/releases/tag/2.0.1https://github.com/mur…

00后自述,生活所迫,不卷一点我能怎么办?

前段时间我去面试了一个软件测试公司,成功拿到了offer,薪资也从10k涨到了15k,对于工作都还没两年的我来说,还是比较满意的,毕竟有些工作了3到4年的可能还没有我的高。 在公司一段时间后大家都说我是卷王,其…

MySQL5.7数据导入/导出、TiDB数据回迁移

一、环境&安装包 CentOS Linux release 7.4.1708 (Core)TDSQL(腾讯基于MySQL5.7.x自主研发的数据库)Mysqldump(MySQL5.7.41备份客户端)Dumpling(mydumper 的全新升级版)Myloader(mydumper附…

Flutter 3.10 之 Flutter Web 路线已定,可用性进一步提升,快来尝鲜 WasmGC

随着 Flutter 3.10 发布,Flutter Web 也引来了它最具有「里程碑」意义的更新,这里的「里程碑」不是说这次 Flutter Web 有多么重大的更新,而是 Flutter 官方对于 Web 终于有了明确的定位和方向。 提升 首先我们简单聊提升,这不是…

用处巨广的操作符,快来学学叭(C语言版)

🤩本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 🥰内容专栏:这里是《C知识系统分享》专栏,笔者用重金(时间和精力)打造,基础知识一网打尽&#xff0c…

buildroot 目录结构

buildroot 目录结构 board 存放着不同厂商相关的文件 buildroot-2023.02/board/sipeed/lichee_rv_dock里面描述了如何连接wifi,蓝牙,烧写sdcard.img 如何配置buildroot和编译等 make sipeed_lichee_rv_dock_defconfig makearch 存放着CPU相关的文件&#xff0c…

SQLite:轻量级嵌入式数据库

原创 | 文 BFT机器人 引言 SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。就像其他数据库,SQLite 引擎不…

AI —— 亲测讯飞星火认知大模型,真的很酷!

讯飞星火认知大模型真的很酷! 前言🙌讯飞星火认知大模型基本的使用介绍与讯飞星火认知大模型基本的对话 总结撒花💞 😎博客昵称:博客小梦 😊最喜欢的座右铭:全神贯注的上吧!&#xf…

FE_Vue学习笔记 条件渲染[v-show v-if] 列表渲染[v-for] 列表过滤 列表排序

1 条件渲染 v-show v-if 使用template可以使其里面的内容在html的结构中不变。条件渲染: v-if 1)v-if“表达式” 2)v-else-if“表达式” 3)v-else {} 适用于:切换频率较低的场景。特点:不展示的DOM元素直…

rem、px、em的区别 -前端

文章目录 三者的区别特点与换算举例emrem 总结一总结二 三者的区别 在css中单位长度用的最多的是px、em、rem,这三个的区别是: 一、px是固定的像素,一旦设置了就无法因为适应页面大小而改变。 二、em和rem相对于px更具有灵活性,…

消息认证码以及数字签名的认识

文章目录 消息认证码及数字签名1. 消息认证码1.1 消息认证1.2 消息认证码的使用步骤1.3 go中对消息认证码的使用1.4 消息认证码的问题 2.数字签名2.1 数字签名的生成和验证2.2 数字签名的流程2.3 Go使用RSA进行数字签名2.4 Go使用椭圆曲线进行数字签名2.5 数字签名无法解决的问…

dts pinctrl初始gpio0方法

1、在pinctrl-rockchip.c文件中添加头文件 #include <linux/of_gpio.h> 如下 2、 在如下函数添加红色代码 static int rockchip_pinctrl_probe(struct platform_device *pdev) { struct rockchip_pinctrl *info; struct device *dev &pdev->dev; …

Vue3 自定义指令让元素自适应高度,el-table在可视区域内滚起来

我始终坚持&#xff0c;前端开发不能满足于实现功能&#xff0c;而是需要提供优秀的交互与用户体验。即使没有产品没有UI的小项目&#xff0c;也可以自己控制出品质量&#xff0c;做到小而美。所以前端们不仅仅需要了解框架如何用&#xff0c;还要学习一些设计、交互、体验的知…