软件测试如何自学数据库?

2022-04-25 20:00:14 浏览数 (1)

你好,我是小牛。

今天来和大家聊一聊数据库,数据库是大学本科计算机系核心课程之一,其重要性不言而喻。除此之外,数据库无论是面试还是日常工作权重占比都很大,所以当你准备转行踏入IT行业的时候,就首先需要掌握数据库!

数据库主要分两种,一种是关系型数据库,比如大家熟悉的oracle,mysql等,另一种是非关系性数据库主流的有mongodb和redis等。目前企业中使用最多的就是oracle和mysql数据库。

因为前者是收费的,所以互联网公司尤其是中小型企业使用最多的就是mysql数据库。因此,推荐大家首先学习mysql数据库,数据库的学习其实和编程语言一样,当你熟练其中一种的时候,其它的也是分分钟上手。

数据库的用途,不用多说,主要就是用来存储数据。具体来说,就是前端页面用户输入的数据通过接口传给后端,然后存储到数据库中。同时也支持,从数据库中取数据传给前端页面作一个展示。

IT行业每一个技术方向水都很深,数据库也不例外,有一个岗位叫DBA工程师,就是专门和数据库打交道的......

当然,作为一名测试人员不需要学那么深,那么我们应该学习和掌握哪些内容呢?下面就从工作和面试以及如何自学等几个方面来聊聊......

首先,日常工作中,如果你是侧重于做服务端测试,也就是接口测试为主,那么基本上每时每刻都会使用到数据库。工作中使用最多的是查询和修改语句,建表开发建好了,删除语句可能很多测试开发人员都没有权限,当然主要指的生产环境,测试环境可以随意折腾。主要防止你删库跑路,哈哈哈哈.....

下面列举一些日常工作中使用到数据库的一些场景:

  1. 前端增删改查,查看数据库是否作了相应更新。
  2. 支付交易产生的订单可以从数据库中查看订单是否真实存储,数据信息是否一致。
  3. 性能测试或者自动化测试通过脚本产生大量数据时,查看数据库是否批量有效存储。
  4. 前端数据库框字段报错时,可能是数据库参数类型设置错误,打开数据库查看字段参数类型是否正确。
  5. 性能测试,通过优化sql语句或者表结构来提高系统性能。
  6. 造数据场景,比如手机号注册时,通过改数据库表字段状态来重复使用同一个手机号,进行反复注册。

等等。。。。。。

以上,只是列举了一些比较常见的场景,供大家参考。 下面来聊一聊找工作主要考察哪些内容,基本上无论是笔试,还是面试,尤其转行初级的时候,数据库属于必考内容。面试的话,一般会让你在纸上手写sql语句。会给你出一个场景题,比如分数啊,班级课程啊之类的,一般是多表查询语句居多。 除此之外,就是一些理论知识,比如什么是数据库索引,事务,数据库三大范式,或者有没有使用过存储过程等等。当然,对于初级来说,这些内容属于加分项。一般,只要你能熟练的写出sql语句,就不错了算是。

既然说了这么多数据库如何重要,那么应该如何自学呢?接下来干货来啦!

首先,老样子,小牛在公众号后台准备了数据库的学习资源,回复关键词数据库即可领取,包括几个视频课程和两门价值上百的数据库进阶的极客时间语音课,学完这些基本的SQL语句理论知识就没什么问题了,接下来就是熟练编写啦!

推荐牛客网,可以在线练习SQL实战,会根据你的输入实时判断对错,不会的话还可以参考别人写的SQL语句,就像刷OJ编程题一样,附上链接如图所示:

https://www.nowcoder.com/ta/sql

以上,讲的只是数据库最基础的一部分,每一个测试人都应该掌握,当然除此之外,还有进阶的部分,如果你想成为高级测试工程师,乃至测试架构师,对数据库做性能测试必不可少。

你需要懂数据库架构知识,懂数据库主从同步工作原理,懂数据库分库分表设计方法,会分析一条SQL语句为何很慢,会用工具监控数据库性能,当然做这一切的目的主要就是为了分析数据库性能瓶颈,协助开发调优,提升系统整体性能,缩短响应时间。

之后会写一篇数据库进阶的文章详细介绍一下,因为目前还是初学者和转行的同学居多,所以只是先提一下,不过多介绍。

0 人点赞