실제 하드웨어 없이 목 객체로 테스트한 경험
임베디드 프로젝트에서 센서 데이터를 처리하는 소프트웨어를 만들었는데, 실제 센서 없이도 개발해야 하는 상황이 있었습니다. 하드웨어가 한 대뿐이라 여러 명이 동시에 테스트할 수 없었습니다.
센서 인터페이스를 추상화해서 실제 센서와 목(Mock) 객체를 교체할 수 있는 구조로 만들었습니다. 목 객체는 미리 정의된 시나리오별 값을 반환하도록 하였고, 단위 테스트에서는 목 객체를 사용하여 여러 경계값을 검증하였습니다. 처음에는 인터페이스 설계가 번거롭게 느껴졌으나, 나중에 실제 센서로 교체할 때 코드 변경이 거의 없어서 그 구조가 옳았다는 것을 알게 되었습니다.
하드웨어 연동 소프트웨어 테스트는 하드웨어와 소프트웨어 로직을 분리하여 각각 독립적으로 검증할 수 있게 설계하는 것이 핵심이라고 배웠습니다. 하드웨어가 없어도 대부분의 로직을 검증할 수 있어야 개발 속도가 향상된다는 것도 깨달았습니다. 그 경험이 설계를 먼저 생각하는 습관을 만들어주었습니다.