- What aspects can you distinguish with respect to
software quality?
- Give an example demonstrating
how inheritance may affect tested code.
- Between what levels of testing can you distinguish?
Discuss the influence of errors for each of these levels.
- Discuss the problems involved in testing the behavior
of an object.
What would be your approach?
- Discuss how contracts may be employed to test object behavior.
- What methods of static testing can you think of?
Do you consider them relevant? Explain.
- What metrics can you think of for object-oriented design?
What is the intuition underlying these metrics?
- What evaluation criteria for metrics can you think of?
Are these sufficient for applying such metrics in actual software
projects? Explain.
- Give a formal definition of the following metrics:
WMC, DIT. NOC, CBO, RFC and LOC.
Explain their meaning from a software engineering viewpoint.
- What would be your rendering of the Law of Demeter?
Can you phrase its underlying intuition? Explain.
- Define the notions of client, supplier and acquaintance.
What restrictions must be satisfied to speak of
a preferred acquaintance and a preferred supplier?
- Characterize the elements that form part of a formal specification.