什么是数据库测试?
你对数据库测试的理解是什么?
数据库测试包括执行数据有效性、数据完整性测试、与数据库相关的性能检查以及数据库中的过程、触发器和功能的测试。
为什么我们需要进行数据库测试?
执行数据库测试的原因有多种。由于后端系统负责存储数据并出于多种目的访问,因此需要对数据库执行数据完整性、验证和数据一致性检查。
需要执行数据库测试的一些常见原因如下 -
- 为了减轻调用数据库后端的复杂性,开发人员增加了视图和存储过程的使用。
- 这些存储过程和视图包含关键任务,例如插入客户详细信息(姓名、联系信息等)和销售数据。这些任务需要在多个级别进行测试。
- 在前端执行的黑盒测试很重要,但很难隔离问题。在后端系统进行测试可提高数据的稳健性。这就是在后端系统上执行数据库测试的原因。
- 在数据库中,数据来自多个应用程序,并且有可能在数据库中存储有害或不正确的数据。因此,需要定期检查数据库组件。此外,应定期检查数据的完整性和一致性。
数据库测试涉及哪些不同的步骤?
执行数据库测试时需要遵循的步骤如下 -
- 必须验证数据库中的数据。
- 验证约束是否得到维护。
- 必须检查程序的性能和触发器的执行。
- 必须检查事务的回滚和提交。
数据库测试有哪些不同类别?解释。
根据数据库的功能和结构,数据库测试可分为以下几类 -
- 结构数据库测试- 它处理表和列测试、模式测试、存储过程和视图测试、检查触发器等。
- 功能测试- 它涉及从用户角度检查数据库的功能。最常见的功能测试类型是白盒和黑盒测试。
- 非功能测试- 它涉及负载测试、数据库风险测试、压力测试、最低系统要求以及处理数据库性能。
列举一些可用于测试数据库中的存储过程的工具。
用于执行存储过程测试的最常用工具是 LINQ、SP 测试工具等。
什么是 SQL 中的连接?有哪些不同类型的联接?
联接用于以某种逻辑方式连接两个或多个表。常见的联接类型包括:内部联接、非等值联接、外部联接、自联接和交叉联接。
SQL中的自连接是什么?
您可以将单个表连接到自身。在这种情况下,您使用了同一张表两次。
如何在 WinRunner 中测试 SQL 查询?
第 1 步- 连接到数据库
db_connect(query1 DRIVER {drivername};SERVER server_name;UID uidname;
PWD password;DBQ database_name );
第 2 步- 执行数据库查询 -
db_excecute_query (write the required query that is to execute); Specify the appropriate condition
第 3 步- 使用断开数据库连接
db_disconnect(query);
使用输出数据库检查点,必须选择 SQL 手动查询选项。在这里,可以编写选择查询。
解释在数据库中测试存储过程的步骤。
首先,检查存储过程的要求。下一步是检查索引、连接、删除、更新与存储过程中提到的表相比是否正确。
接下来,执行以下任务 -
- 验证不同输入参数集的调用过程名称、调用参数和预期响应。
- 使用 TOAD 或 MySQL 或查询分析器执行该过程。
- 通过发送不同的参数重新执行可用的程序,并根据预期值检查结果。
- 最后,使用 WinRunner 自动执行测试。
测试人员应使用 EXEC 命令调用数据库中的存储过程。如果需要任何参数,则必须传递它们。必须传递不同的参数值来确认存储过程是否被执行。在调用此命令时,它必须检查并验证数据库的性质和行为。
示例- 如果写入存储过程来填充某个表,则必须检查表值。
SQL 语句有哪些不同类型?
我们有三种类型的 SQL 语句 -
- 数据操作语言 (DML)
- 数据定义语言 (DDL)
- 数据控制语言 (DCL)
SQL中的DDL语句是什么?
DDL 语句用于定义数据库结构或模式。一些例子 -
- CREATE - 在数据库中创建对象
- ALTER - 改变数据库的结构
- DROP - 从数据库中删除对象
SQL中的运算符是什么?SQL中有多少种运算符?
运算符用于指定 SQL 语句中的条件,并用作语句中多个条件的连词。
- 算术运算符
- 比较/关系运算符
- 逻辑运算符
- 集合运算符
- 用于否定条件的运算符
Union operator 的作用是什么?这是什么类型的运营商?
Union 用于合并两个或多个 Select 语句的结果。但是它会消除重复的行。Union 是集合运算符。
Union 和 Union All 有什么区别?
Union用于合并两个或多个 Select 语句的结果。但是它会消除重复的行
Union All操作类似于 Union,但它也会显示重复的行。
什么是触发器?如何检查触发器是否被触发?
触发器用于维护数据库的完整性。要检查触发器是否被触发,您可以检查审计日志。
如何按需调用触发器?
不能按需调用触发器。当相关操作(插入、删除和更新)发生在定义它们的表上时,它们将被调用。触发器用于应用业务规则、审计以及参照完整性检查。
您如何为数据库测试编写测试用例?
首先,获取功能需求。然后,了解表结构、连接、游标和触发器、使用的存储过程和其他参数。接下来,您可以编写一个具有不同值的测试用例作为这些对象的输入。
数据库测试与前端测试有何不同?
数据库测试涉及测试用户不可见的后端组件。它包括数据库组件和 DBMS 系统,例如 MySQL 和 Oracle。
前端测试涉及检查应用程序及其组件(如表单、图形、菜单、报告等)的功能。这些组件是使用前端开发工具(如 VB.net、C#、Delphi 等)创建的。
解释数据库测试的过程。
执行数据库测试的过程类似于测试其他应用程序。数据库测试可以用以下关键过程来描述 -
- 设置环境
- 运行测试
- 检查测试结果
- 根据预期结果进行验证
- 向各自的利益相关者报告调查结果
哪些 SQL 语句通常用于开发数据库测试的测试用例?
各种 SQL 语句用于开发测试用例。用于执行数据库测试的最常见的 SQL 语句是 select 语句。除此之外,还可以使用各种 DDL、DML、DCL 语句。
示例- 创建、插入、选择、更新等。
什么是数据库中的视图?它与数据独立性有何关系?
视图是一个表,它本身并不真正存在,而是从一个或多个基表派生而来。换句话说,没有直接表示视图的存储文件,而是视图的定义存储在数据字典中。
基表的增长和重组不会反映在视图中。因此,视图可以将用户与数据库中的更改隔离开来。因此考虑了逻辑数据独立性。
什么是 VDL(视图定义语言)?
它指定用户视图及其到概念模式的映射。
什么是标准化?
它是在不丢失任何信息的情况下将一个表分解为多个表的过程。标准化是为了实现以下目标 -
- 以尽量减少冗余。
- 尽量减少插入、删除和更新异常。
什么是索引以及有哪些不同类型的索引?
索引是一种用于确定可以多快找到特定数据的技术。它用于查询性能优化。索引可以是以下类型 -
- 二进制搜索样式索引
- B树索引
- 倒排列表索引
- 内存驻留表
- 表索引
定义 SQL 以及它与其他传统编程语言有何不同?
SQL 是一种结构化查询语言,专为规范化关系数据库结构上的数据访问操作而设计。
SQL 与其他传统编程语言的主要区别在于,SQL 语句指定应该执行哪些数据操作,而不是如何执行它们。
什么是存储过程?使用它们有什么好处?
存储过程用于执行用户定义的操作。存储过程可以有一组复合 SQL 语句。存储过程执行 SQL 命令并将结果返回给客户端。
什么是 PL/SQL 中的游标?
PL/SQL 对所有数据库信息访问语句使用游标。该语言支持使用两种类型的游标——隐式和显式。
在Oracle中,什么是冷备份和热备份?
冷备份- 冷备份被称为在实例关闭时备份数据库文件、重做日志和控制文件。这是文件副本,通常从磁盘直接复制到磁带。您必须关闭实例以保证副本一致。
如果执行冷备份,则在数据文件丢失的情况下唯一可用的选项是从最新备份中恢复所有文件。上次备份后执行的所有更改都将丢失。
热备份- 某些数据库在制作文件备份副本时无法关闭,因此冷备份不可用。对于这些类型的数据库,我们使用热备份。
什么是 SQL 子查询?
SQL 子查询是一种同时查询两个或多个表的手段。子查询本身是一个 SQL SELECT 语句,包含在另一个 SQL SELECT 语句的 WHERE 子句中,并用括号括起来分隔。某些子查询具有等效的 SQL 连接结构,但相关子查询不能通过连接复制
您已获得一组表并要求创建一个新数据库来存储它们。在检查表中的数据值时,需要考虑哪些要点?
在这种情况下,您需要测试以下方面 -
- 多值依赖
- 功能依赖
- 候选键
- 主键
- 外键
在前端应用程序中输入数据时,如何测试数据库是否更新?
您可以转到数据库并运行相关的 SQL 查询。在 WinRunner 中,您可以使用数据库检查点功能。如果应用程序提供了视图功能,那么您可以从前端进行验证。
什么是数据驱动测试?
数据驱动测试被定义为一个自动化测试过程,其中应用程序将使用多个测试数据进行测试。这比重新测试简单易行,测试人员只需坐在系统前面并从前端界面手动输入不同的新输入值。
什么是重新测试以及它与数据驱动测试有何不同?
一旦执行测试用例并找到已经检测到并修复的缺陷。使用不同的输入值重新执行相同的测试以确认原始缺陷已成功消除称为重新测试。
重新测试也称为数据驱动测试,区别很小 -
- 重新测试- 这是一个手动测试过程,而应用程序测试是使用全新的数据集完成的。
- 数据驱动测试- 这是一个自动化测试过程,应用程序将使用多个测试数据进行测试。这比重新测试简单易行,测试人员只需坐在系统前面并从前端界面手动输入不同的新输入值。
数据驱动测试有哪些类型?
有四种类型的数据驱动测试 -
- 通过键盘动态提交测试数据
- 通过 .txt、.doc 平面文件进行数据驱动测试
- 通过前端对象的数据驱动测试
- 通过 Excel 表进行数据驱动测试
什么是性能测试?
性能测试是一种软件测试技术,用于确定系统在繁重的工作负载下在速度、灵敏度和稳定性方面的表现。
执行数据库恢复测试时应该考虑哪些关键点?
在执行数据库恢复测试时要考虑以下要点 -
- 数据库系统发生变化或修改的时间跨度。
- 您希望执行恢复计划的时间段。
- 数据库系统中数据的敏感性。数据越重要,您就越需要定期测试软件。
列举一些测试人员用来为数据库系统生成测试数据的工具。
以下工具用于生成测试数据 -
- 数据工厂
- DTM 数据生成器
- 涡轮数据
常见的数据备份类型有哪些?
有两种类型的备份可以使用 -
- 物理备份- 物理备份包括使用第三方备份工具(如 Veritas net back、IBM Tivoli Manager 或使用操作系统实用程序的用户管理器备份)进行备份。
- 逻辑备份- 数据库的逻辑备份包括备份逻辑对象,如表、索引、过程等。
进行数据备份的常用工具是 Oracle Recovery Manager (RMAN),它是一种用于进行数据库备份的 Oracle 实用程序。
说出在数据库恢复测试中执行的常见操作?
在数据库恢复测试中执行以下操作 -
- 数据库系统测试
- 测试 SQL 文件
- 部分文件测试
- 数据备份测试
- 备份工具测试
- 测试日志备份
你对数据库安全测试的理解是什么?
进行数据库安全测试是为了发现安全机制中的漏洞,也是为了发现数据库系统的漏洞或弱点。
列举一些数据库安全测试的目标。
执行数据库安全测试以检查以下方面 -
- 验证
- 授权
- 保密
- 可用性
- 正直
- 弹力
什么是 SQL 注入威胁?
SQL 注入威胁是数据库系统中最常见的攻击类型,其中恶意 SQL 语句被插入数据库系统并执行以从数据库系统获取关键信息。这种攻击利用了用户应用程序实施中的漏洞。为防止出现这种情况,应谨慎处理用户输入字段。
列举一些可用于执行数据库安全测试的工具。
以下工具可用于执行数据库安全测试:Zed Attack Proxy、Paros、Social Engineer Toolkit、Skipfish、Vega、Wapiti 和 Web Scarab。
您在执行数据库测试时面临的常见挑战是什么?
执行数据库测试时面临的常见挑战如下:
- 测试范围过大
- 按比例缩小的测试数据库
- 数据库结构的变化
- 复杂的测试计划
- 对SQL有很好的理解

浙公网安备 33010602011771号