테스트는 실행이 아니라, 분석으로 시작됩니다.
1️⃣ 이 글은 어떤 내용을 다루나요?
이 콘텐츠는 ISTQB FL 실러버스 4.0 기준 Chapter 3,
정적 테스팅(Static Testing)에 대한 내용을 기반으로,
실제 업무에서 정적 테스팅을 어떻게 적용하고 활용할 수 있는지를 중심으로 정리한 심화 설명입니다.
다음 요소를 중점적으로 다룹니다:
- 정적 테스팅이란 무엇인가?
- 리뷰와 정적 분석의 차이와 목적
- 결함 예방 중심 QA 전략
- 애자일 QA 관점에서 정적 테스팅의 위치
- 실전 기출문제 예시 및 해설
이 콘텐츠는 특히 Chapter 1, Chapter 2, Chapter 5와의 연결성을 가집니다.
2️⃣ 실행 없이 테스트? – 정적 테스팅의 본질
“테스트는 코드를 실행하는 거잖아?”
초보 QA가 자주 하는 질문입니다.
하지만 정적 테스팅은 코드를 실행하지 않고도 오류를 찾아내는 활동입니다.
그 본질은 다음과 같습니다:
“문제가 드러나기 전에, 문제를 막는다.”
정적 테스팅은 사전적이고 구조적인 분석을 통해
오류 발생 가능성을 설계 단계에서 차단합니다.
3️⃣ 정적 테스팅의 두 기둥 – 리뷰 & 정적 분석
ISTQB는 정적 테스팅을 두 가지로 분류합니다.
리뷰 | 문서, 명세, 코드에 대한 사람 중심의 점검 활동 | 요구사항 리뷰, 테스트 케이스 리뷰, 코드 워크스루 |
정적 분석 | 도구를 활용한 자동화된 코드 검사 | Lint, SonarQube, 정적 분석 툴 |
📌 리뷰의 핵심 유형들
비공식 리뷰 | 가벼운 피드백 | 동료 QA, 개발자 |
워크스루 | 작성자가 진행, 피드백 수렴 | 문서 작성자 중심 |
기술 리뷰 | 기술적 결함 발견 목적 | 개발자 중심 |
인스펙션 | 구조적 절차에 따라 진행 | QA 또는 PM 주도 |
🔍 리뷰는 공식성과 절차적 구조에 따라 효과가 달라지며,
누가 주도하고 어떻게 진행하는가에 따라 품질 개선의 폭이 달라집니다.
4️⃣ 정적 분석 – 툴이 먼저 찾는 결함들
정적 분석은 코드 실행 없이 다음 항목을 점검합니다:
- 코딩 표준 위반
- 복잡도 및 유지보수성 문제
- 보안 취약점
- 사용되지 않는 코드
대표적인 도구는 다음과 같습니다:
SonarQube | 코드 품질 대시보드 제공, 정적 분석 리포트 생성 |
ESLint / Pylint | 언어별 코딩 규칙 점검 |
FindBugs | Java 기반 정적 분석기 |
Checkstyle | 스타일 및 포맷 기준 검사 |
정적 분석은 자동화 테스트의 전 단계로 품질을 선제 차단하는 역할을 합니다.
5️⃣ 정적 테스팅의 장점 – 예방은 언제나 치료보다 싸다
ISTQB는 정적 테스팅의 대표적인 장점을 다음과 같이 제시합니다:
조기 결함 발견 | 설계 단계에서 오류 발견 가능 |
비용 절감 | 테스트 중 발견되는 결함보다 해결 비용 낮음 |
품질 향상 | 명세 오류, 설계 결함도 검출 가능 |
커뮤니케이션 강화 | 리뷰를 통한 팀 간 협업 증진 |
📌 특히 애자일 환경에서는 요구사항 리뷰 및 테스트 케이스 리뷰를 통한 조기 품질 확보가 중요합니다.
6️⃣ 애자일 QA에서 정적 테스팅은 어떤 위치인가?
애자일 QA는 스프린트 단위로 반복되는 짧은 개발 주기 속에서
정적 테스팅을 다음과 같이 활용합니다.
백로그 정제 | 요구사항 리뷰, 수용 기준 명확화 |
테스트 설계 | 테스트 시나리오 리뷰, 논리 구조 검토 |
개발 전 단계 | 코드 리뷰, 테스트 기준 공유 |
애자일에서 정적 테스팅은 QA의 중심 활동입니다.
실행 테스트 전에 품질을 설계하는 영역이기 때문입니다.
정적 테스팅이 약하면,
스프린트 끝마다 반복되는 “이거 왜 또 고쳐요?”의 늪에 빠지게 됩니다.
7️⃣ 기출문제 예시
Q. 다음 중 정적 테스팅에 해당하지 않는 활동은 무엇인가?
A. 코드 리뷰
B. 요구사항 명세 리뷰
C. 테스트 케이스 리뷰
D. 시스템 테스트 수행
✅ 정답: D
→ 시스템 테스트는 실행 기반 동적 테스팅입니다.
✅ 마무리 요약
- 정적 테스팅은 코드 실행 이전의 품질 전략입니다.
- 리뷰와 정적 분석은 각기 다른 접근법으로 결함을 사전에 제거합니다.
- 애자일 환경에서 정적 테스팅은 QA의 핵심 포지션입니다.
- 정적 테스팅은 예방 비용이 가장 적게 드는 품질 확보 방식입니다.
- 실행만이 테스트가 아닙니다. 생각하는 테스트가 진짜 테스팅입니다.
🔗 추천하는 글
- SDLC 흐름 전체에서 QA가 언제 어떻게 개입해야 하는지 궁금하다면
→ [Chapter 2 핵심 해설: SDLC 기반 테스트 흐름 완전 정리 – 품질은 언제부터 시작되는가] - QA 문서 자동화와 리뷰 기준 정립이 필요하다면
→ [테스트 문서 자동화 전략 – 실무에서 바로 쓰는 포맷 가이드] - 테스트 계획 수립과 전략 설계는 이 콘텐츠를 참고하세요
→ [Chapter 5 핵심 해설: 계획에서 가치까지]
'ISTQB FL 시험 준비 > 챕터별 정리' 카테고리의 다른 글
Chapter 5 핵심 해설 – 계획에서 가치까지 (0) | 2025.04.22 |
---|---|
Chapter 4 핵심 해설 – 논리로 품질을 증명하다 (0) | 2025.04.22 |
Chapter 2 핵심 해설 – 테스트 흐름, 어디서부터 시작되는가 (0) | 2025.04.22 |
Chapter 1 핵심 해설 – 테스팅의 본질과 QA의 역할 (12) | 2025.04.21 |
Chapter 6 문제 분석: 자동화·관리 도구 기반 실전 대비 (0) | 2025.04.09 |