코드스테이츠_S4U7_3W_금

윤뿔소·2022년 12월 2일
0

CodeStates

목록 보기
42/47

요즘 프론트엔드라면 빠질 수 없는 테스팅 방법론에 대해 알아보자!

TDD

Test-driven Development, 코드를 작성하기 전에 테스트를 쓰는 소프트웨어 개발 방법론

즉, 자신이 옳은 방향의 코드를 미리 정의하고 그에 따라 작성하는 것이다. 작은 단위의 테스트 케이스를 작성하고, 이를 통과하는 코드를 작성하는 과정을 반복하는 것을 의미한다.


1. Write Failing Test: 실패하는 테스트 코드를 먼저 작성한다.
2. Make Test Pass: 테스트 코드를 성공시키기 위한 실제 코드를 작성한다.
3. Refactor: 중복 코드 제거, 일반화 등의 리팩토링을 수행한다.

꼭꼭 1번인 실패 케이스를 먼저 작성하고 작업한 뒤 그다음 단계를 이어나가고 2번을 진행함에 있어 1번이 통과되도록 최소한의 코드만 작성해야한다.

하지만 대부분 ‘속도' 때문에 개발자들이 따르진 않는다. 왜그럴까?

사용 이유

그럼에도 TDD가 강조되는 이유는 무엇일까? 초기 코드를 작성해야하는 것이 오래 걸리는 일이라고 인식하지만 오히려 예상하지 못했던 버그를 줄여 소요 시간을 줄일 수 있기 때문이다.
개발 과정 중 코드를 작성, 수정, 삭제하는 단계를 거치며 코드가 중복되거나 불필요한 코드가 남게 된다. 그러면 자연스레 디버깅과 유지보수가 많이 힘들어질 터. 처음 개발할 때 아꼈던 리소스보다 더 많은 리소스를 투입해야 하는 경우가 발생해 오류의 스노우볼이 굴러간다.

실습 회고

mocha라는 테스트 프레임워크와 쉬운 문법을 위해 chai라는 라이브러리라는 걸 사용함!!

근데 많이 어렵긴 하다? 어떻게 테스트하고 어디에 테스트를 배치하고 이런 게 어려운 거 같았다.
근데 확실히 테스트를 계속 해보면 실제 구동이라든지 에러 같은 걸 방지하기에 비용을 줄일 수 있었다.

내가 따로 찾아본 2022 트렌드를 보며 테스팅 툴들도 봤었다. mocha는 점점 사용하지 않아서 Jest를 나중에 배워봐야겠다.

profile
코뿔소처럼 저돌적으로

0개의 댓글