August
1997 QUESTION 5 Total Marks: 20 Marks |
Click here to access other
questions
SUGGESTED SOLUTIONS |
5. | (a) Software Quality has been defined as a software product's conformance to certain things. In this context, define what is meant by Software Quality. | [3] | |
conformance to functional requirements | |||
conformance to performance requirements | |||
conformance to explicitly documented development standards | |||
one mark each | |||
[3 marks] | |||
(b) McCall's list of Software Quality factors is a popular checklist for measuring software quality. There are three broad categories in the list of factors. Explain what each of these categories is, and give two examples of factors from each category. You should also give a brief explanation of each example. | [9] | ||
The three categories are: | |||
Product operations: a
software product's operational characteristics Examples: correctness, reliability, efficiency, integrity, usability |
|||
Product revision: its
ability to undergo change Examples: maintainability, flexibility, testability |
|||
Product transition:
its adaptability to new environments. Examples: portability, reusability, interoperability |
|||
For each category, 0.5 marks for identification, 0.5 marks for explanation. For each example, 0.5 marks for identification, 0.5 marks for explanation. Max 2 examples for each category. | |||
[9 marks] | |||
(c) What is the difference between verification and validation? | [2] | ||
verification: 'are we building the product right?' | [1] | ||
validation: 'are we building the right product?' | [1] | ||
(d) System Testing covers a range of tests that are conducted near the end of a typical software product life-cycle. Describe any three tests which might be conducted during the System Testing Phase. | [6] | ||
recovery testing: system test that forces software to fail in a variety of ways and verifies that recovery is properly performed | |||
stress testing: designed to confront programs with abnormal situations where unusual quantity, frequency or volume of resources is demanded | |||
performance testing: used to test the run-time performance of software | |||
security testing: attempts to verify that protection mechanisms built into a system will protect it from improper penetration | |||
Any three of the above: 1 mark for identification and one mark for explanation | |||
[6 marks] |