システム開発において, システムテストで検証する内容として, 適切なものはどれか。
平成23年度 秋期 ITパスポート試験 問44
This question's explanation and your answers so far.
問 44
Incorrectア
Checking the consistency of interfaces between individual programs (modules) — that is, whether the data items, types, and order being passed match up — is the role of integration testing (combined testing), which is performed after unit testing. System testing starts from a state in which that verification is already finished, so this option points to a phase one step earlier and is therefore wrong.
- イ
正解 System testing is the phase in which the developer side finally verifies that the programs which have passed integration testing, once combined together, work as required as the “system as a whole”. What matters here is that the targets of verification include not only functional requirements such as screen transitions and business flows, but also non-functional requirements such as performance (response time, throughput), load and stress, security, ease of operation, and recovery from failures. Verifying “the response time of inquiry processing performed from a terminal” in イ is a performance requirement that can be measured only by running the whole system under conditions close to the actual usage environment, and it is exactly what should be checked in system testing (in the performance test within it). Therefore イ is appropriate.
Incorrectウ
Executing every instruction described in the program at least once is statement coverage, a coverage criterion of white-box testing; it targets the logic inside a module and is carried out in unit testing. System testing centers on black-box testing that looks at inputs and outputs from outside the system, and does not aim at covering internal instructions.
Incorrectエ
Verifying the branch conditions of a program by white-box testing (branch coverage, condition coverage) is likewise the content of unit testing, which the author who knows the internal structure performs on a per-module basis. At the system testing stage, what is checked is not the internal structure but the functions and the quality characteristics such as performance as seen by the user.
- Order and purpose of the test phases: unit testing (verifying the logic inside a module by white-box testing) → integration testing (verifying interfaces between programs) → system testing (targeting the whole system and verifying functional requirements plus non-functional requirements such as performance, load, and security) → acceptance testing (the client confirms that the business requirements are satisfied).
- Performance requirements such as response time and throughput are non-functional requirements that can be measured only by running the whole system under conditions close to actual operation, so they are verified by the performance test within system testing.