주말 동안 내배캠 챌린지 반 녹화된 강의를 모두 돌려보면서 복습 한 번 진행하고, 과연 테스트 코드가 무엇일지 궁금해서 조금이나마 도전해 보았다.
Q. 테스트는 QA팀이 있잖아!
보통 소프트웨어를 검증하는 QA(Quality Assurance) 팀이라는 테스트 하는 조직이 있지만, 점차 공부해 나가면서 프론트엔드단에서 테스트라는 용어가 많이 들려서 과연 프론트엔드가 어떤 테스트를 진행하는지 궁금해져서 주말에 시간을 내 보았다.
- 단위 테스트: 상호작용 하지 않는 독립적인 함수, 모듈, 클래스를 테스트
- 통합 테스트: 묶었을 때 상호작용 테스트(모듈들, 클래스들)
- E2E 테스트(end-to-end): UI 테스트, 사용자 테스트
- 단위 테스트 → E2E 테스트로 갈수록 cost가 비싸지고, 작성하기 까다로워짐 / 테스트 수행 속도도 위로갈 수록 느려짐
- 개발적인 효율적인 측면에서도 unit test에 이점이 있음. 개발을 할 때 unit test를 작성하면 즉각적으로 버그나 오류를 해결 가능함(비용적으로 싸고, 속도가 빠르다)
TDD란?
먼저 테스트 코드를 작성함 → 테스트를 통과할 정도로 최소한으로 개발 → 테스트 통과 → 더 나은 코드로 리팩토링
아직 초반부 밖에 공부하지 않았지만, 정보처리기사 책에서나 봤던 내용들을 볼 수 있어 신기하고, 이런 게 도움이 되는구나 싶었다. 아직 주변에서 테스트 기반 코드를 작성하는 분이 없으셔서 그 효용을 체감하진 못하였지만, 조금씩 공부해 나가면서 올여름에는 테스트 기반 코드를 한 번 작성해 보는 게 목표다.
그림 출처) 배달의 민족 기술 블로그: https://techblog.woowahan.com/17404/
'TIL' 카테고리의 다른 글
[2024.06.18] JS Deep Dive_27. 배열 + 문자열 계산이 비효율적인 이유 (0) | 2024.06.19 |
---|---|
[2024.06.17] 새로운 팀 프로젝트 시작_아웃소싱 프로젝트 (0) | 2024.06.18 |
[2024.06.14] 프로그래머스_다음 큰 숫자 (1) | 2024.06.17 |
[2024.06.13] React 심화 프로젝트_가계부(95% 완성) (0) | 2024.06.13 |
[2024.06.12] React 심화과정 개인 프로젝트 (0) | 2024.06.12 |