프로젝트를 하면서 계속 테스트 코드의 필요성을 간과했었다.
어차피 개인 프로젝트로 배포되지 않을 프로젝트이니, 이 단계에서는 테스트 코드는 작성할 필요가 없다고 생각했다.
근데 내가 회사에 들어가서 실제로 고객이 이용하는 서비스 개발을 맡게된다면?
고객 경험이 회사의 입장에서 정말 중요한데, 당연히 나와야 될 값이 안 나오거나, 버그가 있다면
회사의 이미지에 타격을 줄 수 있다.
근데 그게 신입 개발자인 나 때문이라면? 거기다 돈 문제까지 걸려있다면?
이런 테스트 코드 작성에 익숙해져야 ETA도 지키고 좀 더 완성도 높은 서비스를 개발 할 수 있을 것이다.
- Development: 개발
- Unit Test(단위 테스트): 개발자 테스트
- QA Testing:
- 블랙박스 테스팅
- 주로 QA 팀이 Production 환경과 유사한 환경(Stage)에서 테스팅
- Production: 실 서비스 운영 환경 (이때 버그 나면 진짜... 끔찍할 거 같다)
그래서 실 서비스 운영 환경에 들어가기 전에 버그를 빨리 발견해야지 기하급수적인 비용의 증가를 방지할 수 있다.
단위 테스트
개발자는 단위 테스트를 작성하여 프로그램을 테스트 할 수 있다.
단위 테스트란????
단위 테스트는 소프트웨어 개발 과정에서 가장 작은 단위의 코드(함수, 클래스 등)가 예상대로 작동하는지 확인하는 테스트다. 어떤 프레임 워크나 환경에 국한되지 않고 모든 프로그래밍 언어와 환경에서 통하는 개념이다.
자바 환경에서의 단위 테스트
자바에서는 JUnit과 같은 테스팅 프레임 워크를 사용한다. 필요에 따라서 다른 테스팅 프레임 워크를 골라서 사용하면 된다.
근데 단위 테스트와 통합 테스트가 있는데, 단위 테스트 단위에서는 스프링 프레임워크의 기능들이 동작되지 않는다. IoC/DI같은 기능이 활성화되지 않는다는 것이다.
단위 테스트 장점
- 빠르게 작성할 수 있다
- 문제 발생 시 어느 부분이 잘못 되었는지를 빠르고 정확하게 확인 할 수 있다.
아직 완전히 이해하지 못한 상태라 기본적인 개념을 먼저 잡고 코드 작성하면서 연습하고 블로그에 올려야겠당
'TIL' 카테고리의 다른 글
TIL 2023-12-01 Mockito any()를 쓰는 이유 (0) | 2023.12.01 |
---|---|
TIL 2023-11-30 JUnit5 기본 문법 (0) | 2023.11.30 |
TIL 2023-11-28 OAuth 작동 방식 및 이전 배경, CSR SSR (0) | 2023.11.28 |
TIL 2023-11-27 하나의 커스텀 예외 클래스로 모든 컨트롤러 예외 처리하기 feat(글로벌 예외 핸들러) (2) | 2023.11.27 |
TIL 2023-11-24 영속성 컨텍스트 동일성 보장 (0) | 2023.11.24 |