[개발] 테스트 코드란?

2023. 6. 26. 17:19·개발 Tip

테스트 코드 소개

Red Green Cycle

  • Red: 항상 실패하는 테스트를 먼저 작성하고
  • Green: 테스트가 통과하는 프로덕션 코드를 작성하고
  • Refactor: 테스트가 통과하면 프로덕션 코드를 리팩토링

 

 

 

단위 테스트?

단위 테스트는 TDD의 첫 번째 단계인 기능 단위의 테스트 코드를 작성 하는 것

TDD와 달리 테스트 코드를 꼭 먼저 작성해야 하는 것도 아니고, 리팩토링도 포함되지 않습니다.

순수하게 테스트 코드만 작서하는 것을 이야기 합니다.

 

 

 

 

테스트 코드는 왜 작성해야 할까?

  • 단위 테스트는 개발단계 초기에 문제를 발견하게 도와줍니다.
  • 단위 테스트는 개발자가 나중에 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 기존 기능이 올바르게 작동하는지 확인할 수 있습니다. (ex. 회귀 테스트)
  • 단위 테스트는 기능에 대한 불확실성을 감소시킬 수 있습니다.
  • 단위 테스트는 시스템에 대한 실제 문서를 제공합니다. 즉, 단위 테스트 자체가 문서로 사용할 수 있습니다.

테스트 코드를 작성하면 더는 사람이 눈으로 검증하지 않게 자동검증이 가능합니다.



그리고 개발자가 만든 기능을 안전하게 보호 해줍니다.

예를 들어 B라는 기능이 추가되어 테스트합니다. 
B 기능이 잘 되어 오픈했더니 기존에 잘 되던 A 기능에 문제가 생긴 것을 발견합니다. 
이런 문제는 규모가 큰 서비스에서는 빈번하게 발생하는 일입니다. 
하나의 기능을 추가할 때마다 너무나 많은 자원이 들기 때문에 서비스의 모든 기능을 테스트 할 수는 없습니다.

이렇게 새로운 기능이 추가될 때, 기존 기능이 잘 작동되는 것을 보장해 주는 것이 테스트 코드입니다. 
A 라는 기존 기능이 잘 작동되는 것을 보장해주는 것이 테스트 코드입니다. 
A 라는 기존 기능에 기본 기능을 비롯해 여러 경우를 모두 테스트 코드로 구현해 놓았다면 
테스트 코드를 수행만 하면 문제를 조기에 찾을 수 있습니다.

 

대표적인 테스트 코드 작성 프레임워크 (xUnit)

  • JUnit - Java
  • DBUnit - DB
  • CppUnit - C++
  • NUnit - .net

'개발 Tip' 카테고리의 다른 글

개발용어 모음집  (0) 2023.03.05
[Tip] 패키지 구조는 어떻게 짜는 게 맞을까?  (0) 2023.01.15
'개발 Tip' 카테고리의 다른 글
  • 개발용어 모음집
  • [Tip] 패키지 구조는 어떻게 짜는 게 맞을까?
개발새발개발
개발새발개발
  • 개발새발개발
    끄저억끄저억
    개발새발개발
  • 전체
    오늘
    어제
    • 분류 전체보기 (57)
      • Study (45)
        • DB (9)
        • WEB (11)
        • Spring (14)
        • JS (5)
        • Python (2)
        • IntelliJ (4)
      • 이슈 해결 (2)
      • Challenge (4)
        • 구름톤 챌린지 (3)
        • 자격증 (0)
      • 우아한테크코스 (2)
      • Dev Camp 3기 (0)
      • 개발 Tip (3)
      • 일상 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    우아한테크코스
    JPA
    객체지향
    singleton
    IntelliJ
    스프링
    DBMS
    우테코
    김영한
    jwt
    til
    Redis
    realforce r3
    NULL
    싱글톤
    web
    Spring
    db
    레디스
    Java
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
개발새발개발
[개발] 테스트 코드란?
상단으로

티스토리툴바