Cute Light Pink Flying Butterfly 🧪테스트주도개발(TDD) 하기 | 핵심 용어 :: 놀면서 돈벌기
본문 바로가기
IT/Architecture

🧪테스트주도개발(TDD) 하기 | 핵심 용어

by esclife_ 2025. 12. 26.
반응형

 

 

기업에서 TDD를 엄격하게 체크하는 문화가 들어서고 있다면, 아래의 용어들을 이용해 업무 대화가 이루어 질 상황이 많습니다.

TDD, 하면 떠오르는 용어들을 배워보도록 합시다.

 

용어 뜻과 역할
SUT (System Under Test) 테스트 대상. 내가 지금 검증하려는 바로 그 클래스나 메서드.
Fixture 테스트 환경 세팅. 테스트를 실행하기 위해 미리 준비해둔 고정된 데이터나 객체.
Mock / Stub 가짜 객체. DB나 외부 API처럼 테스트하기 힘든 의존성을 가짜로 대체함 (Moq 라이브러리 주로 사용).
Red-Green-Refactor TDD의 사이클. 실패하는 테스트 작성(Red) $\rightarrow$ 성공하게 코드 수정(Green) $\rightarrow$ 코드 최적화(Refactor).
Assertion 단언/검증. "결과값이 A여야 한다"라고 선언하는 부분 (Assert.Equal(A, Result)).
xUnit 테스트 구조 (AAA 패턴) C#에서 테스트를 짤 때는 보통 이 3단계를 주석으로 나누어 작성합니다.

Arrange (준비): 객체를 생성하고 필요한 데이터를 세팅함.
Act (실행): 실제 메서드를 호출함.
Assert (검증): 예상한 결과와 실제 결과가 같은지 확인함.
유닛 테스트 커버리지(Unit Test Coverage) 기준 전체 코드 중에서 테스트 코드가 실행해 본 코드의 비율(%)을 말합니다.

쉽게 말하면
내가 100줄의 코드를 짰는데, 테스트 코드가 그 중 80줄을 훑고 지나갔다면 커버리지 퍼센트는 80%입니다.


기준을 물어보는 이유는
모든 코드는 커버리지 90%를 넘어야 배포 가능과 같은 팀만의 규칙이 있는 경우가 많기 때문입니다.


회사에서 이런 질문을 하면 "아, 이 사람은 본인이 짠 코드를 스스로 검증하려는 책임감이 있구나"라는 인상을 줄 수 있겠죠.


Mocking(모킹) 라이브러리 테스트를 할 때 의존성이 있는 가짜 객체(Mock)를 쉽고 빠르게 만들어주는 도구입니다. 어떤 라이브러리를 보통 사용하는지 업무를 함께하는 사람들과 공유하며 이용하면, 추후 서로 코드리뷰를 진행할때도 테스트 코드가 통일되서 편리하겠죠

 

 

본 포스팅은 주인장의 지식이 추가됨에따라, 표의 내용도 조금씩 추가해보겠습니다.

반응형