软件测试工程师需要具备哪些数据库知识

绝大多数的应用都跟数据紧密相关,比如weixin,QQ,都需要存放大量的数据信息:联系人信息、发送的信息、朋友圈信息等等。这些信息绝大多数是存放在关系型数据库中。

因此,软件测试工程师对数据库的了解,是基本的要求。具体说来,测试工程师应该具备哪些知识呢?我们从测试的各个环节来讲吧。

首先,你需要了解软件的需求。软件的需求,涉及到数据的部分,比如字段的定义,类型,长度,特别是一致性(比如,一个用户名,在输入的时候用到,在打印输出的地方也会用到,在其他联系人的联系信息中也会用到)。因此,在了解软件需求的时候,我们需要一个“数据字典”,作为今后测试的基础。

开始设计测试用例了,我们需要知道,如何获得基础的测试环境的预埋数据。比如,你想要测试存款功能,那么怎么获得一个账号呢?——从数据库中查找。你需要了解:1)如何访问数据库,数据库的配置信息;2)数据库访问的客户端;3)sql语句;4)数据库定义(就是你从那张表中查找数据);5)如何把查询出来的数据“取”到本地。对照数据字典,和需求,你还需要知道这些字段有那些限制,比如数据库的限制是否和需求一致;也可以查看是否软件的界面等符合数据字典的要求(一致性)。

此外,在设计检查点的时候——特别是数据库检查点,必须要了解你的检查点数据如何从数据库中查找出来?有时候不是一个table能够包含的,就需要多个表、甚至过滤、处理数据来比对。

然后,测试用例经过了评审,需要执行了。你需要知道如何准备测试环境,最重要的部分是准备测试的基准数据环境。可能用户会给你一个现有的数据库,那么需要你做数据清洗(可能),以保证客户信息不被泄露;现有的数据,可能存在的问题是很多边界条件没有数据,因此还需要“造”很多数据,这就需要你熟练使用create语句来创建数据,包括使用ER图工具来查看数据库结构。创建基础的数据环境完成之后,我们就需要备份这个数据库(打他base),你需要熟悉数据库的备份命令——备份是为了恢复,因为我们往往不会只测试一个轮次,起码需要回归。因此,还需要恢复数据库的命令语句。

假设你要做自动化测试,那你要做的是把手工测试中的准备数据、数据库检查点,编写成sql的语句,俗称embed,潜入到脚本语言中。

从以上来看,我们需要熟练的掌握数据库的知识,包括:数据字典、ER图,查询语句,创建数据的语句,以及如何在脚本中使用这些语句来访问数据库。

时间: 2024-10-05 05:50:31

软件测试工程师需要具备哪些数据库知识的相关文章

软件测试工程师应该具备的能力

作为一名软件测试工程师已经3年了,对于我个人来说总结了下一个优秀的软件测试人员应该具备的能力,自勉下,希望今后的工作中发扬长处,弥补短处,争取早日成为一名优秀的.极具实力的测试人员. 1.测试理论知识:个人认为这部分找一本测试类书籍简单看下,在平时的工作中积累经验就好,没有必要特意去搞这个东西: 2.编程语言:掌握一门或者多门编程语言很重要,是进阶的关键.可以考虑:java,python等.当然其他的语言好多,但是我感觉目前用的做多的好像就是这个了. 3.网站开发相关知识:如html.js.cs

软件测试工程师具备技能

工作两年了,一直在做着APP测试,目前自己的技能离一名优秀的软件测试工程师还是有很大差距的. 按照我的理解,一名优秀的软件测试工程师需要具备的知识: 自动化测试工具:功能测试工具(mongkey.monkeyrunner等).性能测试工具(QTP.roadrunner.Jmeter等).测试管理工具(禅道.Bugfree等): 软件测试理论:软件测试基本流程.相关术语: 开发基础:数据库(SQL.Oracle).开发语言(Java.C.Python): 计算机基础:Windows操作系统.Lin

软件测试工程师成长之路:掌握软件测试九大技术主题

软件测试工程师成长之路:掌握软件测试九大技术主题 王顺 等 编著   ISBN 978-7-121-23996-0 2014年9月出版 定价:85.00元 432页 16开 内容提要 <软件测试工程师成长之路:掌握软件测试九大技术主题>以实际项目为原型.以关键理论与丰富实践为指导,贯彻了先进的项目管理理念与全程质量管理思想. <软件测试工程师成长之路:掌握软件测试九大技术主题>前9 章为软件测试九大技术主题分享,是众多资深软件工程师在软件测试领域的经验总结.知识升华与提高,展现众多

