1. Question Overview
This post explains an ISTQB Foundation Level sample question from Exam B : Q#1, focusing on why testing is necessary.
Question:
Which of the following is an example of why testing is necessary?
- a) Dynamic testing increases quality by causing test objects to fail in ways that could never be achieved by the users
- b) Static testing is used by developers to identify failures in their code earlier than can be achieved through dynamic testing
- c) Static analysis provides evidence to customers that the elements of the system that provide no outputs are fit for release
- d) Reviews increase the quality of requirements specifications and lead to fewer changes being needed in derived work products
질문 개요 설명
이 문제는 “테스트가 왜 필요한가?”를 묻는 대표적인 ISTQB 기초 수준 문제입니다.
- 테스트의 목적과 활동을 정확히 이해하고 있는지를 평가합니다.
- 각 보기(a~d)는 동적 테스트, 정적 테스트, 정적 분석, 리뷰 등 ISTQB 핵심 개념을 반영하고 있습니다.
- ISTQB 시험에서는 특히 “정적 테스트가 왜 중요한가?”를 자주 강조합니다.
✔ Correct Answer: d)
2. Why Option (d) Is Correct
Option (d) correctly describes a major benefit of testing, especially static testing such as reviews.
Reviews help:
- Improve requirement quality
- Reduce misunderstandings early
- Prevent expensive rework in later phases
- Increase overall software quality and project predictability
왜 d 가 정답인가?
d) 보기에서 말하는 핵심은 다음과 같습니다:
- 요구사항 리뷰를 하면 결함을 개발 초기에 발견할 수 있다.
- 요구사항 품질이 좋아지면 이후 설계/코드/테스트 케이스의 변경이 줄어든다.
- 이것은 ISTQB에서 강조하는 “초기 결함 발견(Shift-Left Testing)”의 대표적인 효과이다.
- 결과적으로 비용·시간·리스크를 줄여 프로젝트 품질을 높이게 된다.
3. Analysis of Incorrect Options
Option (a)
a) claims something unrealistic: dynamic testing does NOT aim to produce failures that users would never face.
- 동적 테스트는 소프트웨어 실행을 통해 결함을 찾는 활동이다.
- 사용자가 겪지 않을 비현실적 실패를 만드는 것이 목적이 아니다.
- 따라서 테스트가 필요한 이유를 설명하는 올바른 예가 아니다.
Option (b)
b) incorrectly states that static testing finds failures. Failures occur only when executing the code.
- 정적 테스트는 실행 없이 결함을 찾는다(defects).
- 실패(failures)는 실행 시(동적 테스트)에서만 관찰된다.
- 용어 자체가 틀렸기 때문에 오답이다.
Option (c)
c) exaggerates static analysis. It cannot “prove” something is fit for release.
요약
- 정적 분석은 잠재적 결함을 자동으로 찾아주는 도구이다.
- 하지만 “출시해도 좋다”는 증거를 제공하지는 않는다.
- 출시 결정은 테스트 결과, 품질 목표, 리스크 등 여러 요소가 필요하다.
4. Key Study Notes
- Testing reduces risks and prevents defects early.
- Static testing (reviews) is cost-effective and powerful.
- Failures ≠ defects: failures happen only when the product is executed.
정리
- 테스트 목적 = 리스크 감소 + 결함 예방
- 정적 테스트는 실행 없이 결함 발견이 가능
- 요구사항 품질이 높아지면 전체 프로젝트 품질이 오른다
5. Conclusion & Call to Action
Option (d) is the correct answer because it aligns perfectly with ISTQB’s explanation of why testing is necessary: improving the quality of early work products and reducing downstream changes.
결론
- d)는 테스트가 왜 필요한지를 가장 명확하게 설명한다.
- 특히 ISTQB에서 강조하는 “초기 결함 발견” 개념과 정확히 일치한다.
- a, b, c는 개념 또는 용어가 부정확하거나 과장된 표현이다.
Related: More ISTQB posts
