Software Testing

Database Testing for beginners

This post has already been read 2948 times!

Data of any application is always critical from a business perspective. If basic database operations such as  insert, update delete are performed without testing database for consistency then there is a risk of entire system crash. Database testing is nothing but finding errors in the databases to eliminate them.

What to Test?

  • Data Validity testing – When data is entered via front end ,check if the data is correctly updated in the backend  database. Check how special characters are handled in the database .Check that right columns in the right tables are being updated. Such checking usually involves use of SQL queries to validate the data.
  • Data integrity testing – It involves testing of appropriate changes to the related entities and constraints  such as primary key/foreign key ,when data is modified ( insert, update, delete)
  • Data format testing – This involves checking the size and type of fields that store data in the database with those that accept data in the application. for example application may accept email id  from front end but store without  ” @ ” in the database.
  • Database code testing – It involves testing the code in the database which implements business logic. This includes testing of stored procedures.
  • Non-functional database testing – To ensure database scalability ,recoverability with no/minimal loss of data it is important to do database performance testing, database security testing, database recovery testing etc.

How to Test?

  • Firstly tester needs to understand entire application completely  and which database is being used with the application. need to have understanding of database structure and data mapping ,understand validations and constraints ,creating queries etc.
  • Figure out all the tables which exists for application and try to execute all the queries for the tables as there are many complexities present. Check each and every table carefully using the appropriate data. Check all the functionalities present in the application.
  • If the complexity is more than tester can get the queries from developer to check the required functionality.

The world is generating variety of data with a huge volume at a very rapid speed . database is getting more complex due to the business logic which is an important aspect of the application.
Database testing is really a complex task and it should be always performed if tester is much experienced in this field. it requires tester to expertise  in sql and stored procedures.

1 comment

  1. Data Migration and Data Conversion Testing is not mentioned in Database Testing.
    In Real scenarios many times we have to migrate datbases from one server to another server or sometimes from one database to another databases some times refer as ETL testing . Where scripts are fired on the database server to populate new DB.

    Some Time in testing phases we have to upload and download database in different formats .csv ,.xml to convert it into multiple supported platforms.

    Security Testing of Database using ACL and Authentication and Authorization with Role base access and SQL injection Attacks not covered.

    OVerall Good Article.

Leave a Reply

Your email address will not be published. Required fields are marked *

Current ye@r *