Thursday, January 16, 2014

Database Testing Checklist

1.) Data Integrity

 The complete data belonging to each entity should be stored in the database.
Depending on the database design, the data may be present in a single table or multiple related tables. Parent-child relationships should exist in the data. There should not be any missing data.

a.) Is the data stored in tables is correct?
b.) Is there any unnecessary data present?
c.) Is the data present in the correct table?
d.) Is the data present in correct field within the table?

2.) Database Performance (query execution times, throughput etc.) and locking problems

You may identify the main queries (or procedures) that are used in the application and time them with sample data. Locking problems may become apparent when multiple inserts/ updates are being made to the same entity simultaneously.

3.) Data Security

You may check if any data that should be encrypted e.g. passwords, credit card numbers is in plain text or not. The database should not have the default passwords. Even application accounts should have passwords that are complex and not easily guessed.

Miscellaneous

a.) Are the log events added in database for all login events?
b.) Does scheduled jobs execute timely.
c.) SQL Injection should not be allowed and handled properly
d.) Backup and Recovery: Is timely backup of Database taken.
e.) Security: Is the data secured from unauthorized access:  Are different user roles created with different permissions Do all the users have access on Database
f.) Is the Field length specified on UI same as field length specified in table to store same element       from UI into database.
 g.) Check for Primary key:  For Primary key 'Allow Null' condition should not be allowed.
 h.) Check for each field and UI element:  Field length of field in data base and on UI(if mentioned) should be same.

1 comment: