테스트 코드 작성의 어려움을 극복하고, 단위 테스트를 쉽고 빠르게 작성하는 방법을 제시함
BaseTestCase, RxTestCase, EventLoggingTestCase, PresentationTestCase 등 테스트 유틸리티를 활용하여 테스트 코드의 가독성을 높임
TDD(Test-Driven Development) 도입을 위한 단계적 접근법과 EventLogging, Navigation 로직 테스트를 강조함
뱅크샐러드는 BaseTestCase를 기반으로 RxTestCase, EventLoggingTestCase, PresentationTestCase를 구축했다. 구체적으로 RxSwift를 활용하여 비동기 로직 테스트를 용이하게 만들었다. 따라서 테스트 코드의 재사용성을 높이고, 보일러플레이트 코드를 줄여 개발 생산성을 향상시켰다.
TDD는 모든 영역에 즉시 적용하기 어렵다는 점을 인지하고, EventLogging과 같은 테스트하기 쉬운 영역부터 시작한다. TDD를 통해 테스트 코드를 먼저 작성하고, 구현을 진행한다. 반면, 점진적으로 TDD 적용 범위를 넓혀가며, 과 을 확보한다.
자동화된 테스트는 가장 신뢰할 수 있는 스펙 문서 역할을 수행한다. 구체적으로, EventLogging과 같이 놓치기 쉬운 스펙을 테스트 코드로 표현한다. 따라서 테스트 코드는 개발 과정에서 중요한 역할을 하며, 코드 품질을 보장하고, 유지보수성을 향상시킨다.