임베디드 테스팅 필요성
- 오동작/결함 발생 시 하드웨어 생산과 같은 피해가 심각하다
- 높은 SW 신뢰성이 요구된다
- Mission critical 특성을 띈다
임베디드 테스팅의 어려움
- https://grapevine9700.tistory.com/130?category=661764
- 특정 하드웨어 개발이 병행되어 개발되는 경우가 많고, 최적화가 요구되는 하드웨어의 의존성이 높아 하드웨어 자체의 능력이 잘 검증된 경우와 달리 하드웨어의 샘플이 적거나 제약이 있다
- 결함 재현이 어려운 경우가 많으며 결함 원인을 찾기 위한 정보를 수집할 수 있는 방안이 디버깅 기능의 제약이 따른다
- 소프트웨어가 독립적으로 동작하는 것보다 융합되는 시스템에 탑재되어 주변 환경과 상호작용하는 상황의 동작이 중요하다.
- 제품 사이클과 시장 선점을 위해 일정이 짧아지고, 본격적인 테스트 통합이 이루어지는 프로세스 후반으로 밀려 결함 가능성이 높아지며 결함 원인과 식별이 어려워진다.
임베디드 시스템의 잠재적인 문제
- 필요한 오퍼레이션을 적시에 수행하는 것이 마이크로프로세서의 능력을 넘어섬
- 워치도그 타이머에 의해 야기된 불필요한 리셋
- 파워 모드에서의 이상
- 시스템의 하드웨어 주변장치로의 부정확한 인터페이싱
- 제한된 리소스(스택, 힙 등)의 용량을 초과
- 이벤트 반응 마감시간(deadlines)을 맞추지 못함
품질 확보 방안
- S/W 품질의 객관적 지표 사용
- Top-down 접근 프로세스 사용
마치며
임베디드 제품을 다루며 프로젝트에서 요구되는 HW or 시스템에 따라 약간의 차이는 존재하지만 가시적인 기능 리스트는 크게 다르지 않았다.
하지만 세부적인 End to End 테스팅 시 서버가 존재하고 End 사이에 기기가 많아질수록 의존성이 생기고 상황마다 동작을 봐야하고, 결함 발생 시 원인 파악 및 타팀과의 커뮤니케이션의 어려움이 있다고 느끼고 있다.
이러한 문제와 한계점을 극복하기 위해서는 SW에 대한 이해도뿐만 아니라 HW에 대한 지식, 코드 레벨 파악을 통해서 성능적인 측면을 극복하고자 하는 노력이 요구된다고 생각된다. 임베디드 기기는 사람에게 직접적으로 영향을 끼치는 경우가 많고 만일 결함 패치가 SW 업데이트를 통해서 해결이 되면 다행이지만 극단적으로 차량 리콜 사태와 같은 재생산 시 비용 문제가 심각하기 때문이다.
'IoT' 카테고리의 다른 글
어려운 임베디드 테스팅(Embedded testing) (0) | 2021.11.01 |
---|
Comment