4. 테스트코드

2026. 2. 9. 23:21·BackEnd/내일배움캠프

버그란?

버그(Bug) 란,

  • 일부 기능이 의도와 다르게 동작하거나
  • 아예 동작하지 않는 상태를 의미한다.

따라서 서비스를 실제 사용자에게 배포하기 전에는
반드시 버그를 찾아내기 위한 테스트 과정가 필요하다.


테스트의 필요성

테스트는 단순히 "잘 동작하는지 확인"하는 것이 아니라,

  • 서비스의 신뢰성을 높이고
  • 배포 후 발생할 수 있는 장애를 줄이며
  • 유지보수를 수월하게 만든다.

블랙박스 테스트

블랙박스 테스트란?

  • 웹 서비스를 사용하는 사용자 입장에서 테스트하는 방식
  • 내부 구현을 알 필요 없이 기능 중심으로 테스트한다

특징

  • 누구나 테스트 가능
  • 실제 사용자 시나리오와 유사

단점

  • 테스트 인원이 많이 필요함
  • 테스트하는 사람마다 기준이 달라
    테스트 품질이 일정하지 않을 수 있음
  • 반복 테스트 및 자동화에 한계가 있음

개발자 테스트

개발자 테스트란?

  • 개발자가 직접 작성한 코드를 검증하기 위해 수행하는 테스트
  • 보통 테스트 코드를 작성하여 진행한다

장점

  • 빠르고 정확한 테스트 가능
  • 테스트 자동화 가능
  • 리팩토링 시 안정성 확보
  • 기능 변경 시 기존 기능이 깨졌는지 즉시 확인 가능

단점

  • 테스트 코드 작성으로 개발 시간이 증가할 수 있음
  • 테스트 코드 유지보수 비용 발생
  • 기능 추가/변경 시 테스트 코드 수정 필요

Spring에서의 테스트 환경

Spring은 테스트 코드를 작성할 수 있는 환경을 기본적으로 제공한다.

JUnit이란?

JUnit은 Java 진영에서 가장 많이 사용되는 단위 테스트(Unit Test) 프레임워크다.

JUnit을 사용하면:

  • 특정 메서드 단위로 테스트 가능
  • 테스트 성공/실패를 자동으로 판단
  • 반복 실행 및 자동화에 적합

테스트 코드 생성 방법 (IntelliJ 기준)

  1. 테스트하고 싶은 클래스에서
  2. Cmd + Shift + T (macOS)
  3. Create New Test 선택 후 OK

그러면:

  • test 패키지 아래에
  • 기존 클래스와 동일한 패키지 경로로
  • Test 클래스가 자동 생성된다

이 구조 덕분에 운영 코드와 테스트 코드를 명확히 분리하면서 관리할 수 있다.


정리

  • 버그는 의도와 다른 동작 또는 미동작을 의미한다
  • 배포 전 테스트는 필수다
  • 블랙박스 테스트는 사용자 관점의 테스트다
  • 개발자 테스트는 코드 단위의 정밀한 테스트다
  • Spring에서는 JUnit을 통해 테스트 환경을 쉽게 구축할 수 있다

테스트 코드는 당장은 귀찮을 수 있지만,
장기적으로는 개발 속도와 안정성을 크게 높여준다.

'BackEnd > 내일배움캠프' 카테고리의 다른 글

6. MVC 디자인 패턴이란?  (0) 2026.02.09
5. Lombok이란?  (0) 2026.02.09
3. HTTP란 무엇일까?  (0) 2026.02.09
2. 서버란 무엇일까?  (0) 2026.02.09
1. 그레이들(Gradle)이란 무엇일까?  (0) 2026.02.09
'BackEnd/내일배움캠프' 카테고리의 다른 글
  • 6. MVC 디자인 패턴이란?
  • 5. Lombok이란?
  • 3. HTTP란 무엇일까?
  • 2. 서버란 무엇일까?
JK-LEE98
JK-LEE98
백엔드 개발자
  • JK-LEE98
    JK-LEE98
    JK-LEE98
  • 전체
    오늘
    어제
    • 분류 전체보기 (60)
      • 나의 지식 공유 (4)
      • SQL (4)
      • PS (10)
      • BackEnd (32)
        • Java (3)
        • Spring (4)
        • 내일배움캠프 (20)
        • 프로그래머스 데브코스 (5)
      • 건강한 나 되기🍀 (10)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
JK-LEE98
4. 테스트코드
상단으로

티스토리툴바