IT Community - Software Programming, Web Development and Technical Support

Data and Database Integrity Testing

This is a discussion on Data and Database Integrity Testing within the Software Testing forums, part of the Software Quality Assurance category; The databases and the database processes should be tested as a subsystem within the project. These subsystems should be tested ...


Go Back   IT Community - Software Programming, Web Development and Technical Support > Software Quality Assurance > Software Testing

Register FAQ Members List Calendar Mark Forums Read
  #1 (permalink)  
Old 03-30-2007, 05:14 AM
sudhir sudhir is offline
D-Web Trainee
 
Join Date: Mar 2007
Posts: 13
sudhir is on a distinguished road
Default Data and Database Integrity Testing

The databases and the database processes should be tested as a subsystem within the project. These subsystems should be tested without the target-of-test’ s User Interface as the interface to the data. Additional research into the Database Management System (DBMS) needs to be performed to identify the tools and techniques that may exist to support the testing identified below.

Test Objective: Ensure database access methods and processes function properly and without data corruption.

Technique: Invoke each database access method and process, seeding each with valid and invalid data or requests for data.
Inspect the database to ensure the data has been populated as intended, all database events occurred properly, or review the returned data to ensure that the correct data was retrieved for the correct reasons

Completion Criteria: All database access methods and processes function as designed and without any data corruption.

Special Considerations: Testing may require a DBMS development environment or drivers to enter or modify data directly in the databases.
Processes should be invoked manually.
Small or minimally sized databases (limited number of records) should be used to increase the visibility of any non-acceptable events.

Database Testing mainly concentrates on following:

1. Data Integrity test
2. Stored Procedure test
3. Type test
4. Data Size Test
5. Event Driven Item Test
6. Input Item Verification


1)Data Integrity test

Once a value undergoes any of the above actions (update / Delete / Insert) the database should be verified for the changes performed on related entities i.e., Foreign key / Primary key and all dependent entities

2)Stored Procedure test
Every Stored Procedure is to be tested separately for its functionality (Based on Separate functions it performs) Stored procedures need to be broken up into Action Items based on Functions and then each action item needs to be tested separately as the results of Complete Stored procedure.

Execution may differ from the results obtained by partial execution. This also helps in validating the modularity of Code (White Box).
In the case of stored procedures, to come up with test cases one can consider the following:

1. The no. of arguments being passed
2. The data type of each of the arguments being passed
3. The order of the arguments being passed
4. The return value
5. The data type of the return value

Based on these you can write both positive and negative test cases, consider a simple example of a stored procedure taking 2 numbers as input and returning the sum of the 2 numbers


3) Type test
This test is performed to verify that the data types used by the DBA are same as expected by agreed upon by the developer. Often the data types chosen by developers are not the same as suggested by database administrators, especially for the fields like

A) Phone (Num./Text)
B) Description (Large Text)

These kinds of mismatches often do not effect the functionality and normal execution of code, but prove to be very Costly during Updating of product or during addition of features to the existing modules

4) Data Size Test
Performance of Data size testing is often done only at the front end during the unit testing , but it is essential to perform it at back end separately .
This ensures smooth transition while appending functionality and integrating modules as during these Phases , the data is passed to the system with direct user interaction and bypassing front end validation.

5)Event Driven Item Test

Event Driven Actions (Triggers or Scheduled Actions) needs to be tested on two parameters.
A) Events that trigger these actions: Here QA needs to check the events on which any of the trigger can get fired/executed . This testing can be done with the help of DBA also .
B) Actions performed by the above stated events. Here the contents of such stored procedures or scheduled actions are verified for the functionality .


6)Input Item Verification

This is the process of verification of the input items (Though this is not totally a part of database testing, but this has to be performed essentially during database testing of the Web based applications.

Often it is seen that the input items (Text Box / RTB / Combination Box / Active-X controls) are tested for validation only at front end (Screen testing) but these are again to be tested with junk Character values to confirm that they do not push in such characters which the databases Often misrepresent or Replace with other characters (this testing can partially be performed during Unit testing also by the developer
__________________

Have a Nice Day
Sudhir S M
India
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Sponsored Links
  #2 (permalink)  
Old 04-01-2007, 09:35 PM
trick-r-treat trick-r-treat is offline
D-Web Programmer
 
Join Date: Feb 2007
Posts: 51
trick-r-treat is on a distinguished road
Default Re: Data and Database Integrity Testing

Ok, well, this is very informative. I did read in another thread the question about the testing and I had never even heard of it before.
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How to insert data from a csv file into a SQL server database? $enthil Database Support 7 05-01-2008 10:45 PM
What is data integrity? Explain constraints? sundarraja Database Support 1 01-18-2008 04:41 AM
Data integrity and Data validity simplesabita Software Testing 1 10-30-2007 04:22 AM
What is Database testing? itbarota Software Testing 1 07-23-2007 06:18 AM
Database testing vadivelanvaidyanathan Software Testing 0 03-13-2007 06:21 AM


All times are GMT -7. The time now is 06:35 PM.


Copyright ©2004 - 2007, DiscussWeb. All Rights Reserved.

SEO by vBSEO 3.0.0