Custom Search

Database Testing

Database Testing

 
1). what is Database Testing?


     Testing the backend databases, like comparing   the actual results   with expected results.


2). what is database testing and what we test in database testing


Data bas testing basically include the following.
1) Data validity testing.
2) Data Integrity testing
3) Performances related to database.
4) Testing of Procedure, triggers and functions.
       For doing data validity testing you should be good in SQL queries
For data integrity testing you should know about referential integrity and different constraint.
For performance related things you should have idea about the table structure and design.
For testing Procedure triggers and functions you should be able to understand the same.



3). what we normally check for in the Database Testing?


          Database testing involves some in-depth knowledge of the given application and requires more defined plan of approach to test the data. Key issues include:
1) data Integrity
2) data validity
3) data manipulation and updates.

Tester must be aware of the database design concepts and implementation rules

4). How to Test database in manually? Explain with an example
       Observing that operations, which are operated on front-end is effected on back-end or not.
The approach is as follows:
While adding a record thru' front-end check back-end that addition of record is effected or not.
So same for delete, update...

Ex: Enter employee record in database thru' front-end and check if the record is added or not to the back-end (manually).

5). How to test a SQL Query in WinRunner? With out using Database Checkpoints?

     By writing scripting procedure in the TCL we can connect to the database and we can test database and queries.


6) .How does you test whether a database in updated when information is entered in the front end?

         With database check point only in WinRunner, but in manual we will go to front end using some information. Will get some session names using that session names we search in backend. If that information is correct then we will see query results.
7). What are the different stages involved in Database Testing
In DB testing we need to check for,
1. The field size validation
2. Check constraints.
3. Indexes are done or not (for performance related issues)
4. Stored procedures.
5.The field size defined in the application is matching with that in the db.

8). What SQL statements we use in Database Testing?

            DDLDDL is Data Definition Language statements. Some examples: · CREATE · ALTER - · DROP -· TRUNCATE -· COMMENT - · RENAME - DMLDML is Data Manipulation Language statements. Some examples: · SELECT - · INSERT - · UPDATE - · DELETE - · MERGE - UPSERT -· CALL - · EXPLAIN PLAN - · LOCK TABLE - DCLDCL is Data Control Language statements. Some examples: · GRANT - · REVOKE - · COMMIT - · SAVEPOINT - · ROLLBACK - COMMIT -· SET TRANSACTION - This are the Database testing commands.
9). How to use SQL queries in WinRunner/QTP
In QTP
Using output database check point and database check point,
Select SQL manual queries option
And enter the "select" queries to retrieve data in the database and compare
 The expected and actual.


10). What steps does a tester take in testing
Stored Procedures?

           In my view, the tester has to go through the requirement, as to why the particular stored procedure is written for? And check whether all the required indexes, joins, updates, deletions are correct comparing with the tables mentions in the Stored Procedure.  And also he has to ensure whether the Stored Procedure follows the standard format like comments, updated by, etc.
11). How to check a trigger is fired or not, while doing Database testing?

             It can be verified by querying the common audit log where we can able to see the triggers fired.

12). Is an "A fast database retrieval rate" a testable requirement?

           Since the requirement seems to be ambiguous. The SRS should clearly mention the performance or transaction requirements i.e. It should say like 'A DB retrieval rate of 5 micro sec'.

13). How to test a DTS package created for data Insert, update and delete? What should be considered in the above case while testing it? What conditions are to be checked if the data is inserted, updated or deleted using a text files?

           Data Integrity checks should be performed.  IF the database schema is 3rd normal form, then that should be maintained.  Check to see if any of the constraints have thrown an error.  The most important command will have to be the DELETE command.  That is where things can go really wrong.
Most of all, maintain a backup of the previous database.
     14). How to test data loading in Data base testing
Using with Query analyzer.
You have to do the following things while you are involving in Data Load testing.
1. You have know about source data (table(s), columns, data types and Constraints)
2. You have to know about Target data (table(s), columns, data types and Constraints)
3. You have to check the compatibility of Source and Target.
4. You have to Open corresponding DTS package in SQL Enterprise Manager and run the DTS package (If you are using SQL Server).
5. Then you should compare the column's data of Source and Target.
6. You have to check the number to rows of Source and Target.
7. Then you have to update the data in Source and see the change is reflecting in Target or not.
8. You have to check about junk character and Nulls.


15). What is way of writing test cases for database testing?


You have to do the following for writing the database test cases.
1. First of all you have to understand the functional requirement of the application thoroughly.
2. Then you have to find out the back end tables used, joined used between the tables, cursors used (if any), triggers used (if any), stored procedures used (if any), input parameter used and output parameters used for developing that requirement.
3. After knowing all these things you have to write the test cases with different input values for checking all the paths of SP.
One thing writing test cases for back-end testing not like functional testing. You have to use white box testing techniques.

No comments: