HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🐣
프론트엔드 데브코스 4기 교육생
/
🐈‍⬛
윤지석팀
/
☕
커피챗
/
테스트코드, 현업에서 정말 제대로 쓰이나요? FE 현업에서 테스트 코드 무용론을 접했는데 사실인지 진위여부가 궁금합니다! 그리고 멘토님께서는 테스트코드에 대해 어떻게 생각하시는지도 궁금합니당~!!

테스트코드, 현업에서 정말 제대로 쓰이나요? FE 현업에서 테스트 코드 무용론을 접했는데 사실인지 진위여부가 궁금합니다! 그리고 멘토님께서는 테스트코드에 대해 어떻게 생각하시는지도 궁금합니당~!!

카테고리
프론트엔드
작성자
양혜진
답변여부
리뷰완료
날짜
Jun 8, 2023
답변
테스트코드, 현업에서 “우선은” 쓰입니다.
 
FE 현업에서 테스트 코드 무용론이 사실인 경우도 종종 있습니다.
 
저는 테스트 코드를 짜는 것을 선호하지 않지만, 짜야한다고 생각을 하지만, 잘 안짜게 됩니다.
 
개발자가 테스트를 보는 세 가지 관점 | 요즘IT
개발자가 작성하는 자동화된 테스트는 오랫동안 갑론을박이 있던 화제입니다. 그러나 현실적인 타협점을 찾는다면 그 효용성은 분명합니다. 평소에 테스트를 바라보는 몇 가지 관점이 부딪힌다는 생각을 갖고 있었지만 아직 글로 쓴 일은 없었는데, 지난 글 <코드 리뷰에 ‘켄트 벡’의 아이디어 접목하기>와 비슷하게, 켄트 벡(Kent Beck)이 쓴 ‘Abstract vs. Concrete Parameters’란 제목의 글이 고맙게도 또다시 영감을 주어 쓰는 글입니다.
개발자가 테스트를 보는 세 가지 관점 | 요즘IT
https://yozm.wishket.com/magazine/detail/2068/
개발자가 테스트를 보는 세 가지 관점 | 요즘IT
 
 
 
개인 의견
총 4개의 회사에서 FE로 개발을 했습니다. 제가 왜 테스트코드를 잘 안짜는지….변명을 해보겠습니다.
1번 회사. 2016~2018년
  • 스타트업 1년도 안된 회사. Be/Fe 명확히 구분 없이 Server Side Rendering이었습니다.
  • MVC모델(Model View Controller)을 통해서 View 정도만 하거나, 조금 더 하면 컨트롤러 정도까지 개발했었습니다. 따로 View 만 테스트 코드 짜는게 많지 않았고, 코드 파일 하나가 거대했습니다.
  • 테스트 코드 하나 짜는게 무의미했던게, 개발을 너무 못했어서 하나의 Controller, View에서 너무 많은 일을 하고 복잡한 로직을 갖고 있었습니다. 하나 바꾸면 다 바뀌어서 테스트케이스가 다 깨져버렸고, 그게 발목을 잡았기도 했습니다.
  • 결론은, 코드를 너무 못짰었고 best practice가 없어서 테스트 코드가 무용지물 이었습니다.
  • 늘 하는 말이, 이거 코드 고치고 테스트코드 짤 바야, 새로 빨리 만들겠다~~ 였습니다. ⇒ 다 변명입니다.
  • 반대로 생각하면, 정말 로직이 복잡했기에 코드 분리 잘하고 테스트 코드를 잘 짰다면 의미가 있었을 것 같습니다.
  • 아무튼, 테스트케이스를 만들자는 내부 개발자의 의견은 많진 않았습니다
 
