개발 공부

단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트

이로률 2025. 7. 8. 12:33

각 테스트 단계는 **소프트웨어 개발 생명주기(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