테스트 로직과 인프라를 분리해 확장 비용을 줄이는 결
테스트 자동화 수업에서 테스트 로직과 실행 환경을 하나로 묶어 작성했더니 새 장비가 추가될 때마다 전체 코드를 수정해야 했습니다. 실행 환경이 바뀔 때 테스트 로직이 깨지는 구조였습니다. 그 이후로는 테스트 로직은 장비 추상화 계층을 통해서만 장비에 접근하도록 설계합니다. 새 장비는 추상화 계층에 드라이버만 추가하면 기존 테스트 로직은 수정 없이 그대로 씁니다. 팀 프로젝트에서 이 구조로 작성한 테스트 프레임워크에 새 장비를 추가했을 때 기존 테스트 케이스가 수정 없이 통과했습니다. 스케일러블한 인프라는 확장 비용이 낮아야 한다는 걸 그때 배웠습니다. 지금도 테스트 인프라는 추상화 계층 설계가 먼저입니다.