This post has already been read 2014 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.