Interview Questions and Answers for QTP (Quick Test Professional)

Monday, March 16, 2009

Database Testing

Databases are an integral part of any software developed today. Whether you are a Software Tester or an owner of a web site, it is of an utmost importance to know about the underlying database.

The simplest task in dealing with databases is to write queries in order to communicate with a database. Web masters owning web sites or database administrators for complex or large software need certain level of expertise to perform complex tasks such as database monitoring, database auditing, database optimization, database models (also known as database schema), to name a few. This level of expertise calls for undergoing a comprehensive course.

For beginners, there is loads of online information about databases available on the Internet, like DatabaseGuides. It's a good idea for web masters to know about how their database works so that they can troubleshoot their own systems or know what is being done if a professional is hired.

Database Testing is an important aspect that a versatile Software Tester should be aware of. We'll discuss a few aspects of database testing here.

Why do we test database?

We all know that it's important to test the database our software uses. Your database holds confidential and valuable information which you would not like to be compromised. Testing the database provides us with a solid feedback essential for identifying defects.

What to test in database testing?

We need to consider the threats within the database (similar to White box Testing) as well as at the interface level (Similar to Black Box Testing).

Black Box testing might include, but not limited to:
Input data
Output Data (from queries, views, stored procedures)

White Box testing might include, but not limited to:
Unit tests for Stored Procedures / functions
Triggers / Views code
Referential Integrity

How to test?
When you want to test your database, you would need test databases that are replica of the original database. These are sometimes called as 'sandboxes' in agile terms. In this test database, you can experiment with data, develop new functionality, validate the changes and then integrate it with the project if satisfactory.

You'll need create database tests based on either rebuilding the existing database or starting afresh with creation of database and related schema. Identifying Test Data is an important task here. Once the tests are ready, you would execute them and check the results.

Database Testing is an elaborate topic that can't be fit in a single post. Would try and write more posts on the same.

Labels: , , ,

QTP and Winrunner Questions and Answers
Contact: qualityvista @

Post to: IpadIt! | blinkbits | blinklist | Blogmarks | co.mments | | | digg It! | Fark| feedmelinks | Furl | LinkaGoGo | Ma.gnolia | Netscape | Newsvine | Netvouz | RawSugar | Reddit | scuttle | Shadows | Shoutwire | Simpy | Smarking | Spurl | TailRank | Wists | YahooMyWeb!


At 9:27 PM, March 27, 2009, Blogger William Echlin said...

From the start "I'm not getting anything out of this (honest!)". But we've just started using a tool called SQL Delta.

We've just started using this as part of our application upgrade testing. Most applications, based on databases, have some sort of database upgrade component (e.g. SQL upgrade scripts using update and insert statements) when you upgrade the application. This tool has proved invaluable in helping us see the before and after changes as part of an upgrade.

Quite often we'll run the this tool against a fully populated database and showing the results to a developer will illuminate all sorts of issues.

A great time saver and very very effective. Worth a trial if nothing else.

William Echlin

At 3:51 AM, September 03, 2009, Blogger nahina said...

Thank you for your informative post! I have learned about two types of testing: black box testing and white box testing. Testing is a part of software engineering. According to Graham Fewster "Testing is a skill. While this may come as a surprise to some people it is a simple fact". In a website I learned about different types of testing such as gray box testing, manual testing, automated testing, etc. If you have any free automated testing software please share with us.


Post a Comment

<< Home