반응형
기업에서 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)를 쉽고 빠르게 만들어주는 도구입니다. 어떤 라이브러리를 보통 사용하는지 업무를 함께하는 사람들과 공유하며 이용하면, 추후 서로 코드리뷰를 진행할때도 테스트 코드가 통일되서 편리하겠죠 |
본 포스팅은 주인장의 지식이 추가됨에따라, 표의 내용도 조금씩 추가해보겠습니다.
반응형
'IT > Architecture' 카테고리의 다른 글
| Windows API로 구현하는 Sandbox : 낮은 무결성(Low Integrity) 프로세스 격리 기술 (0) | 2026.01.25 |
|---|---|
| TDD 도입 및 안착 가이드 (1) | 2026.01.17 |
| 도메인 주도 설계, DDD하기 (0) | 2025.12.03 |
| 🧪테스트주도개발(TDD) 하기 | QA 테스트 검증 프로세스 "제품 개발 라이프사이클을 지배하는 6가지 주요 테스트 단계 - DVT CVT부터 UAT까지" (0) | 2025.12.01 |
| 디자인 패턴(Design Pattern)이란? (0) | 2025.10.29 |