利用者がベンダに委託したソフトウェア開発において, 利用者側が実際の運用と同様の条件でソフトウェアを使用し, 正常に稼働することを確認するテストとして, 適切なものはどれか。
平成24年度 秋期 ITパスポート試験 問37
This question's explanation and your answers so far.
問 37
- ア
正解 The correct answer is ア, acceptance testing. An acceptance test is the final-stage test in which the user side, the client who placed the order, takes the lead in running the software delivered by the vendor under the same (or nearly the same) conditions and data as actual business operation, in order to confirm that it runs normally as ordered and meets the business requirements. The three features in the question — “the user side”, “uses the software under conditions equivalent to actual operation”, and “confirms that it runs normally” — correspond directly to the definition of acceptance testing. It is also worth remembering that only once the software passes this test does the work move on to formal sign-off and cutover to production.
Incorrectイ
Integration testing combines several modules (programs) that have already passed unit testing and verifies that the interfaces between the modules and the passing of data work together correctly. It is a test in the development phase, carried out by the vendor (the developer side), not a test in which the user uses the software under conditions equivalent to actual operation.
Incorrectウ
System testing (comprehensive testing) is a test in which the vendor runs the whole developed system end to end and verifies, before delivery, that it satisfies the functions, performance, and reliability required by the specifications. It resembles acceptance testing in that it is carried out in an environment close to actual operation, but the party performing it is the developer side, which is the decisive difference, so it does not match the condition in the question that “the user side” does the confirming.
Incorrectエ
Unit testing verifies, for each smallest unit of a program such as a module or a function, whether its internal logic works as designed; it is the first stage of the testing process. Developers perform it right after coding, so it belongs to a completely different stage from the situation where a user uses the whole piece of software under actual operating conditions.
- Acceptance testing comes as a set of three points: the client (user) takes the lead, the conditions are equivalent to actual operation, and it is the final check of whether the delivered product meets the business requirements. Passing it means the delivery is formally accepted.
- The order of the test phases and who performs them: unit testing → integration testing → system testing (all of these are done by the vendor, that is, the developer side) → acceptance testing (the user side). Telling them apart by who performs the test is the quickest route.