개발 인력이 따로 없다보니 그동안 직접 제품 개발을 해왔다. 1년 반 정도 지나 이제는 시스템으로서 뼈대는 다 만들어졌고 성능 테스트를 진행하는 단계까지 온 상황. 하지만 몇 달째 EMC 관련 문제
개발 인력이 따로 없다보니 그동안 직접 제품 개발을 해왔다. 1년 반 정도 지나 이제는 시스템으로서 뼈대는 다 만들어졌고 성능 테스트를 진행하는 단계까지 온 상황. 하지만 몇 달째 EMC 관련 문제들과 씨름하고 있는데, 얘네들이 잡혔다가도 좀비처럼 자꾸 되살아나 끊임없이 나를 괴롭히고 있었다. 오늘 오랜만에 교수님과 미팅을 할 기회가 있었는데, 교수님께서 이제는 ‘regression test’가 필요한 때인 것 같다고 말씀하셨다. 내가 개발 중인 제품은 소프트웨어보다는 하드웨어 비중이 크고, 그것도 analog digital mixed 회로이다보니 이 테스트 방법론을 어떻게 적용해야할지 아직은 잘 모르겠지만… 핵심적인 부분은 어느 정도 파악을 한 것 같다. 아래 글은 나름대로 이해한 내용을 정리해본 것이다. —— Regression test (회귀 테스트) 수시로 업데이트되는 시스템(제품)에서는 이전에 해결되었던 문제가 다시 발생하는 상황이 빈번히 일어날 수 있다. Regression test는, 1) 이러한 상황에 대비하여 효과적인 대응 전략을 수립, 2) 문제 발생 시 빠르게 솔루션을 찾아내기 위한 목적으로 활용된다. 이 테스트 방법에 대해 간단히 설명하면, - 예상 가능한 '모든' 오동작(문제)들에 대해 그 발생 여부를 간단히 확인할 수 있는 테스트 케이스들을 작성해 목록화하고, - 시스템 설계가 변경될 때마다 그 바뀐 부분과 관련이 있는 항목들만 뽑아서 다시 테스트를 수행한다. - 과거에 해결한 적이 있는 문제에 대해서는 그것을 진단할 수 있는 테스트 케이스들을 묶어 테스트 시나리오를 만든다. - 대상 제품(시스템)의 개발이 지속되는 한, 앞서 언급된 테스트 케이스 목록 및 시나리오들 역시 지속적으로 다듬어져야 한다. 핵심은, 기술적인 문제들에 대해 어떤 관리 체계(management system)를 만든다는 데에 있다. —— https://ko.m.wikipedia.org/wiki/회귀_테스트