경험 중심 1인칭 답변
저는 하드웨어와 소프트웨어를 각각 의존성 없이 테스트한 경험이 있습니다. 임베디드 과제에서 센서 보드 없이 소프트웨어 시뮬레이터만으로 로직을 먼저 검증했고, 이후 실물 보드에 올렸을 때 수정 범위가 인터페이스 레이어 3곳으로 줄었습니다. 하드웨어 강점은 실시간 처리와 전력 효율이고, 소프트웨어는 업데이트와 유연한 로직 변경이 쉬운 점이라고 생각합니다.
두 강점이 합쳐질 때 가장 어려운 부분은 타이밍 동기화라는 것도 직접 겪어 알았습니다. 앞으로도 하드웨어·소프트웨어 경계를 명확히 나누고 각자 독립 검증하는 방식을 유지하겠습니다. 앞으로도 하드웨어·소프트웨어 경계를 다룰 때 인터페이스 레이어를 먼저 정의하고 양쪽을 독립 검증하는 방식을 유지하겠습니다.
통합 테스트 전에 각 레이어가 독립적으로 동작하는지 확인하면 디버깅 범위가 절반으로 줄어듭니다. 타이밍 동기화는 설계 단계에서 명시해야 나중에 찾기 어렵습니다.