개발 관련 일지/TDD 2

테스트 더블이란 무엇인가

테스트 더블, 테스트 대역 모든 유형의 비운영용 가짜 의존성을 포괄하는 용어이다. 더미, 스텁, 스파이, 목, 페이크로 나눌 수 있다. 하지만 크게 보면 크게 목(목, 스파이)과 스텁(스텁, 더미, 페이크) 로 나눌 수 있다. 목 외부로 나가는 상호작용을 모방하고 검사. 목과 스파이 목 : 검증 기능을 제공한다. 스파이 : 기능적으로 목과 같다. SUT의 간접 출력을 제공하기 위한 대역이다. 스텁 내부로 들어오는 상호작용을 모방. 스텁, 더미, 페이크는 얼마나 똑똑한지에 따라 달라진다. 더미는 SUT를 구성하거나 테스트를 실행하는 데 필요하지만, 테스트 하려는 요구사항에는 전혀 영향을 주지 않는 대역이다. Stub은 SUT의 간접 입력을 제공하기 위한 대역이다. Fake는 실제로 동작하지만, 운영 환경에..

좋은 단위 테스트의 4대 요소

페어프로그래밍을 하면서 거짓 양성, 블랙 박스, 화이트 박스… 같은 용어들이 생소했다. 그래서 단위 테스트 책을 읽으면서 해당 관련 지식을 보충하게 되었다! 단위 테스트 책 4단원에 해당 지식이 나온다. 좋은 단위 테스트의 4가지 특성 회귀 방지 리팩터링 내성 빠른 피드백 유지 보수성 회귀 방지 회귀 = 소프트웨어 버그로, 코드 수정 후 기능이 의도한 대로 동작하지 않는 경우이다. 회귀 방지는 테스트가 얼마나 버그의 존재를 잘 나타낼 수 있는지 척도를 말한다. 회귀에는 다음과 같은 요소들이 영향을 미친다. 테스트 중에 실행되는 코드의 양 실행되는 코드가 많을 수록 회귀가 나타날 가능성 많다. 코드 복잡도,코드 도메인 유의성 복잡한 비즈니스 로직이 보일러 플레이트 코드보다 중요하다. 리팩터링 내성 테스트를..