Database testing includes the retrieved values from database, from the web, may be from desktop application. Here the data in the user interface should be matched as per the records which are stored in the database. Database testing is to validate the information in the database if it is of expected format and stored in appropriate location and has desired value.
Database testing validations:
Here the following verifications are done:
- Checking the data mapping
- ACID (atomicity, consistency, isolation, Durability) properties validation.
- Data Integrity
- Business rule conformance
What is the importance of Database testing?
Database testing is important because it makes sure that the data values and information received from the end user from user interface correctly, and also stored in the database correctly. Database testing helps to save data loss, saves aborted transaction data, transaction data and avoids unauthorised access to the information. Database is important for any software application. Hence testers must have good knowledge of sql for database testing. Database testing can be done along with functional testing.
Here the GUI, is given the most emphasis by the test team and development team members since the graphical user interface happens to be the most visible part of the application. It is also important to validate the information that will be the heart of the application.
Example for Database testing:
1. Consider a database table called customer. Using the select query we can display the customer information.
2. we consider one more table as product
It contains the fields like productid, unitprice , name, serial number, description, and units in stock. We can test the schema, we can test for the primary key of the table if it is assigned properly or not. The next part we can test name column where name column can be broken into two parts first name and last name of customer, in that way the data can be more organised.
Here, we can test the relationships between the tables. We can also test all the columns of all the tables.
Types of Database testing:
- Structural Testing
- Functional testing
- Non-functional testing
1. Structural Database Testing:
It is a database testing technique that validates all the elements inside data repository which are mainly used for the data storage and also not allowed to directly manipulate by the end-users. The validation of database servers is also significant consideration a structural database.
2. Functional database Testing:
It is a type of database testing which is used to verify the functional requirements of a database from a user’s point of view. The main goal of functional testing is to test whether the transactions and operations performed by the end user’s, which are related to the database works or not.
Following are basic conditions that need to be observed for database validations:
- Whether the field is mandatory while allowing NULL values on that field?
- Whether the length of each field is of sufficient size?
- Whether all similar fields have the same names across tables?
- Whether there are any computed fields present in the database?
This particular procedure is the verification of the field mappings from the end-user viewpoint. The tester tests at the database level and then also will navigate to the relevant user interface item to observe and validate the proper field validations have been carried out or not.
3. Non-functional Testing
Here the database testing are often divided into different categories as needed to the business requirements. These are often load testing, stress testing, usability testing, and compatibility testing then so on.