V모델이란
전통적인 소프트웨어 개발 방법론인 '폭포수 모델'을 확장한 형태이다.
개발과정과 테스트 과정이 V자 모양으로 대칭을 이루고 있어 V모델이라 칭한다.

Development
- 왼쪽에 해당
- 무엇을 어떻게 만들 것인지 분석하고 설계
- Verification (확인) : 요구사항에 맞게 제품을 만들고 있는가?
Testing
- 오른쪽에 해당
- 왼쪽에서 설계한 내용이 제대로 구현되었는지 검증
- Validation (검증) : 올바른 제품을 만들었는가?
V모델의 4단계 테스트
1. 단위 테스트
- 모듈 설계 및 코딩 단계에서 주로 개발자가 테스트.
- 소프트웨어의 가장 작은 단위 (함수, 메서드, 클래스 등)이 의도한 대로 정확하게 작동화는지 '확인'한다.
- 코드 레벨의 버그를 가장 빠르게 찾아내어 수정한다.
2. 통합 테스트
- 아키텍처 및 기본 설계 단계에서 개발자와 테스터가 테스트.
- 단위 테스트를 통과한 개별 모듈을 하나로 결합했을 때 모듈 간 상호작용(인터페이스)에 문제가 없는지 '확인'한다.
- 데이터가 컴포넌트 사이를 올바르게 이동하는지, 결합 시 발생하는 예기치 못한 오류를 찾아낸다.
3. 시스템 테스트
- 시스템 요구 사항 분석 단계에서 전문 QA가 테스트.
- 모든 모듈이 통합된 완전한 전체 시스템을 대상으로 테스트한다.
- 소프트웨어가 처음 정의했던 기능적/비기능적(성능, 보안, 사용성 등) 요구사항을 완전히 충족하는지 실제 운영 환경과 유사한 상태에서 '검증'한다.
4. 인수 테스트
- 사용자 요구사항 분석 단계에서 최종 사용자(고객)이 테스트한다.
- 시스템 출시 전, 실제 사용자의 비즈니스 목적에 부합하는지 최종적으로 확인한다.
- 알파테스트(개발자 환경에서), 베타테스트(실제 운영 환경에서 불특정 다수)로 나뉜다.
화이트박스 / 블랙박스 테스트
화이트박스 테스트
- 프로그램 내부 구조를 아는 채로 내부 로직과 구조에 집중한다. 코드 단위에서 꼼꼼히 확인한다.- 단위 테스트 단계에서 쓰인다.- 대표적인 기법 : 기초 경로 검사, 제어 구조 검사
블랙박스 테스트
- 프로그램 내부 코드는 모른 채로 입력과 출력에 집중하여 테스트. 기능과 명세를 검증한다. - 시스템/인수 테스트 단계에서 쓰인다.- 대표적인 기법 : 동치 분할 검사, 경계값 분석, 오류 예측
확인과 검증의 차이점
✔확인 :
- 제품을 올바른 방식으로 만들고 있는가? (개발자/설계자의 관점)
- 처음 작성했던 요구사항 명세서대로 잘 짜고 있는지 확인
- 코드 리뷰, 설계 검토 회의 등
✔검증 :
- 올바른 제품을 만들고 있는가? (실제 사용자;고객의 관점)
- 완성된 소프트웨어가 사용자의 진짜 목적과 필요를 제대로 충족시켜 주는지 검증한다.
- 설계서대로 만들었더라도, 사용자한테 불편함을 안겨준다면 검증에 실패한 것.
- 시스템 테스트, 인수 테스트 등
'프로그래밍' 카테고리의 다른 글
| [Godot] Github과 Google Antigravity IDE 연동 (0) | 2026.03.20 |
|---|---|
| 10분 딸깍하면 게임을 만든다고? : HPP AI 게임잼 참여 후기 (0) | 2026.03.11 |
| Google Antigravity : 규칙 (Rules) / 워크플로우 (WorkFlow) (0) | 2026.03.05 |
| Google Gem : 나만의 챗봇 만들기 (0) | 2026.03.05 |
| 🔗Google Antigravity + Kilo code (AI Agent) 세팅 (0) | 2026.02.26 |