When is use case testing appropriate?
I. For acceptance testing with user participation
II. For exhaustive testing of subsystem interaction if the system is specified by use cases
III. For testing the interaction between the user and the system depending on user input and system state
IV. For tests reflecting real-world use of the system under test
V. For testing mathematical algorithms if the program flow differs depending on the input given
A. I, II, III, V
B. I, III, IV, V
C. I, III, IV
D. II, IV