각 테스트 단계는 **소프트웨어 개발 생명주기(SDLC)**의 흐름 속에서 순차적으로 수행되는 중요한 품질 검증 절차
✅ 1. 단위 테스트 (Unit Test)
📌 개념
- 하나의 함수, 모듈, 클래스 등 가장 작은 단위를 테스트하는 과정입니다.
- 주로 개발자가 직접 수행하며, 로직이 의도한 대로 작동하는지를 검증합니다.
📎 예시
- A 함수에 숫자 3과 5를 넣었을 때 8이 반환되는지 확인하는 테스트
👨💻 주체
- 개발자 (자동화 테스트 도구와 함께 많이 사용)
✅ 2. 통합 테스트 (Integration Test)
📌 개념
- 단위별로 잘 동작하던 모듈들이 서로 연결되었을 때 제대로 작동하는지 확인하는 테스트입니다.
- 모듈 간 인터페이스, 데이터 전달, 호출 흐름 등을 중점적으로 검증합니다.
📎 예시
- 로그인 기능에서 사용자 인증 모듈과 세션 관리 모듈이 제대로 연동되는지 확인
👨💻 주체
- 개발자 또는 테스트 엔지니어
✅ 3. 시스템 테스트 (System Test)
📌 개념
- 전체 시스템이 명세서(요구사항)에 맞게 동작하는지를 테스트합니다.
- UI, 기능, 보안, 성능 등 종합적으로 점검합니다.
📎 예시
- 사용자가 회원가입 → 로그인 → 게시물 등록까지 전 과정이 정상적으로 수행되는지 확인
👨💻 주체
- QA팀 또는 테스트 엔지니어
✅ 4. 인수 테스트 (Acceptance Test)
📌 개념
- 개발이 완료된 시스템이 사용자(또는 발주처)의 요구사항에 맞는지를 사용자 입장에서 검증하는 단계입니다.
- 실제 사용자 또는 고객이 테스트에 참여하는 경우도 많습니다.
📎 예시
- 발주처가 제공한 ‘점검 시스템’ 요구사항에 따라 보고서가 정확히 출력되는지, 권한별 접근 제어가 동작하는지 확인
👤 주체
- 고객, 발주처, 또는 사용자 대표 + QA
✅ 요약 비교
테스트 구분테스트 범위주체목적
단위 테스트 | 코드의 최소 단위 (함수, 클래스) | 개발자 | 기능이 올바르게 작동하는지 |
통합 테스트 | 모듈 간 연결 | 개발자 / QA | 인터페이스 간 연동이 잘 되는지 |
시스템 테스트 | 전체 시스템 | QA팀 | 명세에 맞는 전체 기능 검증 |
인수 테스트 | 사용자 요구 기준 | 고객 / 사용자 | 고객이 요구한 시스템이 완성됐는지 |
'개발 공부' 카테고리의 다른 글
인터페이스(Interface)란? (2) | 2025.07.08 |
---|---|
Vite, Webpack / VueJS, React (0) | 2025.03.27 |