Databases are collection of information which stores our data in the form of tables which is organized so that we can easily accessed, managed and updated. For large databases we can suffer many kind of Implementation and integration errors by which our system's performance consistency, reliability and security can be affected.Thus, it is important to test our databases system which satisfies the Consistency, Atomicity, Durability and isolation of a database management system.
Our Database should be Validated:
1) Data Mapping: For Data mapping we check following:
1> Either the fields in the UI end forms are mapped with the corresponding DB table or not.
2> Whenever a certain action is performed in the front end of an application, a corresponding Create, Insert, Update and delete action gets invoked at the back end.
2) ACID properties validation: DB performance has to stick to these four properties atomicity, consistency, isolation and durability.
Atomicity :- It means that a transaction either passes or fails.
Consistency: A transaction each time will always result in a valid state of the DB.
Isolation: If there are multiple transactions and the execution is at the same time, the result/state of the DB should be the same as if they were carried out one after the other.
Durability: After a transaction is done and committed, no external factors like electricity failure or crash should be able to change it
3) Data integrity: The most recent & revised values of shared data should appear on all the screens and forms. A value should not be revised on 1 screen and display an older value on another one. So organize your DB test cases in a way to include checking the data in all the places. It appears to see if it is constantly the same.
Database Testing Process:
1>Prepare the environment
2> Run a test
3> Check test result
5> Report the findings
Types of Database language:
(a) DDL:- DATA DEFINITION LANGUAGE STATEMENTS
(b) DML:- DATA MANIPULATION LANGUAGE STATEMENTS
(c) DCL:- DATA CONTROL LANGUAGE STATEMENTS
(d) TCL:- TRANSACTION CONTROL LANGUAGE STATEMENTS
Types of Database:
1>Microsoft SQL server
3> MS Access
5> Maria DB
Types of Database Testing:
1.Structural Testing : In this we check those elements or data which is inside the data repository.
2.Functional Testing : In this we check database validations:
a>we check field is mandatory while allowing null values.
b>we check length of each field is sufficient size or not.
c>we check whether there are any computed fields present in DB or not
3.Non-functional Testing: Non Functional testing can be stress testing, load testing, usability testing, security testing, and compatibility testing etc.