2월 5일 (월)
🔥학습 내용
Unit Test(유닛테스트)
1. Unit Test란 무엇인가?
- 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는 지 검증하는 절차이다.
- 모든 함수와 메소드에 대한 테스트 케이스(Test Case)를 작성하는 절차이다.
2. Unit Test 왜 할까?
- Unit Test를 하게 되면, 나중에 단일 모듈끼리 통합될 때 터지는 부분을 방지할 수 있다.
- 의존성을 낮춘다.
- Unit Test를 하면서 해당 메소드가 어떤 역할, 기능을 하는 지 확인할 수 있다.
- 코드 변경으로 인해 문제가 발생할 경우, 단시간 내에 이를 파악하고 바로 잡을 수 있도록 할 수 있다.
(프로그램의 각 부분을 고립 시켜서 각각의 부분이 정확하게 동작하는지 확인하는 것이다.)
3. 그렇다면 Test는 어떻게 작성해야할까? (FIRST 원칙을 지켜보자!)
- Fast
- Independent / Isolated
- 독립적이어야 한다. 예를 들어, A 테스트 케이스를 했는데, B 테스트 케이스가 변화가 되면 안된다.
- Repeatable
- 반복가능해야한다. 예를 들어, 서버에 문제가 생겼을 경우 MOCK 객체를 만들어 되는 것처럼 만든 후 Test를 진행해 볼 수도 있을 것이다.
- Self-Validating
- 스스로 검증하는, 테스트 케이스 내부에서 오로지 테스트가 이뤄져야 한다는 뜻이다.
- Timely
- 적시성, 기능을 추가하기 전에 테스트 코드를 작성해야 한다.
🤔 FIRST 원칙을 꼭 모두 지켜야하는 것은 아니다. 예를 들어 Timely의 경우, 개발 시간이 오래걸리는 이유로 지켜지지 않는 경우도 있다.
#.참고URL