To answer this question, we need to understand when a system test can begin.
In software development, a system test is typically conducted after the completion of two key phases:
I. Integration testing: This phase involves testing the interactions between different components or modules of the system to ensure they work together correctly.
II. Unit testing: This phase involves testing individual units or components of the system to ensure they function as intended.
III. Development: This phase involves building and developing the system.
Based on this information, let's evaluate each option:
Option A) I and II only - This option is incorrect because it does not include the development phase (III).
Option B) II and III only - This option is incorrect because it does not include the integration testing phase (I).
Option C) I and III only - This option is incorrect because it does not include the unit testing phase (II).
Option D) I, II, and III - This option is correct because it includes all three phases: integration testing (I), unit testing (II), and development (III). Therefore, a system test can begin when all three phases are completed.
The correct answer is D.