Você está na página 1de 2

Checklist for Database testing

Testing checklists
OVERVIEW
There are many aspects that are involved in a testing process, this article will focus on the Checklist aspect that is a fundamental part
of every software testing process.
As a specialist tester I become familiar with the fact that the concept of checklists can be an excellent and effective way of ensuring
that the testing project will be executed in a way that all the user requirements will be reflected in an appropriate test cases.

Why using a checklist for testing?


In my opinion, there are a few major benefits that you achieve when using checklists:

Checklists can ensure that all the client requirements will be covered in the testing process.

Checklists can ensure that the software is tested with the needed coverage.

Checklists can reduce the tester Forgetting errors.

Checklists can help to ensure the testing accuracy.

Checklists can help to see the testing coverage.

Checklists can help to see the testing progress.

Checklists can increase the coordination between different teams that involved in the testing process.
CHECKLIST FOR DATABASE TESTING
Database testing is used to test the main aspects of the integration between our tested software and the chosen database platform
(SQL, Oracle Etc.). The main aspects that we want to validate are:

Synchronization between the database and the values displayed in our client/web.

Query results, views, stored procedures, indexers Etc.

Data manipulation (Update, Delete, insert Etc.).

Database performance.

Data maintenance.

Tables structure.

Data recovery.

Data integrity.

Etc.
I selected few criteria for tests, every criteria contain few examples that may help you to perform a better database testing.

Database system-level tests


Validate the DB behavior of any case of service failures (recovery, error handling Etc.).

Validate that all indexes are created when it can increase the system performance.

Validate that appropriate events are created ad sent to the EventVwr/trace log.

Validate that DB tables are created with informative and reasonable names.

Try to work when the storage is 0 and the e database is in running state.

Perform your tests on different versions (SQL 2005, 2008, 2012 etc.).

Validate the software security model (User roles, permissions etc.).

Validate the connection strings against SQL/Win authentications.

Validate data migrations (Different Database, Cluster, etc.).

Validate the behavior of the system against SQL injections.

Validate date to DB when the server is loaded.

Try to work when the database server is down.

Try to work with difference instance.

Validate restore and backup plans.

Data integrity tests


Check that all columns are set with the relevant data type (Bigint, int, string Etc.)

Check that all data is logically organized in the relevant DB tables.

Check that each data item is located under the relevant column.

Is there any irrelevant data in the software dedicated tables?

Check that each table contains the relevant data.

Try to insert invalid database values.

Verify the data encryption (if any).

Data field tests


Validate that Allow Null condition is not allowed in a place that result a software failure.

Validate that all tables are created with logical structure (Primary, foreign keys.)

Validate that Allow Null condition is set when you need to allow it.

Validate that mandatory fields are created, this issue is very important when you work with multiple tables that depends on
each other.
Procedures tests
Validate that the data the affected by the procedure is changed as expected.

Validate that all procedures are triggered when they supposed to run.

Validate that all the conditions receive an appropriate date inputs.

Validate that all procedures are created with the relevant code.

Is there an appropriate error handling for a failed procedure?

Validate that all the loops receive an appropriate date inputs.

Validate the procedure's parameters (types, names, etc.).

Test the SP while executing the code manually.

Validate important code with SQL profiler.

Validate that all procedures names

Run tests with missing parameters.

Database and software integration (Client, web Etc.)


Validate that the user data is saved when the user Apply or Submit the changes.

Try to insert NULL values on fields that doesnt supposed to receive it.

Validate that the user receives the current result when pulling data.

Validate that transaction the data type boundaries (Minima Etc.)

Validate that empty spaces are not committed to the database.

Validate that the values displayed based on the database data.

Try to insert UNICODE on Unicode character strings.

Try to insert values that exceed the field boundaries.

Validate that transactions the negative data values.

Insert invalid date format on Date and time fields.

Validate that the data integrity is not affected when the Apply or Submit transactions are failing during the process.

Validate that the Roll Back option is available when the DB transaction is failed in the middle.

Você também pode gostar