제품을 X축, Y축, Z축으로 각각 흔든다. 어떨 때는 눈에 보일 정도의 떨림을 주면서 흔들고, 어떨 때는 진동으로 인해 고주파 소리는 나지만 눈에는 거의 보이지 않을 정도의 흔들림도 있다. 소프트웨어 분야와 마찬가지로 여기도 흔들림이라는 외부 요인을 잘 입력하는 것만큼 그로 인해 제품이 받는 영향을 데이터로 모니터링하는 것을 중요하게 생각한다. 어떤 분야든 엔지니어링에는 공통점이 있는 것 같다. 시험을 하기 전후로 시스템 기능 점검을 하며 진동의 영향으로 제품에 문제가 발생하는지 점검한다. 경험이 있는 동료의 말에 의하면 진동시험을 하다보면 내부의 볼트가 풀리거나 기구물이 망가지는 경우가 있다고 한다. 내가 속한 세상에서 걱정해본 적 없는 일이라 서로의 다름을 또한 느낀다. 오늘 나는 이곳에서 각 축의 테스트가 끝날 때 마다 소프트웨어의 주요 기능을 돌리며 결과를 확인하는 일을 한다. 사실 소프트웨어의 동작과 하드웨어의 진동은 거의 직교적(서로 완전히 독립적인)이라고 생각하지만 우리는 늘 예상하지 못한 문제를 이런 곳에서 만난다. 그래서 점검을 소홀히 할 수는 없다. 사실 이번 시험을 통해서 우리(소프트웨어 팀)는 진동의 영향 보다는 그 동안 바쁘게 개발해오며 조금 소홀히 한 제품 통합 테스트를 빡세게 하고 있다. 너무 당연하게도 많은 문제들을 만났고 나는 이것들을 기록해 두기 바쁘다. 역시 진동과는 무관한 시스템의 사소한 문제들이다. 때마침 다른 동료들이 휴가를 가고, 결혼을 하고, 코로나에 걸려 혼자 있게 되어 모든 것을 다 신경쓰느라 힘들기도 하고 바쁘다. 그래도 이렇게 현장에서 실제 제품이 마주할 환경을 나도 마주하고 있으니 많은 것을 배우는 것 같다. 한 가지 매우 특별한 느낌을 받는 부분은 테스트 프로그램에 대한 생각이다. 나는 커리어 기간 동안 외부 업체에서 의뢰한 하드웨어 시스템의 테스트 프로그램을 많이 만들어 왔다. 어떨 때는 이런 외주가 끊임 없이 들어와 지긋지긋하고 내가 무슨 의미있는 일을 하고 있는지 회의적인 시선을 가진적이 있었다. 오늘 진동시험 시험 전후로 기능 점검을 반복해서 하다보니 내가 예전에 만들던 자동화된 소프트웨어가 있었으면 좋겠다는 생각이 절로 든다. 테스트를 위한 환경 세팅을 자동으로 해주고, 어떤 일련의 테스트 케이스들을 실행하고 결과를 체크하여 한 장의 레포트로 만들어주는 그런 흔하디 흔한 프로그램 말이다. 하루 종일 손가락을 바쁘게 놀렸더니 저녁이 되어 무척 피곤하다. 그래도 집에 가기 전 다음 시험에 내 손가락을 조금 더 쉬게 해주고 싶어 리눅스 쉘 스크립트로 자동화 스크립트를 짠다. 시험 운영에 필요한 일이 훨씬 줄었다. 완전한 자동화를 위해서는 더 많은 인프라와 노력이 필요하지만 이 정도도 충분한 것 같다. 아무튼 오늘 힘들었지만 필드에서 느끼는 생동감이 있다. 다음에는 열-진공 시험도 있다고 하는데 꼭 직접 참여해 봐야겠다.