728x90
반응형
최근에 소프트웨어 개발 방법론 중 하나인 테스트 주도 개발(TDD)에 대한 흥미가 생겨, 이를 실제 프로젝트에 도입해보려고 학습 중입니다. 그 중에서도 테스트 더블(Test Doubles)에 대해 깊게 이해하고자 합니다. 테스트 더블은 TDD에서 핵심적인 역할을 수행하며, 이를 통해 단위 테스트와 통합 테스트를 보다 효과적으로 수행할 수 있습니다. 이번 글에서는 테스트 더블의 다섯 가지 요소에 대해 알아보겠습니다.
Stub
- Stub은 테스트 중에 호출되면 미리 정해진 답을 반환하는 형태를 말합니다.
- Stub은 상태를 검증하지 않고, 입력에 대한 출력이 발생하는지를 검증합니다.
Mock
- Mock은 실제 객체의 동작을 모방하는 객체입니다. 메서드의 호출에 대한 기대를 명세하고, 미리 정의된 내용에 따라 동작했는지를 검증합니다.
Spy
- Spy는 테스트 중에 호출되면 호출된 내용을 기록하는 형태를 말합니다.
Dummy
- Dummy는 특정 테스트에서 사용되지 않는 객체를 의미합니다. 보통은 객체의 필요한 형식만 제공하고, 실제 동작은 수행하지 않습니다.
Fake
- Fake는 실제로 동작하는 구현을 가지고 있지만, 실제 사용되는 것보다 더 단순한 형태로 동작하는 객체입니다. 대표적으로 메모리에 데이터를 저장하는 간단한 데이터베이스가 될 수 있습니다.
테스트 더블은 소프트웨어 개발에서 테스트의 품질과 효율성을 높이는 데 중요한 역할을 합니다. Stub, Mock, Spy, Dummy, Fake와 같은 다양한 테스트 더블을 적재적소에 활용하면서, 테스트 주도 개발의 원칙을 보다 엄격하게 준수하고 실용적으로 적용할 수 있습니다. 앞으로도 테스트 더블에 대한 학습과 실험을 통해 소프트웨어 품질 향상에 기여하고자 합니다.
반응형
'SpringBoot > 생각공유폴더' 카테고리의 다른 글
[Gson] CVE-2022-25647 gson 보안취약점 (0) | 2024.05.07 |
---|---|
[TDD] Mock vs MockBean 의 비교 (0) | 2024.05.03 |
StringBuffer, StringBuilder 차이점 (0) | 2020.06.20 |
오픈소스 정리 사이트 (0) | 2019.12.23 |
댓글