테스트 코드2 [구글엔지니어는 이렇게 일한다] 테스트 크기와 범위 테스트의 크기와 범위를 규정한 것이 흥미롭다. 어떤 테스트를 더 많이 만들어야 하는지 참고 자료로 활용 가능할 것 같다. 테스트가 많아져서 전체 수행 시간이 길어질 경우, 어떤 영역의 테스트를 언제 돌릴지 전략을 세울 수도 있을 것 같다. 테스트 크기와 범위 크기(size): 테스트 케이스 하나를 실행하는 데 필요한 자원. 메모리, 프로세스, 시간 등 범위(scope): 주어진 테스트가 얼마나 많은 코드를 검증하느냐를 말함 테스트 크기 테스트 크기 자원 제약 특징 작은 테스트 • 프로세스(혹은 쓰레드) 하나에서 동작 • 데이터베이스와 같은 제3의 프로그램을 수행해서도 안됨 • 블로킹 호출 안됨 (sleep, 네트워크, 디스크 I/O) • 블로킹 호출 대상은 테스트 대역을 사용해야함 • 불규칙한 테스트가 .. 2023. 12. 22. [구글엔지니어는 이렇게 일한다] 테스트 코드가 주는 혜택 평소 테스트 코드를 짜면서 느끼던 것이 명료하게 표현되어 있어서 요약해봤다. 1. 디버깅 감소 결함 대부분이 서브밋 전에 고쳐짐 (자동화 테스트를 통해 발견) 2. 자신 있게 변경 행위가 달라지지 않는 변경은 테스트코드를 수정할 필요 없음. 즉 리팩토링이 권장됨 3. 더 나은 문서자료 한 번에 하나의 행위만 집중해 검증한 명확한 테스트는 실행 가능한 문서와 같음 4. 더 단순한 리뷰 정확성, 극단 상황, 오류 상황 등 다양한 측면에서 코드를 검사해주는 테스트가 있다면 리뷰어의 코드 작동 검증 시간을 줄여줌 5. 사려 깊은 설계 테스트 작성은 해당 API가 잘 설계되었는지 실험하는 행위임. 테스트하기 어려운 코드는 너무 많은 역할을 짊어지거나 의존성을 관리하기 어렵게 짜여졌기 때문일 가능성이 큼. 잘 설계.. 2023. 12. 12. 이전 1 다음