你认为的软件测试工程师是什么

副标题:如何成为一名优秀的软件测试工程师之我的三年软件测试工作总结 前言 处于不同环境,所看所思所想可能会和其他同业软件不一致,如有异议欢迎提出指正. 最后一次编辑删除了太长不看板块,写/读博客本来就是要坐下来细细阅读静静思考. 所以我打算把2019年总结与2020年计划也揉碎到文章中,沉淀过去计划未来. 正文 先提一个问题,说到软件测试,你会想到什么? 我问了一个关系要好且未被科普(洗脑)的软件开发同事,他的回答是:我写出来的软件,你们帮我点点开哪里有bug. 一开始听到这个答案,出于我强大的

关于【做一名软件测试工程师,需要具备什么】的我的看法

在软测考试前的几天,我在知乎上看到一片很有意思的问答:做一名软件测试工程师,需要具备什么? 在看网友们的回答之后,我也有了自己的想法... 首先整理了一下其中几个我觉得较为好的网友的回答在这里同大家分享: 网友:陈晔,测试业界打杂第一人 一.知己识人所谓知己就是清楚的认识自己,什么才是对自己最重要的.就测试这个职业来讲,我认为自己得到什么,学到什么才是最重要的.很多人看到这里可能觉得是正确,这种大道理谁都知道.但是平时呢大部分往往,嗯,保证产品 质量,保证公司企业的质量.但是有多少测试做的事情是

软件测试工程师需要掌握的非测试知识有哪些?---打卡第十天

网站架构的核心知识 现如今,互联网产品已经占据了软件行业的大半壁以江山.作为测试工程师,你很多时候都在和互联网产品,尤其是网站类应用产品的测试打交道. 这时,如果你想要做好互联网产品功能测试以外的其他测试,比如性能测试.稳定性测试.全链路压测.故障切换(Failover)测试.动态集群容量伸缩测试.服务降级测试和安全渗透测试等,就要掌握网站的架构知识.否则,面对这类测试时,你将束手无策. 比如,如果你不清楚 Memcached 这类分布式缓存集群的应用场景和基本原理,如果你不清楚缓存击穿.缓存雪

通信设备硬件工程师应该具备的基本能力和知识

对于硬件工程师来说,技术要求究竟是要到什么程度呢? 当然,从从小受到的教育中我们知道对于知识要理解透彻,越深入越好,对于任何一个知识点,通过基本公式,用数学工具推导到最后来验证高级定律和公式.我想对于这一点,高考物理是达到了极点,高中物理知识其实不难,但是我们为了选拔的目的,把物理各种定律糅合在一起,结合一些脑筋急转弯,复杂的运算,造成高考物理是最难的科目了. 如果我们拿着解高考物理难题的精神来解决硬件问题,当然精神可嘉,工作之余还是值得鼓励这种学习和探索精神的:但是对于项目开发却是没有多少好处

进阶软件测试工程师的必备

所谓长江后浪推前浪,不想提升的工程师不是好测试员. 对于软件测试新人来说,除了需要掌握测试的理论知识之外,自身的定位,对学习的态度以及对工作的热情这些都是考核一个软件测试员的基本标准. 态度决定了你是否具备作为一名测试员的资格,而永不止步的学习决定了你的未来.技术才是王道. 掌握开发语言 大家都知道,软件测试的知识面一定要广.主流编程语言比如:C.C++.JAVA..net等等,熟悉掌握好其中一种就好.网上这方面的说法大同小异,这里做精简回答. 网络相关知识 一些操作系统比如Windows,Li

一个老软件测试工程师的日志(转)

今天在整理电脑的时候发现这样一篇文章.已经想不起来是从哪里弄来的.仔细读来颇有一番收获.再次贡献给大家.愿大家在软件测试的道路上取得一席之地.实现自己的财务自由之路. 软件测试职业发展方向,大体上可以分为管理路线.技术路线.管理+技术路线. 软件测试,是技术主导的职业:不管选择哪条发展路线,都是需要一定的技术沉淀,只是相对来说,管理路线对技术方面要求不高而已.那么我们就先挑重头的技术 路线展开讨论.一般来说,一个普通的测试工程师刚入行,3个月左右熟悉企业的工作流程和模式,那么今后的工作内容趋于平