728x90
반응형

QA 4

"프론트엔드 테스트, 솔직히 비추천합니다" 그래도 해야 한다면 딱 이것만 (feat. Cypress)

저는 프론트엔드 UI 테스트 도입을 뜯어말리고 싶습니다.이유는 간단합니다. 가성비가 너무 떨어집니다.(당연하겠지만 여기서 말하는 테스트는 테스트 코드 작성에 대한 이야기 입니다. 사람이 직접 QA 하는것과는 다른 이야기에요!)버튼 위치 1px만 바뀌어도 깨지고, 클래스명 하나 바꿨다고 깨지고... 로직은 멀쩡한데 테스트 코드 고치느라 야근하는 주객전도가 벌어지기 쉽거든요.하지만 그럼에도 불구하고 "죽어도 결제 기능은 터지면 안 된다"는 절박함이 있을 때, 혹은 팀의 요구로 어쩔 수 없이 도입해야 할 때가 있습니다.오늘은 그런 상황에서 여러분의 정신건강을 지키며 최소한으로 E2E를 적용하는 타협안을 공유합니다.1. UI 테스트, 왜 하지 말라고 할까요?경험해 보신 분들은 알겠지만, 브라우저 기반 테스트(E..

AI가 짜준 테스트 코드가 위험한 이유 (feat. 해피 케이스의 함정)

바이브 코딩에서 왜 '테스트 코드'가 필요할까?혹은 어떻게 해야 코드 품질을 끌어올릴 수 있을까? 에 대한건 이전 글을 참고해주세요!바이브 코딩(Vibe Coding) 시대의 코드 품질 관리법 바이브 코딩(Vibe Coding) 시대의 코드 품질 관리법요즘 개발자들 사이에서 '바이브 코딩(Vibe Coding)'이 핫하죠?자연어로 슥슥 말하면 코드가 뚝딱 나오는 세상이라니, 정말 편리해졌습니다.하지만 실제로 바이브 코딩을 도입하면서 한 가지 확실show5116.tistory.com 바이브 코딩을 도입하고 나서 가장 좋았던 점 중 하나는 "테스트 코드 작성에 대한 심리적 장벽이 낮아졌다"는 것입니다.예전엔 설정하고, 모킹(Mocking)하고, 보일러 플레이트 짜는 게 귀찮아서 미루곤 했는데, 이제는 LLM..

AI/바이브 코딩 2026.01.22

Mocking만으로는 불안하다면? DB까지 뚫어보는 '통합 테스트' 입문

지난 글까지 우리는 Mocking을 통해 외부 의존성을 완벽하게 격리하고 테스트하고 CI 자동화 구축까지 하였습니다.논리적으로는 완벽하죠.그런데 실무에서는 이런 등골 서늘한 상황이 종종 발생합니다."어? 단위 테스트는 전부 초록불(Pass)인데, 왜 서버 띄우니까 500 에러가 나지?"알고 보니 SQL 문법이 틀렸거나, API URL 경로가 미세하게 달랐던 겁니다.Mocking은 "DB가 이렇게 응답할 거야"라고 가정했을 뿐, "진짜 DB가 그렇게 응답하는지"는 확인해주지 않기 때문입니다.오늘은 가짜(Mock)를 걷어내고, 진짜 모듈끼리 조립했을 때 잘 돌아가는지 확인하는 통합 테스트(Integration Test)에 대해 알아보겠습니다.1. 통합 테스트, 왜 필요한가요?자동차 부품 검사(단위 테스트)를..

"테스트 코드, 꼭 다 짜야 할까?" 단위 vs 통합 vs E2E 실무 적용 가이드

"테스트 코드를 짜야 한다"는 말, 귀에 딱지가 앉도록 들으셨을 겁니다.그런데 막상 공부를 시작하면 단위 테스트, 통합 테스트, E2E 테스트 등 용어부터 머리가 아파옵니다. "시간도 없는데 이걸 다 짜야 하나요?""단위 테스트만 잘 짜면 되는 거 아닌가요?"저도 이런 고민을 참 많이 했습니다.결론부터 말씀드리면, 모든 테스트를 100% 완벽하게 짜는 것은 불가능하고, 그럴 필요도 없습니다.오늘은 4년 차 개발자로서 실무에서 느낀 각 테스트의 역할과, 상황에 맞는 '선택과 집중' 전략을 공유해 드리려 합니다.(개인적인 의견이 포함되어 있어 사람마다 의견이 다를 수 있습니다.)1. 테스트의 3대장: 단위, 통합, E2E테스트는 범위에 따라 크게 세 가지로 나뉩니다.이해를 돕기 위해 '자동차 제조'에 비유해..