August 1999
SE203 : SOFTWARE ENGINEERING

QUESTION 5

Total Marks: 20 Marks

Click here to access other questions

Click to access
SUGGESTED SOLUTIONS
for Question 5

(a) Define what is meant by the term software quality assurance.

 

[2]
(b) Consider the following statements :

A successful test is one that uncovers a new error.

Both the software developers, and independent testers should test software.

Based on your understanding of testing, comment on whether both of these statements can be true.

 

[4]
(c) One of the frequently made statements regarding testing is that it has become practically impossible for modern professional software to be completely and thoroughly tested to ensure 100% error-free operation. Based on your understanding of testing, and the nature of computer systems, comment on whether this statement is true.

 

[3]
(d) Consider the following flow graph representing a program :

pic2.gif (10613 bytes)

(i) Based on both the number of regions and the edges/nodes methods, calculate the value of cyclomatic complexity. Draw the diagram into your answer script, and ensure that all your working is clearly shown.

(ii) Based on your value of cyclomatic complexity, indicate clearly your basis set of test paths. Ensure that you are ordering the set of test paths correctly.

(iii) Re-calculate the value of cyclomatic complexity using the predicate nodes method. You will realise that this value does not match either of the first two methods. Based on your understanding of the flow-graph, redraw the graph that will allow you to calculate correctly the value of cyclomatic complexity. Also, indicate clearly where your new predicate nodes are on this new graph.

 

 

 

 

 

 

 

 

 

 

[2]

 

[5]

 

[4]