Whenever we talk about any windows or web application testing, Database does always sound loud. Backbone of the application always take care with the database. So as a QA it’s very necessary for us to take care of this backbone to prevent the application from the forthcoming defects in our functional test.
When to Test?
In most of the application Database design get ready in the starting of the Development or after the requirement freezing process. Same case in the Agile methodology, database design get finalize in the starting of the sprint. Also if the store procedures for any particular function is in the ready to QA mode then we can start our testing.
What to Test?
Scope of the testing should always be defined before starting the Database Testing. We should have to keep ourselves aware with the requirement for which this database is designed. Following points should always be test with the Database:
- Database Schema
- Relations between two tables
- Data Type and Range/length of the different columns defined in tables
- Store procedures
Most of the time we find that some of the basic column in the database designs are missing like isDeleted, LastModifiedTime, CreationTime, etc. Although this does not make any impact on the frontend but sometimes it’s very important for analysis purpose.
How To Test ?
If we talk about the best practice, Testing with Test Cases is very important for the full coverage of the application or scope. We Can use the following flow for the database testing:
- Gather information about the required tables, relations, Required Store procedures and triggers.
- Create your Test cases with this information. Try to include the validation of every column in the test case designing.
- Consider all positive and negative cases in Store procedures testing.
- For the Store procedure, it’s better to create test data as well before testing it in actual.
- Run your Test
- Report your defect using the tracking tools.