Sunday, February 28, 2010

Test ur Testing Skill

1.      Software Testing is a process of finding that

I.       Software is working fine
II.      Software is meeting the requirement
III.     Software is user friendly and it has very high user experience
IV.     Software is not working

2. Which of the following is correct?

a.     Verification is doing the thing right way
b.     Validation is doing the right thing
c.     Testing is right thing right way
d.     Testing is validation and verification
e.     Validation does not exist without verification
I.       a, b, e
II.      c, d, e
III.     a, b, d, e
IV.     a, b ,c, d
V.     All of the above statements are correct.

3. Which of the following statements are correct in a software testing life cycle ?
a.    QA is process oriented
b.    QC is product oriented
c.    Testing is QA and QC
d.    QC does not exist without QA

I.        a, b, e
II.      c, d, e
III.     a, b, d, e
IV.     a, b ,c, d
V.     All of the above statements are correct.

4. Which of the following is non-functional Testing?

I.       Structural Testing
II.     Security Testing
III.    Black Box Testing
IV.   White Box Testing
V.    Path Coverage and Data Driven Testing

5.    Company Logo is displayed wrong in a website. What is severity and priority of this defect?

I.      High Severity and Low Priority
II.     High Severity and High Priority
III.    Low Severity and High priority
IV.    Low Severity and low Priority
V.     Medium Priority and Medium Severity

6. For a Check Box, how many boundary value is possible?

I.       Zero
II.     One
III.    Two
IV.    Three
V.     Can not define the Boundary values of Check box object

7.    Who is worst Tester ?

I.     Project Manager
II.    Stack Holders
III.   User
IV .  Developer
V.    Business Analyst


8.    Which of the following is important  in a test case without which we can not say test case is complete.

I.     Test Steps
II.    Test ScenerioID and TestCase ID
III.   Expected Result
IV.   Actual Result
V.    Pass/Fail

9.    In a Particular module of software testing ,Tester A found 60 defects, Tester B found 70 Defects,     Tester C found 80 defects , Tester D found 90 defects. Based on the above information who is  good tester?

I.      Tester A
II.     Tester B
III.    Tester C
IV.    Tester D
V.    Can’t  say

10.    Which of the following is correct?

I.    Defects always remain in system
II.    Number of Defects found in a system is directly proportional to number of defects still remain in the system
III.    Number of Defects found in a system is inversely proportional to number of defects still remain in the  system
IV.    System cannot have Zero defect
V.    Some defects cannot  be found

Wednesday, February 10, 2010

Part2: Database Testing

Part2, Continue from Part1


Let’s start with Database testing by understanding SQL (Structural Query Language, Pronounced as -sequel).

Before we start, we need 2 things

1. Database connection strings (i.e. IP of Database server , userid and Password ) to connect to database and

2. Database client tool (like Toad, SQL Developer, SQl Server client or any tool that you use...)

Now understand what happens when we execute SQL statements:

Internally 2 things happen:

1. Your executed SQL statement is going to Compile

It will check for any semantic errors on the client side .In toad tool it will check for an error like invalid table name , invalid column name , sql keywords is wrongly used etc .If any error occurs then a pop up message to correct the statement will appear. In contrary to stored procedure (SP) where sql statements are already pre- complied. That is one of the differences between SQL statements and stored procedure and hence SP provide good performance as well as security benefits -SQL injection

2. Your Complied SQL statement is going to execute on Database server

When we execute the command it sends request to execute the statement on Database server. If connection is meeting then SQL statement is executed and result appears on client tool



That was the basic what happens behind the wall when we execute the SQL Query.

As a test engineer our intention is to validate the data, for that we use the select statement. We hardly use other DML (Data Manipulation Language – Insert, delete and Update), mostly we have only read access of database and no read write access, so we cannot use other manipulation like, insert, update or delete.

Thursday, February 4, 2010

Part1 -Database Testing

Welcome!
I am starting a series of threads in database testing for software test engineers. I have seen testers are struggling for database testing and they are very keen on learning of database testing. It is not true that they don’t know the database or the SQL, but they don’t know what exactly they need to test and why they need to test (some confusion is like data is there in database and so it is coming in Application and we should not test database)
I am starting a series of database testing concepts all based on practical and only practical knowledge, and no theoretical Gyan.

Part1

Here is a million dollar question :
Why we should do database testing ?
Here below is some of the answer ( might be many more)
1. To tell that -  data appears in application is correct or not

2. To tell that - data appears in UI is coming from database or developer has hardcoded the data in code( if data is hardcoded - it’s a very high severity and priority bug)

3. How to test ADD/EDIT /DELETE functionality ( ADD/EDIT /DELETE actually update database records - In case of ADD -new record in inserted with correct values , in edit it should edit the values and no record is inserted , in case of delete , it should delete the data or mark the data disable( soft delete or hard delete))

4. To Test reports data - where lots of data appears in consolidated format( In this case there is a great need of database testing like in DataWare Housing testing or in business intelligence Testing etc., if you dont know what is a difference in DWH and DB,don't worry,i'll explain in mu blog)

5. How to manipulate the data in database and get the desire result in Application UI( Like update the disable user so that they can login again )

6. How to replicate the scenario( by reverse engineering – Query in database and knowing the probable reason for failure in production environment where we can get the production log and database entry)

Above is some of the reason for database testing and there is many more.

Next series is a contiuation of database testing - how to perform database testing