Skip to main content

Command Palette

Search for a command to run...

테스트를 말할 때 우리가 이야기하는 것

What We Talk About When We Talk About Test

Updated
테스트를 말할 때 우리가 이야기하는 것

2024년 3월호 코드스냅 뉴스레터를 소개합니다.

웹 개발 번역 매거진 코드스냅은 매월 다른 주제의 아티클을 선정하여 한국어로 전달해 드립니다. 3월호 뉴스레터는 <테스트를 말할 때 우리가 이야기하는 것 What We Talk About When We Talk About Test>이라는 주제로 팀원들이 일곱 편의 원문을 번역하였습니다.

개발 과정에서 테스트와 구현은 짝꿍처럼 붙어 다니는 존재지만 테스트 코드 작성이 익숙하지 않거나 실제로 테스트의 효용을 체감해 보지 못한 분들께는 테스트가 그저 부담이 되곤 하죠. 마치 테스트 코드에 내 코드를 끼워 맞추거나 반대로 내 코드에 테스트 코드를 끼워 맞추는 느낌 많이들 경험하실 텐데요. 테스트의 개념, 방법론, 도구 등과 관련하여 수많은 자료들이 있는 만큼 개발자마다 다양한 의견을 보이는 분야 중 하나가 바로 테스트인 것 같습니다. 뉴스레터를 준비하며 기억에 남는 Kent C. Dodds의 말이 있습니다. "테스트는 코드가 의도한 대로 작동한다는 자신감을 부여한다." 자신감! 결국 테스트는 그 자체가 목적이 아니라 더 나은 코드를 향한 여정의 일부가 되어야 하지 않을까요.

이번 뉴스레터가 여러분의 상황에 맞는 최선의 테스트를 만들어 나가는 데 도움이 되면 좋겠습니다.


3월호 뉴스레터 미리보기

TDD와 과학적 사고

원저: Thomas Heijtink | 번역: 정승아
발행일: 2024년 3월 6일

실무자들은 TDD를 어떻게 바라보고 접근할까요? 이 글에서는 과학적 사고법에 따라 TDD의 접근 방식을 단계적으로 살펴봅니다. TDD를 과학 실험에 빗대어 단순히 기술이 아닌 코드를 작성하는 방법으로써 TDD의 효용을 이야기합니다.

함수형 프로그래밍으로 단위 테스트를 다시 재미있게 만들기

원저: Leo Lanese | 번역: Jung Wook Park
발행일: 2024년 3월 10일

단위 테스트 작성은 소프트웨어 개발에 필수적이지만 썩 재밌는 작업이라고 이야기할 수는 없겠지요. 저자는 함수형 프로그래밍을 통하여 테스트 지향적인 코드를 작성할 수 있다고 이야기합니다. 이 글에서는 함수형 프로그래밍의 주요한 특징을 소개하며 과연 어떠한 점 덕분에 테스트하기 좋은 코드를 작성할 수 있는지를 알아봅니다.

대체 자바스크립트 테스트가 뭘까요

원저: Kent C. Dodds | 번역: Hyunji Seok
발행일: 2024년 3월 13일

소프트웨어를 테스트하는 수많은 이유 중에서 저자는 작업 속도의 향상과 코드를 향한 자신감 이 두 가지를 언급하는데요. 그렇다면 자바스크립트에서 테스트란 과연 무엇인지에 관하여 원문은 간단한 예제와 함께 단계별로 설명합니다. 프런트엔드 테스트에 입문하거나 테스팅 프레임워크에 익숙하지 않은 분들께서 읽어 보면 좋을 글입니다.

단위 테스트 가능한 코드를 작성하는 방법과 코드 품질을 개선하는 방법

원저: Cem Tüver | 번역: Jaea
발행일: 2024년 3월 17일

기존 코드를 테스트가 가능한 코드로 리팩터링하는 것은 테스트를 할 때 많은 분들이 고민하는 지점입니다. 저자는 특정 플랫폼이나 프로그래밍 언어에 국한되지 않고 본인의 경험에 비추어 작은 라이브러리를 단위 테스트가 가능한 코드로 만들어 나가는 과정을 설명하며 궁극적으로 테스트를 통하여 코드 품질을 개선하는 방법을 제시합니다.

리액트 네이티브(React Native) 테스팅

원저: Vojtech Novak | 번역: luma yi
발행일: 2024년 3월 20일

시중에 리액트 네이티브(React Native)를 테스팅하는 방법을 다루는 글은 많지 않습니다. 리액트와 다르게 리액트 네이티브는 Puppeteer, Cypress와 같은 유명한 E2E 테스팅 라이브러리도 이용이 불가하죠. 이러한 아쉬움을 해결할 수 있도록 리액트 네이티브 공식 문서에서는 이를 대체할 수 있는 다양한 테스팅 라이브러리 및 기법을 소개합니다. Unit 테스트부터 E2E 테스트까지 모든 테스트를 다루며 테스트 단위별 추천 라이브러리도 함께 언급합니다.

테스트를 작성하세요. 너무 많이는 말고요. 통합 테스트 위주로요.

원저: Kent C. Dodds | 번역: 윤정민
발행일: 2024년 3월 24일

