Q. Some would argue that software is inherently different than other products, making software quality harder to achieve than for other products. Give one such inherent property, tell why it would (if true) make software quality harder to achieve, then give one argument why this might not be the case. Q. What makes usability difficult (but not impossible) to specify? Q. Explain Beizer’s Pestacide Paradox. Q. Why do some people claim that quality is “free”? Q. What role should SQA play in dealing with subcontractors? Q. What aren’t generic review checklists (e.g. with items like, “use cases should always list pre-conditions”) enough to base reviews on? Q. List one way in which audits are more formal than inspections. Q. In model testing, what is external consistency? Give an example. Q. What are the implications for black box testing when using Design-by-Contract? Q. Choose the order in which you would test the following kinds of functions for a class, and justify your choices; assume that getters are trusted. {overloaded constructor, conversion-from-class, destructor, default constructor, > operator} Q. Describe two usability test cases (note: not functionality tests) for the “Open file” options in Microsoft Word. Q. Briefly describe Test-Driven Development. Q. Why do XP-ers claim that refactoring can be trusted more easily in XP than in traditional development? Q. What makes a user interface “intuitive”? Q. Components tend to be more self-contained than objects, which should make them easier to test. Give one reason why this might actually make components *harder* to test. Q. Under what conditions might it be difficult to reproduce an error seen in a test script? Q. How can error metrics be used to improve process? Q. What are two ways to control the exponential nature of collaboration testing? Q. Why is a reduction in the number of reported errors over some time period *not* a good indicator of the quality of the system?