What is database testing?

Database testing is Technique of checking the data which gets inserted/updated/deleted in various databases. Database testing differs based on the type of the data you are verifying.
Based on the OLTP or OLAP the method of database testing will differ. For OLTP (Online Transaction Processing) you are checking the data is inserted/deleted/modified properly or not.
Database testing is a kind of software testing where you make sure that what you enter on web forms that information is being saved in to database as expected. Data constraints are maintained while doing migration or upgradation of your web application.

  1. Checking whether the data submission you made through an UI application is stored in the database. This is referred as Database testing.
  2. Data warehouse testing : Feed files from an UI application are fed into a system and data will be sent to different layers after applying business rules using ETL tools like Informatica. QA team will provide complete testing from file level to the table level using Unix scripts and SQL queries.
  3. Data base testing generally deals with the following:
    1. Verifying the integrity of UI data with Database Data
    2. Verifying  whether any junk data is displaying in UI other than that stored in database.
    3. Verifying  execution of stored procedures with the input values taken from the database tables.
    4. Verifying  Data Migration.
    5. Data validity testing.
    6. Data Integrity testing
    7. Performance related to data base.
    8. Testing of Procedure,triggers and functions.
  4. For data validity testing you should have knowledge of SQL
  5. For data integrity testing you should know about referential integrity and different constraint.
  6. For performance related things you should have idea about the table structure and design.
Database testing involves following four activities:
  1. Validating the mapping of data from front end(UI) to back end(DB/Table).
  2. Validating the Data Integrity.( ensure that data are same in all related tables)
  3. Validating ACID(Atomicity, Consistency, Isolation, Durability property with all transactions.
  4. Validating Constraints and performance of database.
With database testing, you can check the overall health and stability of databases, stored as master data as well as procedures and business logic to ensure quality performance and continuous contribution to key business processes.
  1. Diagnosis of specific database on server
  2. Industry standard benchmarks testing of databases
  3. Managing and governing database resources and their utilization

Database Comparison Testing

You can compare the two different data sets to verify the integrity of the data and ensure accurate reporting.
  1. Run queries to look up if the data has been processed correctly or not
  2. Detailed drill-down information for database testing errors and data divergence
  3. Data mirroring with different data versions

Database Validation

You can authenticate various databases and their quality for further usage and analysis.
  1. Validation of database server configuration
  2. Verification of database server load
  3. Determining and authentication of database end users
Database testing, if done using automated testing tools like TestingWhiz, you can
  1. Streamline and accelerate data validation
  2. Lesser data anomalies due to early detection of defects
  3. Better re-use of test components, reducing time-to-market and simplifying the test management process
Checking relationships, keys, procedures,Queries (almost 1 page long queries used in backend applications) logic check, triggers, schema of tables, validation of tables,checking name convention, optimize parameters in procedure, checking views, checking temp tables.