Skip to content
Database Testing
- 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.
- Table’s structure.
- Data recovery.
- Data integrity.
- Others
Clean database testing
- Verify clean database testing.
- Input 1st data
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.
Database Integration Testing
- 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.
Procedure 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 doesn’t 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.
Data checking
- Create Data from frontend and check by Query
- Delete Data from frontend and check by Query