Database testing is used to test the main aspects of the integration between our tested software and the chosen database platform (SQL, Oracle Etc.)
It’s one of the inevitable parts of a software application these days. As a specialist tester, I became familiar with the fact that the concept of “checklists” can be an excellent and effective way of ensuring that the testing the project will be executed in a way that all the user requirements will be reflected in appropriate test cases.
Here is some database testing checklist you might have used:
- Check if correct data is getting saved in database upon successful page submit
- Check values for columns which are not accepting null values
- Check for data integrity. Data should be stored in single or multiple tables based on design
- Index names should be given as per the standards e.g. IND_<Tablename>_<ColumnName>
- Tables should have primary key column
- Null values should not be allowed for Primary key column
- Table columns should have description information available (except for audit columns like created date, created by etc.)
- For every database add/update operation log should be added
- Required table indexes should be created
- Data should be rolled back in case of failed transactions
- Check if data is committed to database only when the operation is successfully completed
- Check if input data is not truncated while saving. Field length shown to user on page and in database schema should be same
- Check numeric fields with minimum, maximum, and float values
- Test stored procedures and triggers with sample input data
- Database name should be given as per the application type i.e. test, UAT, sandbox, live (though this is not a standard it is helpful for database maintenance)
- Database logical names should be given according to database name (again this is not standard but helpful for DB maintenance)
- Stored procedures should not be named with prefix “sp_”
- Check values for table audit columns (like createddate, createdby, updatedate, updatedby, isdeleted, deleteddate, deletedby etc.) are populated properly
- Check numeric fields with negative values (for both acceptance and non-acceptance)
- Check if radio button and dropdown list options are saved correctly in database
- Check if database fields are designed with correct data type and data length
- Check if all table constraints like Primary key, Foreign key etc. are implemented correctly
- Input field leading and trailing spaces should be truncated before committing data to database
Using Redis Database could be a very good option. To get information about when and why to use redis database, click here.