498개의 테스트 코드 (번역)

최근에 이직한 미국 회사에 테스트에 진심인 시니어 개발자가 있었습니다. 그가 혼자서 약 3개월간 개발한 Java/Spring 기반의 백엔드 마이크로서비스는 무려 498개의 테스트가 작성되었습니다. 😵


물론 개수가 많다고 무조건 좋은 테스트는 아니지만, 그는 필요한 테스트들만 견고하게 작성했고, 다양한 종류와 범위의 테스트들을 깔끔하게 구성하고 읽기 편하게 작성했으며, JUnit5와 Mockito 등의 테스트 라이브러리의 기능들을 풍부하게 활용해서 배울 점이 많았습니다.


심지어 테스트하기 쉬운 프로젝트도 아니었습니다:

  1. 외부 서비스들 및 사내 마이크로서비스들간의 복잡한 연계가 필요한 서비스였고,

  2. 1980년대부터 현재까지 운영중인 사내 레거시 시스템(BASIC과 COBOL로 개발됨)의 동작은 일정하지 않았으며,

  3. 암호화되지 않은 개인정보들 때문에 DB 접근 권한이 제한되어 실시간 데이터를 얻을 수 없는 반면, 비즈니스 관리자들은 데이터를 직접 변경할 수 있었으며,

  4. 다양한 이해관계자들에 의해 요구사항이 수없이 바뀌었고,

  5. 시간 및 위치 데이터에 민감한 서비스라 미국 각 지역의 시차에 따라 다른 동작이 필요한 까다로운 서비스였다.


이정도로 복잡한 백엔드 서비스들은 봐왔지만 이렇게 확실하게 테스트하는 경우는 본 적이 없어서, 이래서 차는 독일차를 사라는건가..🤔라는 구시대적 선입견이 스멀스멀 피어오르기도 했습니다. (그는 독일 혹은 폴란드 출신입니다)


​그에게 너처럼 테스트 코드 작성하려면 어디서부터 시작해야해? 라고 물었는데, 그는 곧바로 Test Pyramid를 먼저 이해하는게 좋아라며 이 글을 추천해줬습니다.


그래서 주말에 각 잡고 읽는 김에 번역해보았습니다. 🙃


https://www.integer.blog/practical-test-pyramid/?ref=careerly.co.kr

실용적인 테스트 피라미드 (번역)

1nteger 🏄🏻‍♂️

실용적인 테스트 피라미드 (번역)

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 4월 29일 오전 6:36

 • 

저장 258조회 6,437

댓글 0