测试初学者如何学习数据库

数据库是一种管理、存储数据的仓库。

一款软件的背后是各种数据的存储和交互,必须依托于数据库。因此作为软件测试工程师,数据库是必须要掌握的。

我们常见的数据库Mysql、SQLServer、Oracle、MongoDB等等,Oracle是主流的大型数据库,功能强大、安全性高,常用于金融、电信领域,是收费的。

Mysql、SQLServer比较适用于个人及小型公司。对于新手来说,推荐Mysql,更易上手。

其实几款数据库SQL的使用只是部分语法有不同,掌握任意一种,其他的就都没问题了。

数据库使用场景

(1) 搭建测试环境,对测试环境的数据库进行安装维护

(2) 通过SQL语句(增删改查)对前端操作产生的数据进行验证。

如:用户提交注册信息后,数据库中是否真实存储,和界面展示的数据是否一致

(3) 通过修改数据库数据来验证某种异常情况。

如:测试某个必填项为空时能否做数据同步,界面上无法将必填项清空,那么我们可以在数据库中删除这个字段的值

(4) 快速构造测试数据。

如:将用户状态由已注销改为未注销,就可以重复使用这条数据进行测试了

(5) 在很多报表测试中,往往需要根据多个查询条件进行数据的统计,我们可以通过数据库来进行数据验证。

比如说,数据库符合条件的有100条数据,报表查询出的只有90条,对比漏掉了哪些,就可以发现问题所在了

(6) 性能测试,通过脚本连接数据库批量造数据。

如:需要测试1万条数据同时提交的性能情况,手工造数据显然不太现实

……

准备工作

数据库下载地址:

http://dev.mysql.com/downloads/mysql/

Windows系统下安装说明:

https://blog.csdn.net/qq_39652397/article/details/124022739

Linux系统下安装说明:

http://www.cnblogs.com/chenjunbiao/archive/2011/01/24/1940256.html

安装完成之后,打开图形化界面Mysql Workbench创建一个数据库(也可用命令行客户端),然后建立一个表,表在数据库里用于存放某种特定数据,如职员表、生产物料表等等。

如何建库和建表,可以参考我技术博客中的这篇文章:

https://blog.csdn.net/weixin_44901808/article/details/126027507

接下来你就可以对这个表进行相关的操作了。

测试人员要掌握的数据库操作

对于一个初学者来说,掌握数据库表的增删改查、多表联查就差不多了。

再往上,了解数据库索引、事务、约束、存储过程、数据库三范式等等,这些都是加分项,而且对于以后学习数据库的性能调优有很大帮助。

1、增删改查

其中测试人员最常用的是对表进行查询和修改。

查询示例1:

select *from odk_user where FDepart = "研发部" and FStatus='正常' order by FDate desc

表示:在表odk_user中查询出部门为“研发部”且状态为“正常”的人员,并按日期的降序排列

查询示例2:

select FUserId,FName,FDepart as A from odk_user

表示:从表odk_user中查询出3个字段FUserId,FName,FDepart,并将FDepart展示为A。适用于一个表中有多个字段,不方便我们查阅时,通过这个语句查询想要的字段信息

修改数据:

update odk_user set FStatus='正常' where FUserId='OP009'

表示:在表odk_user中将FUserId为OP009的人员状态改为“正常”

插入数据:

insert into 表 (列名,列名...) values (值,值,...)
-- 如:
insert into odk_user (FUserId,FName) values ('OP012','墨石')

删除数据:

insert into 表 (列名,列名...) values (值,值,...)
-- 如:
insert into odk_user (FUserId,FName) values ('OP012','墨石')

2、多表联查

多表联查分三类:内连接、外连接、子查询

·内连接(用得比较多):查询两个表的交集,包括隐式内连接和显式内连接

select 表1.列,表2.列 from 表1,表2 where 表1.列=表2.列;
select 表1.列,表2.列 from 表1 [inner] join 表2 on 表1.列=表2.列;

·外链接分为左外连接和右外连接:​​​​​​​

select 表名.列,...from 表名1 left [outer] join 表名2 on 表名1.列=表名2.列;
select 表名.列,...from 表名1 right [outer] join 表名2 on 表名1.列=表名2.列;

数据库多表联查等相关SQL操作,可以参考这篇文章,写得很全面:

https://mp.csdn.net/mp_blog/creation/editor/126230828

学习资源推荐

1、攻 粽 號  “墨石测试攻略”后台回复“数据库”,获取精心整理的数据库学习资料

2、 牛客网,有大量题库可以刷

关于软件测试学习资源、面试、实战项目等等,都可以moshi-tester私V我。

墨石精心整理了多种软件测试学习资源,点击下方链接获取:

软件测试学习资源戳这里

猜你喜欢

转载自blog.csdn.net/weixin_44901808/article/details/126765881