Friday 24 August 2012

Decision Coverage and Branch Coverage (Asked in ISTQB)


Q.  How many test cases are necessary to cover all the possible sequences of statements (paths) for the following program fragment? Assume that the two conditions are independent of each other:

if (Condition 1)
then statement 1
else statement 2
fi
if (Condition 2)
then statement 3
fi

A. 2 Test Cases
B. 3 Test Cases
C. 4 Test Cases
D. Not achievable

Answer:-A

Q: Given the following:

Switch PC on
Start "outlook"
IF outlook appears THEN
Send an email
Close outlook

A. 1 test for statement coverage, 1 for branch coverage
B. 1 test for statement coverage, 2 for branch coverage
C. 1 test for statement coverage. 3 for branch coverage
D. 2 tests for statement coverage, 2 for branch coverage
E. 2 tests for statement coverage, 3 for branch coverage

Answer:-B


Q. IF A > B THEN
C = A – B
ELSE
C = A + B
ENDIF
Read D

IF C = D Then
Print "Error"
ENDIF

A. 1 test for statement coverage, 3 for branch coverage
B. 2 tests for statement coverage, 2 for branch coverage
C. 2 tests for statement coverage. 3 for branch coverage
D. 3 tests for statement coverage, 3 for branch coverage
E. 3 tests for statement coverage, 2 for branch coverage

Answer:-B

Q: Consider the following:

Pick up and read the newspaper
Look at what is on television
If there is a program that you are interested in watching then switch the the television on and watch the program
Otherwise
Continue reading the newspaper
If there is a crossword in the newspaper then try and complete the crossword

A. SC = 1 and DC = 1
B. SC = 1 and DC = 2
C. SC = 1 and DC = 3
D. SC = 2 and DC = 2
E. SC = 2 and DC = 3

Answer:-E

Q: Given the following code, which is true about the minimum number of test cases required for full statement and branch coverage:

Read P
Read Q
IF P+Q > 100 THEN
Print "Large"
ENDIF

If P > 50 THEN
Print "P Large"
ENDIF

A. 1 test for statement coverage, 3 for branch coverage
B. 1 test for statement coverage, 2 for branch coverage
C. 1 test for statement coverage, 1 for branch coverage
D. 2 tests for statement coverage, 3 for branch coverage
E. 2 tests for statement coverage, 2 for branch coverage

Answer:-B



Q:Disc = 0
Order-qty = 0
Read Order-qty
If Order-qty >=20 then
Disc = 0.05
If Order-qty >=100 then
Disc =0.1
End if
End if

A. Statement coverage is 4
B. Statement coverage is 1
C. Statement coverage is 3
D. Statement Coverage is 2


Answer:-B



Q. What is the smallest number of test cases required to Provide 100% branch coverage?

If(x>y) x=x+1;
else y=y+1;
while(x>y)
{
y=x*y; x=x+1;
}

A. 1
B. 2
C. 3
D. 4

Answer:-B


Q: If the pseudo code below were a programming language ,how many tests are required to achieve 100% statement coverage?

1. If x=3 then
2. Display_messageX;
3. If y=2 then
4. Display_messageY;
5. Else
6. Display_messageZ;
7. Else
8. Display_messageZ;

A. 1
B. 2
C. 3
D. 4


Answer:-C



Q:Using the same code example as question 17,how many tests are required to achieve 100% branch/decision coverage?

A. 1
B. 2
C. 3
D. 4


Answer:-C

Q: This part of a program is given:

WHILE (condition A) Do B
END WHILE
How many decisions should be tested in this code in order to achieve 100% decision coverage?

A. 2
B. Indefinite
C. 1
D. 4

Answer:-A



Q.: Analyze the following highly simplified procedure:

Ask: "What type of ticket do you require, single or return?"
IF the customer wants ‘return’
Ask: "What rate, Standard or Cheap-day?"
IF the customer replies ‘Cheap-day’
Say: "That will be £11:20"
ELSE
Say: "That will be £19:50"
ENDIF
ELSE
Say: "That will be £9:75"
ENDIF

Now decide the minimum number of tests that are needed to ensure that all the questions have been asked, all combinations have occurred and all replies given.

A. 3
B. 4
C. 5
D. 6
Answer:-A

Q: For the following piece of code, how many test cases are needed to get 100% statement coverage?

Procedure X
Read (Color) // Input color from user
IF (Color == “Red”) THEN
Call Roses(Color)
ELSEIF (Color == “Blue”) THEN
Call Violets(Color)
ELSE
PRINT “User is no Shakespeare”
SaveToDatabase(Color)
End Procedure X

 A. 5
B. 3
C. 1
D. 2

Answer:-B




Wednesday 18 July 2012

Difference between Error, Bug, Defect and Failure

Error 
Error occurs when the the human being makes a mistake in code.


Failure
When the code which has got error executed, then the system fails to perform what it should actually perform. Thus, this results to failure


Bug
When the actual result fails to match with the expected result then it is called as bug.

Defect 
If there is is discrepancy in following steps or process, then this results to unexpected behavior then it is defect. 


Hence,
If the programmer does some mistake in coding then it is ERROR,
This ERROR when found by tester is DEFECT,
The DEFECT when accepted by the programmer or developer is called BUG,
And thus, discrepancy between actual result and expected result is called FAILURE.



The failure in program occurs because of several reasons there are bugs in software due to unclear or constantly changing requirements, software complexity, programming errors, timelines, errors in bug tracking, communication gap, documentation errors, deviation from standards etc and many other



Friday 6 July 2012

Computer Aided Software Testing(CAST)

CAST TOOLS

The acronym stands for "computer Aided software Testing". There are some tools which assist the
testing process

There are various types of CAST tools, some of these are as under:

1. Requirements testing tools support for verification and validation of requirements models

2. Static analysis tools Provide information about the quality of software
and Code is examined, not executed.

3. Test design tools Generate test inputs from a formal specification or CASE repository.

4. Test data preparation tools Data manipulation,selected from existing databases or files,
created according to some rules and edited from other sources.

5. GUI test tool use to test the User interface of the system. for example: selenimum, HP winRunner.

6. Performance test tools simulates realistic load on the system & logs the number of transactions
and response times for selected transactions via user interface.for example Load Runner

7. Dynamic analysis tools Provide run-time information on software (while tests are run)
allocation, use and de-allocation of resources, e.g. memory leaks

8. Debugging tools Used by programmers when investigating, fixing and testing faults.
It is use to find cause of failures.

9. Comparison tools compares the actual results with the expected results.

10. Test management tools does management of test ware, test process, incident managment tool
and traceability

11. Coverage measurement tools Objective measure of what parts of the software structure was executed by tests. Tool reports what has and has not been covered by those tests, line by line and summary statistics.