August
1999 QUESTION 5 Total Marks: 20 Marks |
Click here to access other
questions
SUGGESTED SOLUTIONS |
(a) | Define what is meant by the term software quality assurance. | [2] |
Software quality
assurance (SQA) is a planned and systematic pattern of actions that are required to ensure
quality in software.
|
||
(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] |
Any suitable solutions
accepted.
|
||
(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] |
Possible points could
be as follows: software must be published and made available to the public before
deadlines ( marketing reasons?); that software program needs to be compatible with various
other software (which could cause conflicts), different configurations and versions of
hardware; a normal professional software program would typically comprise f at least
thousands, and probably millions of lines of code - impossible practically to test the
program completely.
|
||
(d) | Consider the following flow graph representing
a program : (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]
|
(i) Number of regions
(these must be clearly indicated on a graph drawn in to the answer script) = 5 Number of
edges - Number of nodes = 10 - 7 + 2 = 5. (ii) Possible basis set of test paths: 1-4-6-7 1-4-6-1-4-6-7 1-4-5-7 1-3-5-7 1-2-5-7 (iii)
|