Databases are the collection of files which are interconnected. Databases at different servers may not be of same type, i.e. databases may be heterogeneous. Basically, database testing is a layered process. Database systems usually consist of four layers: the user interface (UI) layer, the business layer, the data access layer and the database itself. Testing at these different layers is important for a consistent database system. Often, web software accesses the database from different backbends, i.e. they access heterogeneous databases.

Database testing is one of the major testing which requires tester to expertise in checking tables, writing queries and procedures. Testing can be performed in web application or desktop and database can be used in the application like SQL or Oracle. There are many projects like banking, finance, health insurance which requires extensive database testing.

Database testing basically include the following:

  1. Data validity testing.
  2. Data Integrity testing
  3. Performance related to data base.
  4. Testing of Procedure, triggers and functions.

-For doing data validity testing one should be good in SQL queries.

-For data integrity testing one should know about referential integrity and different constraint.

-For performance related things one should have idea about the table structure and design.

-For testing Procedure triggers and functions one should be able to understand the same.

What to Test in a Database?

Check all the functionality which is happening on every action performed in the application. Actions can include deletion, addition or save options. Check whether the added record is added in the DB with the exact value. Check the deleted record gets removed from the database. These are major roles which need to be monitored seriously.

Nowadays database is getting more complex due to the business logic which plays an important role for the applications. Tester should make sure that values have been added correctly after the implementation of the business rules.

Database testing is really a complex task and it should always be performed if tester is much experienced in this field.