프로그램이 실제보다 간단해보인다. 테스트케이스가 만들어저야 일정산정이 가능하다. 개발을 하면서 테스트케이스를 추가하면, 소통비용이 많이 든다. 테스트케이스 작성을 위해 새로운 코딩기법을 배울 필요는 없다. 종이와 펜만 있어도 시작 할 수 있다. 좋은 TC 작성에는 꾸준한 훈련, 상상력, 경험이 필요하다. QA 엔지니어들이 어떤 도구를 쓰고 어떤 고민과 훈련을 하는지 살펴보자 7
먼저 실패하는 테스트를 작성하고, 막무가내로 성공시키는 구현을 만들, 리팩토링을 하면서 계속해서 빌드& 테스트를 실행시키는 방식 하나의 스펙을 만드는데 수십번의 빌드가 필요한 방식 한 번의 빌드 시간이 길다면 현실성이 없음 빌드시간을 최대 30 초 이내로 줄여야 TDD 는 현실적 방안 1: 모듈화 방안 2: 의존성 미리 빌드, 방안 3: Library Test 활용 10
에 테스트 케이스 작성법을 연마하자. 요구사항을 입력과 출력으로 쪼개는 연습을 하자. 영어 공부를 할 때, 주어와 목적어를 찾아 밑줄을 쳤던 것처럼. 종이에 적힌 테스트케이스는, 설령 자동화된 테스트에 활용되지 못하더라도, 수동 테스트를 할 때, 커밋메시지를 쓸 때, PR 을 날릴 때 활용 될 수 있다. 11
MyViewController() await viewController.doSomeBusinessLogic() XCTAssert( viewController.axSnapshot() == """ ------------------------------------------------------------ The question is, The answer to the Life, the Universe, and Everything button ------------------------------------------------------------ The answer is, 42 button ------------------------------------------------------------ """ ) } 18