システムテストで実施する作業の説明として, 適切なものはどれか。
平成25年度 秋期 ITパスポート試験 問35
This question's explanation and your answers so far.
問 35
Incorrectア
Incorrect. When a bug is fixed, the fix may have a bad effect on other parts of the system (a regression). For this reason, after the fix you rerun not only the test case that detected the bug but also the existing test cases in the affected area, to confirm that functions which previously worked have not been broken. This is called regression testing. Redoing only the test case that detected the bug is an inappropriate practice that neglects regression testing.
Incorrectイ
Incorrect. Confirming behavior not only for valid input values (normal cases) but also for unexpected or abnormal operations such as out-of-range input values or required fields left empty (error cases), checking whether the system returns errors appropriately and operates safely, is one of the important purposes of system testing. If error-case testing is omitted, mistaken or malicious input during production operation can lead to malfunction, outage, or security problems. It is not something that may be omitted.
Incorrectウ
Incorrect. It is inappropriate in two ways. First, system testing centers on black-box testing, which checks from the outside whether the specifications and requirements are met, whereas white-box testing, which looks at the internal structure of the program code to check coverage, is mainly the approach of unit testing. Second, fixing defects on the spot while testing is not appropriate. Carrying out tests and fixing defects should be separated by stage and by responsibility, and after a fix the test must be redone according to the prescribed procedure with the results recorded. If you fix things while testing, it becomes unclear what was confirmed and in what state, and quality can no longer be objectively assured.
- エ
正解 The correct answer is エ. System testing is the final stage of testing, in which the whole system that has been built up through unit testing and integration testing is checked by the development side to confirm that it has been built as specified in the requirements definition. What is checked here is not only functional requirements, that is, whether the necessary functions work as specified. Performance such as response time and throughput, availability and reliability in case of failure, security, operability, and other quality-related conditions that the system must satisfy, namely non-functional requirements, are also subject to verification in system testing. Therefore エ, which says to test not only the functional aspects of the software but also non-functional requirements such as performance, is the appropriate description of the work performed in system testing. In fact, insufficient performance or security flaws do not surface in an individual program by itself; they become apparent only when the whole system is run with a production-like configuration and data volume, so they must be checked in exactly this stage, which targets the system as a whole.
- System testing is the final stage of testing, which verifies the whole integrated system against the requirements definition; what it verifies includes not only functional requirements but also non-functional requirements such as performance, reliability, availability, and security.
- After fixing a bug, regression testing is needed to confirm that the fix has not adversely affected other parts; in addition, error-case testing (out-of-range values, required fields left empty, and so on) must not be omitted.