数据库测试 – 概述
数据库测试包括执行数据有效性、数据完整性测试、与数据库相关的性能检查以及数据库中的过程、触发器和函数的测试。
例子
考虑一个捕获用户日常交易详细信息并将详细信息存储在数据库中的应用程序。从数据库测试的角度来看,应执行以下检查 -
来自应用程序的事务信息应存储在数据库中,并且应向用户提供正确的信息。
信息加载到数据库时不应丢失。
仅应存储已完成的事务,应用程序应中止所有未完成的操作。
应维护对数据库的访问授权。不得提供未经批准或未经授权的用户信息访问。
为什么需要执行数据库测试?
执行数据库测试的原因有多种。由于后端系统负责存储数据并出于多种目的进行访问,因此需要对数据库进行数据完整性、验证和数据一致性检查。
下面给出了数据库测试的一些常见原因 -
为了减轻对数据库后端调用的复杂性,开发人员增加了视图和存储过程的使用。
这些存储过程和视图包含关键任务,例如插入客户详细信息(姓名、联系信息等)和销售数据。这些任务需要在多个层面进行测试。
在前端执行的黑盒测试很重要,但很难隔离问题。后端系统的测试增加了数据的稳健性。这就是为什么数据库测试是在后端系统上执行的。
在数据库中,数据来自多个应用程序,并且数据库中可能存储有害或不正确的数据。因此,需要定期检查数据库组件。此外,应定期检查数据的完整性和一致性。
数据库测试与前端测试
数据库测试与前端 UI 测试不同。下表突出显示了主要差异 -
数据库测试 | 用户界面测试 |
---|---|
数据库测试称为数据验证和完整性测试或后端测试。 |
UI测试或前端测试也称为应用程序测试或GUI测试。 |
数据库测试涉及后端组件的测试,这些组件对用户不可见。 这包括数据库组件和 DBMS 系统,例如 MySQL、Oracle。 |
UI 测试涉及检查应用程序及其组件(如表单、图形、菜单、报告等)的功能。 这些组件是使用VB.net、C#、Delphi等前端开发工具创建的。 |
数据库测试涉及检查数据库中的存储过程、视图、模式、表、索引、键、触发器、数据验证和数据一致性检查。 |
UI 测试涉及检查应用程序的功能、按钮、表单和字段、日历和图像、从一个页面到另一页面的导航以及应用程序的整体功能。 |
要执行数据库测试,测试人员需要全面了解数据库概念,例如过程和函数、视图、索引、键以及良好的 SQL 实践操作。 |
要执行 UI 测试,测试人员需要充分了解业务需求、应用程序功能知识、编码等。 |
数据来自 Web 应用程序、内联网应用程序和各种其他应用程序上的多个异构数据源。 |
数据手动输入到应用程序中。它涉及前端应用程序的功能测试。 |