DB testing includes performing data validity, data integrity testing, performance check related to database and testing of procedures, triggers and functions in the database. This is an introductory tutorial that explains all the fundamentals of Database testing.
Audience
This tutorial has been designed for all those readers who want to learn the basics of Database testing. It is especially going to be useful for all those software testing professionals who are required to test the applications in order to find out how they affect the database performance.
Prerequisites
We assume the readers of this tutorial have hands-on experience of handling a database using SQL queries. In addition, it is going to help if the readers have an elementary knowledge of basic database concepts.
DB testing includes performing data validity, data integrity testing, performance check related to database and testing of procedures, triggers and functions in the database.
Example
Consider an application that captures the day-to-day transaction details for users and stores the details in the database. From DB testing point of view, the following checks should be performed −
- The transactional information from the application should be stored in the database and it should provide correct information to the user.
- Information should not be lost when it is loaded to database.
- Only completed transactions should be stored and all incomplete operations should be aborted by the application.
- Access authorization to database should be maintained. No unapproved or unauthorized access to user information should be provided.
Why You Need to Perform Database Testing?
There are multiple reasons why DB testing is performed. There is a need to perform data integrity, validation and data consistency check on database as the backend system is responsible to store the data and is accessed for multiple purpose.
Given below are some common reasons for Database testing −
- To ease the complexity of calls to database backend, developers increase the use of View and Stored Procedures.
- These Stored procedures and Views contain critical tasks such as inserting customer details (name, contact information, etc.) and sales data. These tasks need to be tested at several levels.
- Black-box testing performed on front-end is important, but makes it difficult to isolate the problem. Testing at the backend system increases the robustness of the data. That is why DB testing is performed on back end system.
- In a database, data comes from multiple applications and there is a possibility that harmful or incorrect data is stored in the database. Therefore, there is a need to check database components regularly. In addition, data integrity and consistency should be checked regularly.
Database Testing Vs Front-End Testing
Database testing is different from front-end UI testing. The following table highlights the key differences −
DB Testing | UI Testing |
---|---|
DB testing is known as data validation and integrity testing or back-end testing. | UI testing or front-end testing is also called Application testing or GUI testing. |
DB testing involves testing of back-end components, which are not visible to users.This includes database components and DBMS systems such as My SQL, Oracle. | UI testing involves checking functionalities of an application and its components like forms, graphs, menus, reports, etc.These components are created using front-end development tools like VB.net, C#, Delphi, etc. |
DB testing involves checking stored procedures, views, schemas in database, tables, indexes, keys, triggers, data validations and data consistence check. | UI testing involves checking the functionality of application, buttons, forms and fields, calendar and images, navigation from one page to other, and the overall functionality of the application. |
To perform DB testing, a tester needs a thorough knowledge of database concept − like procedures and functions, views, indexes, keys and good hands-on SQL. | To perform UI testing, a tester needs a good understanding of business requirements, application functional knowledge, coding, etc. |
Data comes from multiple heterogeneous data sources over web applications, Intranet applications and various other applications. | Data is entered manually into applications. It involves functional testing of front-end applications. |
Next Topic : Click Here
Pingback: Database Testing – Challenges - Adglob Infosystem Pvt Ltd