Database Testing Checklist for test engineers

Some time back I thought to create a checklist for database testing to ensure we are covering every aspect in Testing. With the help of my colleagues, Neha and Ankit,we prepared this list. Add one more column to this list for the result of each check.

 

Database Testing Checklist

#

Check Point

1)

Data Integrity

1

Is the complete data in the database is stored in tables

2

Is the data well logically organized

3

Is the data stored in tables is correct

4

Is there any unnecessary data present

5

Is the data present in the correct table

6

Is the data present in correct field within the table

7

Is the data stored correct with respect to Front End updated data

8

Is LTRIM and RTRIM performed on data before inserting data into database

 

 

2)

Field Validations

1

Is ‘Allow Null’ condition removed at database level for mandatory fields on UI

2

Is ‘Null’ as value not allowed in database

3

Is Field not mandatory while allowing NULL values on that field

4

Is the Field length specified on UI same as field length specified in table to store same element from UI into database.

5

Is the length of each field of sufficient size

6

Is the Data type of each field is as per specifications

7

Does all similar fields have same names across tables

8

Is there any computed field in the Database

 

 

3)

Constraints

1

Is required Primary key constraints are created on the Tables

2

Is required Foreign key constraints are created on the Tables

3

Are valid references are done for foreign key

4

Is Data type of Primary key and the corresponding foreign key same in two tables

5

Does Primary key’s ‘Allow Null’ condition not allowed

6

Does Foreign key contains only not NULL values

 

 

4)

Stored Procedures/ Functions

1

Is proper coding conventions followed

2

Is proper handling done for exceptions

3

Are all conditions/loops covered by input data

4

Does TRIM is applied when data is fetched from Database

5

Does executing the Stored Procedure manually gives the correct result

6

Does executing the Stored Procedure manually updates the table fields as expected

7

Does execution of the Stored Procedure fires the required triggers

8

Are all the Stored Procedures/Functions used by the application (i.e. no unused stored procedures present)

9

Does Stored procedures have ‘Allow Null’ condition checked at data base level

10

Are all the Stored Procedures and Functions successfully executed when Database is blank

 

 

5)

Triggers

1

Is proper coding conventions followed in Triggers

2

Are the triggers executed for the respective DML transactions

3

Does the trigger updates the data correctly once executed

 

 

6)

Indexes

1

Are required Clustered indexes created on the tables

2

Are required Non Clustered indexes created on the tables

 

 

7)

Transactions

1

Are the transactions done correct

2

Is the data committed if the transaction is successfully executed

3

Is the data rollbacked if the transaction is not executed successfully

4

Is the data rollbacked if the transaction is not executed successfully and multiple Databases are invlolved in the transaction

5

Are all the transactions executed by using TRANSACTION keyword

 

 

8)

Security

1

Is the data secured from unauthorized access

2

Are different user roles created with different permissions

3

Do all the users have access on Database

 

 

9)

Performance

1

Does Database perform as expected (within expected time) when query is executed for less number of records

2

Does Database perform as expected (within expected time) when query is executed for large number of records

3

Does Database perform as expected (within expected time) when multiple users access same data

4

Is Performance Profiling done

5

Is Performance Benchmarking done

6

Is Query Execution Plan created

7

Is Database testing done when server is behind Load Balancer

8

Is Database normalized

 

 

10)

Miscellaneous

1

Are the log events added in database for all login events

2

Is it verified in SQL Profiler that queries are executed only in Stored Procedures (i.e. no direct visible query in Profiler)

3

Does scheduled jobs execute timely

4

Is Test Data Dev Tool available

 

 

11)

SQL Injection

1

Is the Query parameterized

2

Does URL contain any query details

 

 

12)

Backup and Recovery

1

Is timely backup of Database taken

 

 

Advertisements

3 thoughts on “Database Testing Checklist for test engineers

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s