프로그래밍

[QA] V모델과 소프트웨어 테스트 4단계 이해

킹소연 2026. 3. 29. 22:40

V모델이란

전통적인 소프트웨어 개발 방법론인 '폭포수 모델'을 확장한 형태이다.

개발과정과 테스트 과정이 V자 모양으로 대칭을 이루고 있어 V모델이라 칭한다.

 

 

Development

 

- 왼쪽에 해당

- 무엇을 어떻게 만들 것인지 분석하고 설계

- Verification (확인) : 요구사항에 맞게 제품을 만들고 있는가?

 

 

Testing

- 오른쪽에 해당

- 왼쪽에서 설계한 내용이 제대로 구현되었는지 검증

- Validation (검증) : 올바른 제품을 만들었는가?

 

 

V모델의 4단계 테스트 

 

1. 단위 테스트

- 모듈 설계 및 코딩 단계에서 주로 개발자가 테스트.

- 소프트웨어의 가장 작은 단위 (함수, 메서드, 클래스 등)이 의도한 대로 정확하게 작동화는지 '확인'한다.

- 코드 레벨의 버그를 가장 빠르게 찾아내어 수정한다.

 

2. 통합 테스트

- 아키텍처 및 기본 설계 단계에서 개발자와 테스터가 테스트.

- 단위 테스트를 통과한 개별 모듈을 하나로 결합했을 때 모듈 간 상호작용(인터페이스)에 문제가 없는지 '확인'한다.

- 데이터가 컴포넌트 사이를 올바르게 이동하는지, 결합 시 발생하는 예기치 못한 오류를 찾아낸다.

 

3. 시스템 테스트

- 시스템 요구 사항 분석 단계에서 전문 QA가 테스트.

- 모든 모듈이 통합된 완전한 전체 시스템을 대상으로 테스트한다.

- 소프트웨어가 처음 정의했던 기능적/비기능적(성능, 보안, 사용성 등) 요구사항을 완전히 충족하는지 실제 운영 환경과 유사한 상태에서 '검증'한다.

 

4. 인수 테스트

- 사용자 요구사항 분석 단계에서 최종 사용자(고객)이 테스트한다.

- 시스템 출시 전, 실제 사용자의 비즈니스 목적에 부합하는지 최종적으로 확인한다.

- 알파테스트(개발자 환경에서), 베타테스트(실제 운영 환경에서 불특정 다수)로 나뉜다.

 

 

화이트박스 / 블랙박스 테스트

화이트박스 테스트

- 프로그램 내부 구조를 아는 채로 내부 로직과 구조에 집중한다. 코드 단위에서 꼼꼼히 확인한다.- 단위 테스트 단계에서 쓰인다.- 대표적인 기법 : 기초 경로 검사, 제어 구조 검사

 

블랙박스 테스트

- 프로그램 내부 코드는 모른 채로 입력과 출력에 집중하여 테스트. 기능과 명세를 검증한다. - 시스템/인수 테스트 단계에서 쓰인다.- 대표적인 기법 : 동치 분할 검사, 경계값 분석, 오류 예측


확인과 검증의 차이점

 

✔확인 :

- 제품을 올바른 방식으로 만들고 있는가? (개발자/설계자의 관점)

- 처음 작성했던 요구사항 명세서대로 잘 짜고 있는지 확인

- 코드 리뷰, 설계 검토 회의 등

 

검증 :

- 올바른 제품을 만들고 있는가? (실제 사용자;고객의 관점)

- 완성된 소프트웨어가 사용자의 진짜 목적과 필요를 제대로 충족시켜 주는지 검증한다.

- 설계서대로 만들었더라도, 사용자한테 불편함을 안겨준다면 검증에 실패한 것.

- 시스템 테스트, 인수 테스트 등