2번 회사. 2018년~2020년
  • 총 인원 7명정도의 소규모 회사였습니다.
  • 일단 CTO, CEO님의 기조대로, 빠른시도, 빠른 pivot, 빠른판단, 빠른선점 등등 모든걸 빠르게 했습니다.
  • 정말 계획대로 착착착 빠르게 했긴했습니다.
  • 그 빠르게 하는 것에는, 테스트케이스 짜는건 전혀 고려되지 않았습니다. 정말 서비스를 만들고 유저에게 피드백을 받고, 과감하게 피드백 반영해서 기획/디자인/개발을 다 바꾼다는 기조였습니다.
  • 테스트 케이스 짰었으면, 배 아팠을 것 같습니다. 진짜 모든게 계속 바뀌었습니다.
 
3번 회사. 2021년
  • 나름 큰 규모의 회사였습니다.
  • 회사가 테스트케이스를 짠 경험은 많진 않았으나, React FE 코드 부분적으로 짜여있고, 개인의 주도하에 짜는 경우가 많았습니다.
  • FE 개발자끼리 많은 대화를 통해서, 테스트케이스도 중요하지만 더 중요한 우선순위를 두었었습니다.
    • 코드리뷰는 정말 잘하자. 남이 1의 노력을 해서 PR을 올렸다면, 나도 1에 준하게 노력해서 코드리뷰를 하자.
    • 페어프로그래밍을 지향하자. 바쁘다는 핑계로 코드리뷰도 잘 못하고, 테스트케이스도 잘 못짜고 있다. 주기적으로 페어프로그래밍을 하면서 코드를 잘 짜자.
  • 그러다 보니, 또 자연스럽게 테스트코드를 잘 안짰습니다. (물론 그 와중에 열심히 테스트 케이스를 짜는 개발자 동료도 있었습니다)
 
4번 회사. 2022년~2023년
  • 회사 전반적으로 테스트케이스를 강조하고 많이 짜고 있습니다.
  • 물론 기획/디자인이 자주 바뀌어서 테스트케이스도 계속 바뀌고 업데이트 되는 경우가 있습니다.
  • 그래서 내린 결론은, 디자인과 관련된 것 보다는, 메인 로직과 관련된 코드를 UI 코드(view영역)와 잘 분리를 시키는게 1순위고, 그 분리된 코드에 대해서 테스트 케이스를 짜는 것입니다.
  • 기획/디자인이 자주 바뀔 수 있긴하지만, 가능한 메인 로직은 정말 극적으로 바뀌는 경우는 드물어서요.
  • 그래서 나름 잘 짜여지고 있는 것 같기도 합니다.
  • 그런데 말입니다… FE 개발자가 어떤 팀에 속해서 어떤 일을 하냐에 따라 약간의 차이가 있습니다.
  • 기존에 유저가 많고 오랫동안 서비스해온 기능/페이지의 경우 당연히 테스트코드도 짜고, 한땀한땀 노력을 해서 개선을 합니다.
  • 반면 빠른 검증(PoC)를 하거나 R&D를 하는 팀은 빠른 시도/빠른 결론도출/빠른 서비스 출시를 하는 경우가 있어서, 어느정도 테스트코드를 감안하고 짜지 않는 경우도 존재한다고 저는 생각합니다.
  • 저는 늘 이렇게 사업적으로 빠른 시도를 하는 팀에서 일했던 것 같고, 2023년 6월 14일 기준 제가 빠르게 시도해서 출시하거나 태핑한 서비스는 많이 서비스를 중단하게 되었네요.
  • 하지만, 저도 테스트코드가 필요한 부분에 대해서 동료에게 배우고 조언 받고 짜고 있습니다!!
 
 
그러므로, 저는 테스트코드는 필요시 잘 짜야한다고 생각합니다. 하지만 저는 성향상 빠른 시도를 하는 팀을 선호하기도 하고, 상대적으로 테스트코드를 잘 안짜길 선호합니다.
테스트코드를 잘 짜는 건, 회사차원에서 엄청 메리트 있는 능력으로 보기에, 굳이 지금부터 안짤 필요는 없다고 생각합니다. 테스트코드를 잘 짜는데, 회사차원에서 사용을 안하는거랑, 테스트코드를 아에 못짜서, 못하는 것은 다를테니까요.