数据库测试面试常见问题及答案
以下是一些经常被要求的,针对新手和经验丰富的测试人员的SQL 面试问题。
1) 数据库测试到底是什么?
数据库测试也称为后端测试。
数据库测试可以分为四种类型。
数据完整性测试
数据的有效性测试
数据库的性能
函数、过程和触发器测试
2) 在数据库测试中,我们需要定期验证什么?
通常,在 DB 测试中会检查以下项目 -
检查约束条件
字段维度的验证
保留的技术
应用程序字段的大小与数据库字段的大小匹配
基于性能问题的索引
3) 什么是数据驱动测试?
数据驱动测试使用数据表来测试多个数据。这允许它同时简单地替换来自多个位置的参数。
4) 定义连接并描述连接的不同形式。
连接用于显示两个或多个表,并且有许多类型的连接。
自然连接
内部连接
外部连接
交叉连接
外部连接再次被分离 -
左外部连接
右外部连接
5) 什么是索引,以及索引的多种类型?
索引是添加到列的数据库对象。它们被定期访问以快速检索数据。索引有多种形式,包括 -
B 树索引
位图索引
聚簇索引
覆盖索引
非唯一索引
唯一索引
6) 测试人员在测试存储过程时会采取哪些操作?
测试人员将检查存储过程的标准格式以及存储过程中指定的更新、连接、索引和删除等字段。
7) 在数据库测试期间,您如何知道触发器是否被触发?
您可以通过访问公共审计日志来了解触发器是否被触发。审计日志中可以看到触发了哪些触发器。
8) 在数据库测试中,数据加载测试的步骤是什么?
要测试数据加载,必须采取以下操作。
应识别数据源。
必须知道目标数据。
应验证源和目标的兼容性。
在 SQL 企业管理器中打开正确的 DTS 包后,启动 DTS 包。
必须将目标列与数据源进行比较。
应计算目标和源中的行数。
修改源中的数据后,检查更改是否反映在目标中。
检查空值和垃圾字符。
9) 如何在 QTP 中测试 SQL 查询,而不使用数据库检查点?
我们可以通过在 VBScript 中构建脚本操作来连接到数据库并测试查询和数据库。
10) 您能否解释如何在 QTP 中使用 SQL 查询?
在使用输出数据库检查点和数据库检查时,您必须在 QTP 中选择 SQL 手动查询选项。选择手动查询选项后,输入“select”查询以从数据库获取数据,并将预测值与实际值进行比较。
11) 如何编写数据库测试的测试用例?
编写测试用例类似于功能测试。您必须首先了解应用程序的功能需求。然后,您必须确定开发测试用例的参数,例如
写出您想要测试的目标。
输入方法:指定您希望使用的操作或输入方法。
数据库中应如何显示是预期的。
12) 您在数据库测试中使用了哪些 SQL 语句来维护和更改测试表?
使用诸如SELECT、INSERT、UPDATE和DELETE 之类的表操作命令,而使用诸如ALTER TABLE、CREATETABLE和DELETE TABLE之类的表管理语句。
13) 如何测试数据库操作和触发器?
为了测试数据库过程和触发器,必须了解其输入和输出参数。使用 EXEC 命令执行过程并分析表的行为。
在解决方案资源管理器中,打开数据库项目。
现在,从“视图”菜单中,选择“数据库架构”。
使用架构,转到项目文件夹。查看菜单
右键单击要测试的项目,然后从弹出菜单中选择“创建单元测试”选项。
之后,创建一个新的语言测试项目。
选择 a) 插入单元测试或 b) 创建新测试后,单击“确定”。
将使用“项目配置”对话框配置任何需要配置的项目。
所有设置完成后,单击“确定”。
14) 如何从捕获 AUT(被测应用程序)实际功能的需求中构建测试用例?
要从需求中开发测试用例,您必须首先根据功能全面分析需求。之后,您考虑相关的测试用例设计方法,例如等价划分、黑盒设计、因果图等,来开发测试用例。是的,标准描述了 AUT 的具体功能。
15) DBMS 到底是什么?
DBMS 是数据库管理系统的缩写;有几种类型的 DBMS。
网络模型
层次模型
关系模型
16) DML 到底是什么?
DML 是数据操纵语言的缩写,用于使用模式对象处理数据。SQL 是它的一个子集。
17) DCL 命令到底是什么?DCL 使用的两种类型的命令是什么?
DCL 是数据控制语言的缩写,用于控制数据。
DCL 命令分为两种类型 -
授予 - 使用此命令,用户可以访问数据库。
撤销 - 此命令阻止用户访问数据库。
18) 白盒测试和黑盒测试有什么区别?
黑盒测试是在响应特定输入时评估软件的输出。此测试通常用于检查程序是否满足用户的需求。如果执行此测试,则没有预期的特定功能结果。
白盒测试用于确保软件的代码和逻辑正确。此测试由程序员执行,他们熟悉系统的逻辑流程。
19) QTP 使用什么标准来评估测试结果?
测试完成后,QTP 将提供一份报告。此报告将显示测试期间发现的检查点、系统消息和错误。在检查点发现的任何不匹配项都将在测试结果框中显示。
20) 描述 QTP 测试过程。
QTP 测试过程包括以下步骤 -
创建具有映射的用户界面(图形用户界面)文件:识别要测试的 GUI 项目。
创建测试脚本:编写测试脚本。
调试测试:应执行调试测试。
应进行测试:应执行测试用例。
查看结果:结果显示测试是成功还是失败。
报告检测 - 如果测试失败,则报告检测文件中将记录失败的原因。
21) 什么是负载测试,你能举几个例子吗?
负载测试用于评估系统的反应。当负载超过用户模式时,就会发生压力测试。负载测试包括下载大量的大文件、在一台计算机上运行多个应用程序、向服务器发送大量电子邮件以及连续地向打印机分配许多作业。
22) 如何手动测试数据库?
手动测试数据库需要验证后端的数据,以确定前端添加的数据是否会影响后端,反之亦然,例如删除、更新、插入等等。
23) RDBMS 代表什么,SQL 使用的关键 RDBMS 有哪些?
RDBMS 代表关系数据库管理系统 (Relational Database Management Systems),它使用 SQL,一些 SQL 使用的最著名的 RDBMS 包括 Sybase、Oracle、Access、Ingres、Microsoft SQL Server 等。
24) 什么是性能测试,性能测试的瓶颈是什么?
通过性能测试来确定计算机系统的速度。它包含定量测试,例如反应时间测量。性能测试的问题在于,您始终需要训练有素且经验丰富的专业人员,并且您使用的设备成本很高。
25) DDL 到底是什么,它的命令有哪些?
DDL 用于开发人员指定数据库结构。DDL 是数据定义语言 (Data Definition Language) 的缩写。DDL 命令包括创建、截断、删除、更改、注释和重命名等。
26. CMMI 到底是什么,不同级别的 CMM 有什么区别?
能力成熟度模型集成 (Capability Maturity Model Integration,CMMI) 是一个系统开发、培训和评估模型,适用于软件工程中的众多业务操作。
企业可以实现五个级别的 CMM 成熟度:
初始级 - 由于此阶段的企业缺乏经过验证的方法和设置,因此预算和时间表常常超出。
可重复级 - 在此阶段,企业已经建立了基本策略和规则来控制成本和安排时间,并且能够在将来为类似项目执行相同的操作。
已定义级 - 在此阶段,所有流程都经过精心安排并以清晰统一的格式教授。
已管理级 - 在此阶段,组织比在已定义级别时更加成熟。这里使用统计和其他定量方法来参与流程。
优化级 - 组织通过使用现代技术进步来共同努力提高成果。