Database Testing

Database testing is a very important aspect of software testing. A database testing is necessary to ensure that the values that an application is retrieving or storing into the database are accurate or not. In order to test a database it is necessary that the tester should have sound knowledge of SQL.

In all IT companies and testing companies database testing cannot be conducted unless the tester understands the application completely. The tester should know which transactions will make what kind of changes in the database only then s/he can go ahead with testing. Generally testers are given a separate database with dummy data to conduct all the checks.

Generally quality assurance team defines the procedures for carrying out testing. As a good practice before starting off with testing the tester must list down all queries at one place with the help of development team. Then test each query and see if the data is being created, modified or deleted as per the specifications. After executing every query the tester must check all the tables associated with it.

Database is the most important aspect of any application. In complex applications such as banking software, the database will have to keep a record of thousands of accounts and the transaction that are taking place through these accounts. In such a scenario the application cannot afford to have a single database error.

There are many things that you can check in database testing, besides the changes being made in database it is sometimes necessary to even look at the business logic and see if the logic behind data updates is correct or not. Database testing is a very tough task and must be handled by a well experienced tester who can understand the complexities of the application. There is a great demand for database testers for software testing in Ireland.

As per the software recruitment agencies in Ireland in order to qualify for database testing jobs, a candidate should know what are the important aspects of database testing? Some of the important points are given below

What to test in triggers?

  1. Does the trigger satisfy the purpose for which it has been created?
  2. Are all the conditional statements handled properly?
  3. Is the trigger yielding correct output for a pre defined input?
  4. Has each detected error been correctly handled?

What to test in stored procedures?

  1. In order to test a stored procedure, break it into smaller action statements and test each statement one by one to analyze if the stored procedure has implemented the right logic.
  2. Prepare test cases for the stored procedure based on the no. and types of input parameters, the order in which these parameters have been passed, what value is returned, what is the type of value returned etc.
  3. Check how much time the stored procedure takes to give results?
  4. Is it possible to refine the stored procedure?

Testing Tables in Database Testing

For each table check the following points:
  1. Are their any fields in the table that can take null value?
  2. What values are valid for each field?
  3. What are the constraints defined?
  4. Is there any value in the table that is dependent on some other table in the database?
  5. What are the primary and foreign keys for a table?
  6. Which are the various user defined data types?
  7. No orphan object should be present
  8. Is there are indexing field in the table?
  9. Is the table able to store the data inserted?
  10. How much time does it take to retrieve results?

Other factors involved in database testing:

  1. What is expected from various stored procedures and triggers and are they functioning properly?
  2. What are the parameters accepted by the stored procedures and what does the SP provide?
  3. When is each SP called? Why and by whom?
  4. When is the trigger fired?