admin管理员组文章数量:1794759
软件测试工程师需要具备哪些数据库知识
绝大多数的应用都跟数据紧密相关,比如weixin,QQ,都需要存放大量的数据信:联系人信、发送的信、朋友圈信等等。这些信绝大多数是存放在关系型数据库中。 因此,软件测试工程师对数据库的了解,是基本的要求。具体说来,测试工程师应该具备哪些知识呢?我们从测试的各个环节来讲吧。 首先,你需要了解软件的需求。软件的需求,涉及到数据的部分,比如字段的定义,类型,长度,特别是一致性(比如,一个用户名,在输入的时候用到,在打印输出的地方也会用到,在其他联系人的联系信中也会用到)。因此,在了解软件需求的时候,我们需要一个“数据字典”,作为今后测试的基础。
开始设计测试用例了,我们需要知道,如何获得基础的测试环境的预埋数据。比如,你想要测试存款功能,那么怎么获得一个账号呢?——从数据库中查找。你需要了解:1)如何访问数据库,数据库的配置信;2)数据库访问的客户端;3)sql语句;4)数据库定义(就是你从那张表中查找数据);5)如何把查询出来的数据“取”到本地。对照数据字典,和需求,你还需要知道这些字段有那些限制,比如数据库的限制是否和需求一致;也可以查看是否软件的界面等符合数据字典的要求(一致性)。 此外,在设计检查点的时候——特别是数据库检查点,必须要了解你的检查点数据如何从数据库中查找出来?有时候不是一个table能够包含的,就需要多个表、甚至过滤、处理数据来比对。 然后,测试用例经过了评审,需要执行了。你需要知道如何准备测试环境,最重要的部分是准备测试的基准数据环境。可能用户会给你一个现有的数据库,那么需要你做数据清洗(可能),以保证客户信不被泄露;现有的数据,可能存在的问题是很多边界条件没有数据,因此还需要“造”很多数据,这就需要你熟练使用create语句来创建数据,包括使用ER图工具来查看数据库结构。创建基础的数据环境完成之后,我们就需要备份这个数据库(打他base),你需要熟悉数据库的备份命令——备份是为了恢复,因为我们往往不会只测试一个轮次,起码需要回归。因此,还需要恢复数据库的命令语句。 假设你要做自动化测试,那你要做的是把手工测试中的准备数据、数据库检查点,编写成sql的语句,俗称embed,潜入到脚本语言中。 从以上来看,我们需要熟练的掌握数据库的知识,包括:数据字典、ER图,查询语句,创建数据的语句,以及如何在脚本中使用这些语句来访问数据库。软件测试之必备数据库知识 数据库简介: 1.Oracle数据库 • 提起数据库,第一个想到的公司,一般都是Oracle(甲骨文) 2.SQL Server数据库:微软开发的,是web最流行的用于存储数据的数据库,广泛应用于电子商务,银行,保险,电力等与数据库有关的行业 收费且不好用,因此,如今用的越来越少 3.MySQL数据库(被Oracle收购) 4.操作命令: • 启动:mysql; (Linux中启动:sudo service mysql start) • 清屏:clear; • 退出:exit; 登录(进入)mysql常用的是:mysql -u root -p; (-u用户名,-p用户密码,其中如果没有设置用户名则root为默认的用户名) o 敲击后会提示输入密码(输入后没有显示,隐码输入),如果刚安装好MYSQL没设置密码,超级用户root是没有密码的,故直接回车即可进入到MYSQL中 • 显示当前所有数据库:show databases; • 进入(切换到)一个数据库:use 数据库名; • 显示当前数据库内容(数据库的所有表):show tables; • 显示某个表的所有数据:select * from 表名; • 显示表中的一些字段:select 字段1,字段2,字段3 from 表名; 例如:select id,name,salary from tbwork; • 创建表:create table 表名 (id int, name char(10), age int, score float);(各个属性和对应类型设置好即可) 例1: create table stu (id int, name char(10), age int, score float); • o 显示表:show tables; o 显示表stu的结构:desc stu;(或者describe stu;) 例2:创建表class,id设置为主键,班级人数默认值为30(如果你不设置人数默认为30): PS:一旦id设置为主键,则在插入数据不能重复,且插入数据时必须加上id create table class (id int primary key, (若要不为空:id int primary key not null,) name char(20), num int default 30); • o 插入:insert into 表名(字段) values(字段) PS:多个加s
• o o select * from stu where id=101 or id=102 or id=103; 等价于:select * from stu where id in(101,102,103); (用in()集合更方便) • 多表复合查询: o 例如: o 在上面的表中,查询表work中id等于表salary中工资salary为8500的wid的信:select * from work where id=(select wid from salary where salary=8500);
版权声明:本文标题:软件测试工程师需要具备哪些数据库知识 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686504919a75008.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论