Databases are the collection of files which are interconnected. Databases at different servers may not be of the 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 testers to expertise in checking tables, writing queries and procedures. Testing can be performed in web applications or desktop and databases can be used in applications like SQL or Oracle. There are many projects like banking, finance, health insurance which requires extensive database testing.
Database testing basically include the following:
-For doing data validity testing one should be good in SQL queries.
-For data integrity testing one should know about referential integrity and different constraints.
-For performance related things one should have an 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 databases are getting more complex due to the business logic which plays an important role for the applications. Testers 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.
How To Perform Database Testing?
There are many different techniques and tools used for database testing. These differ depending on the application, the queries involved, and the preferences of the software developers. The basic aim of testing always remains the same though.
Transactions testing is one technique. This process helps to ensure that each of the ACID properties works accurately.
Then there is schema testing. Schema testing makes sure that each object in the scheme works as it should. This is done by doing a thorough check of each object. The objects tested here include: