Database Testing – Overview


Database testing includes performing data validity, data integrity testing, performance check related to database and testing of procedures, triggers and functions in the database.


Consider an application that captures the day-to-day transaction details for users and stores the details in the database. From database testing point of view, the following checks should be performed −

  • The transactional information from the application should be stored in the database and it should provide correct information to the user.

  • Information should not be lost when it is loaded to database.

  • Only completed transactions should be stored and all incomplete operations should be aborted by the application.

  • Access authorization to database should be maintained. No unapproved or unauthorized access to user information should be provided.

Why You Need to Perform Database Testing?

There are multiple reasons why database testing is performed. There is a need to perform data integrity, validation and data consistency check on database as the backend system is responsible to store the data and is accessed for multiple purpose.

Given below are some common reasons for Database testing −

  • To ease the complexity of calls to database backend, developers increase the use of View and Stored Procedures.

  • These Stored procedures and Views contain critical tasks such as inserting customer details (name, contact information, etc.) and sales data. These tasks need to be tested at several levels.

  • Black-box testing performed on front-end is important, but makes it difficult to isolate the problem. Testing at the backend system increases the robustness of the data. That is why database testing is performed on back end system.

  • In a database, data comes from multiple applications and there is a possibility that harmful or incorrect data is stored in the database. Therefore, there is a need to check database components regularly. In addition, data integrity and consistency should be checked regularly.

Perform Database Testing

Database Testing Vs Front-End Testing

Database testing is different from front-end UI testing. The following table highlights the key differences −

Database Testing UI Testing

Database testing is known as data validation and integrity testing or back-end testing.

UI testing or front-end testing is also called Application testing or GUI testing.

Database testing involves testing of back-end components, which are not visible to users.

This includes database components and DBMS systems such as My SQL, Oracle.

UI testing involves checking functionalities of an application and its components like forms, graphs, menus, reports, etc.

These components are created using front-end development tools like, C#, Delphi, etc.

Database testing involves checking stored procedures, views, schemas in database, tables, indexes, keys, triggers, data validations and data consistence check.

UI testing involves checking the functionality of application, buttons, forms and fields, calendar and images, navigation from one page to other, and the overall functionality of the application.

To perform DB testing, a tester needs a thorough knowledge of database concept − like procedures and functions, views, indexes, keys and good hands-on SQL.

To perform UI testing, a tester needs a good understanding of business requirements, application functional knowledge, coding, etc.

Data comes from multiple heterogeneous data sources over web applications, Intranet applications and various other applications.

Data is entered manually into applications. It involves functional testing of front-end applications.