Kent C. Dodds는 양질의 소프트웨어로 세상을 더 나은 곳으로 만드는 것을 꿈꿉니다. 이를 위하여 다른 사람들에게 양질의 소프트웨어를 만드는 방법을 가르치는 교육자의 길을 걷고 있는데요. 그가 만든 라이브러리, 테스팅 라이브러리는 프런트엔드 생태계에 엄청난 영향을 끼치며 컴포넌트 테스트 도구로 자리를 잡았습니다. 애플리케이션을 만들다 보면 어떤 테스트를 얼마나, 어떻게 하면 좋을까를 항상 고민하게 됩니다. Socket.IO를 만든 Guillermo Rauch가 한 트윗을 작성했습니다. "Write tests. Not too many. Mostly integration." 짧지만 심오한 내용을 가진 글에 관하여 Kent가 본인의 생각을 이야기합니다.

TDD에 대한 큰 오해

원저: Oliver Wolf | 번역: 한혜지
발행일: 2024년 3월 27일

TDD에서 빠질 수 없는 개념은 단위 테스트일 텐데요. 해당 개념에 관하여 우리가 흔히 하는 오해를 다루는 글입니다. 저자는 mockist vs classicist 두 상반되는 접근법에 주목하여 단위 테스트를 강조하는 전통적인 TDD를 반박합니다. 단위 테스트의 '단위'를 어떻게 설정해야 하는지, 어디까지 분리해야 하는지를 언급하며 '좋은' 테스트 코드 작성법에 관한 본인의 견해를 제시합니다.


저는 비로소 3월이 오면 새해가 되었다는 실감이 납니다. 새 학기, 새 직장, 새 프로젝트, 3월은 늘 새로운 시작과 함께한 것 같아요. 공교롭게 코드스냅 뉴스레터도 3월에 문을 여네요. 모두에게 기대감을 선사하는 3월이 되기를 바랍니다. 앞으로의 코드스냅 활동도 기대 부탁드리며 읽어 주셔서 고맙습니다. 🕊️

More from this blog

나의 오픈 소스 시작 이야기

원문: TkDoDo, “My Open Source Origin Story“ 가끔씩 제가 받는 질문이 하나 있는데, 바로 오픈 소스와 리액트 쿼리(React Query)를 어떻게 시작하게 되었는지입니다. 저의 기본 원칙은 어떤 질문을 세 번 받으면 더 이상 답변할 필요가 없도록 질문에 대해 글로 쓴다는 것입니다. 하지만 이 질문은 주로 직접 만났을 때 받는 질문이라 글로 작성할 생각을 한 적이 없었습니다. 최근에 오프라인 컨퍼런스에 더 많이 참...

Jul 30, 2025
나의 오픈 소스 시작 이야기

이더넷이란?

원문: baeldung, “What Is Ethernet?“ 1. 소개 이 튜토리얼에서는 이더넷(Ethernet)과 이를 통해 이루어지는 데이터 전송에 대해 알아보겠습니다. 2. 이더넷이란? 이더넷은 근거리 통신망(LAN) 또는 광역 네트워크(WAN) 내에서 장치들이 데이터를 주고받고 통신하기 쉽게 만들어 주는 널리 사용되는 기술입니다. 컴퓨터, 프린터, 서버는 물론 스마트 홈 기기까지도 이더넷으로 연결됩니다. 가정이나 사무실처럼 제한된 공간...

Jul 20, 2025
이더넷이란?

포스트 개발자 시대

원문: Josh W. Comeau, "The Post-Developer Era" 2년 전 2023년 3월, "프런트엔드 개발의 종말"이라는 제목의 블로그 글을 발행했습니다. 이는 OpenAI가 GPT-4 쇼케이스를 발표한 직후였고, 당시 업계 분위기는 머지않아 인간 소프트웨어 개발자는 필요 없어지고 앞으로는 소프트웨어 개발을 AI가 전담하게 될 것이라는 전망이 지배적이었습니다. 저는 이런 주장에 회의적이었고 그 블로그 글에서 소프트웨어 개발...

Jul 10, 2025
포스트 개발자 시대

널리 사용되는 네트워크 프로토콜

원문: Subham Datta, "Popular Network Protocols" 1. 개요 이 튜토리얼에서는 가장 널리 사용되고 인기 있는 네트워크 프로토콜들을 소개합니다. 2. 네트워크 프로토콜 소개 의사소통과 정보 교환은 현대 사회에서 가장 중요하고 강력한 역량입니다. 컴퓨터 네트워킹이란 여러 대의 컴퓨터와 장치를 케이블이나 위성을 통해 서로 연결하여, 거리와 상관없이 정보·자원·데이터베이스 등을 공유할 수 있게 하는 것을 말합니다. 네...

Jun 20, 2025
널리 사용되는 네트워크 프로토콜

커맨드 라인에 편해지는 법

원문: Julia Evans, "What helps people get comfortable on the command line?" 가끔 커맨드 라인을 써야 하는 친구들과 이야기하다 보면 많은 이들이 여전히 터미널을 두려워하고 있다는 걸 느낍니다. 그럴 때마다 어떤 조언을 할지 잘 모르겠더라고요. 저는 워낙 오래전부터 터미널을 써왔기 때문이죠. 그래서 Mastodon에 이렇게 물어봤습니다. 최근 1~3년 사이에 터미널 공포(?)를 극복한 분...

Jun 10, 2025
커맨드 라인에 편해지는 법
C

CodeSnap

84 posts

한국어로 전달하는 웹 개발 번역 매거진