TIL (Today I Learned) 240205_Unit Test

Danny·2024년 2월 5일

TIL(Today I Learned)

목록 보기
27/34

2월 5일 (월)

🔥학습 내용

Unit Test(유닛테스트)

1. Unit Test란 무엇인가?

  • 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는 지 검증하는 절차이다.
  • 모든 함수와 메소드에 대한 테스트 케이스(Test Case)를 작성하는 절차이다.

2. Unit Test 왜 할까?

  • Unit Test를 하게 되면, 나중에 단일 모듈끼리 통합될 때 터지는 부분을 방지할 수 있다.
  • 의존성을 낮춘다.
  • Unit Test를 하면서 해당 메소드가 어떤 역할, 기능을 하는 지 확인할 수 있다.
  • 코드 변경으로 인해 문제가 발생할 경우, 단시간 내에 이를 파악하고 바로 잡을 수 있도록 할 수 있다.
    (프로그램의 각 부분을 고립 시켜서 각각의 부분이 정확하게 동작하는지 확인하는 것이다.)

3. 그렇다면 Test는 어떻게 작성해야할까? (FIRST 원칙을 지켜보자!)

  1. Fast
    • 빨라야한다. 테스트를 빠르게 해야한다.
  2. Independent / Isolated
    • 독립적이어야 한다. 예를 들어, A 테스트 케이스를 했는데, B 테스트 케이스가 변화가 되면 안된다.
  3. Repeatable
    • 반복가능해야한다. 예를 들어, 서버에 문제가 생겼을 경우 MOCK 객체를 만들어 되는 것처럼 만든 후 Test를 진행해 볼 수도 있을 것이다.
  4. Self-Validating
    • 스스로 검증하는, 테스트 케이스 내부에서 오로지 테스트가 이뤄져야 한다는 뜻이다.
  5. Timely
    • 적시성, 기능을 추가하기 전에 테스트 코드를 작성해야 한다.

🤔 FIRST 원칙을 꼭 모두 지켜야하는 것은 아니다. 예를 들어 Timely의 경우, 개발 시간이 오래걸리는 이유로 지켜지지 않는 경우도 있다.

#.참고URL

profile
안녕하세요 iOS 개발자 지망생 Danny 입니다.

0개의 댓글