数据库测试面试常见问题及答案


以下是一些经常被要求的,针对新手和经验丰富的测试人员的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 语句来维护和更改测试表?

使用诸如SELECTINSERTUPDATEDELETE 之类的表操作命令,而使用诸如ALTER TABLECREATETABLEDELETE 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 成熟度:

  • 初始级 - 由于此阶段的企业缺乏经过验证的方法和设置,因此预算和时间表常常超出。

  • 可重复级 - 在此阶段,企业已经建立了基本策略和规则来控制成本和安排时间,并且能够在将来为类似项目执行相同的操作。

  • 已定义级 - 在此阶段,所有流程都经过精心安排并以清晰统一的格式教授。

  • 已管理级 - 在此阶段,组织比在已定义级别时更加成熟。这里使用统计和其他定量方法来参与流程。

  • 优化级 - 组织通过使用现代技术进步来共同努力提高成果。

更新于: 2024年11月6日

329 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告