연관토픽
개념
- 기계나 기타 제어가 필요한 시스템의, 특정 기능을 수행하는 컴퓨터 시스템 (응용프로그램 또는 시스템)의 기능, 비기능 요구사항이 사용자가 요구하는 수준을 만족하는지 확인하기 위한 결함을 발견하는 메커니즘
임베디드 시스템 테스트 특징
특징 | 설명 |
다양한 플랫폼 (Platform Diversity) |
플랫폼(H/W, OS 등)이 매우 다양하여 기존의 범용 시스템의 테스팅 도구를 그대로 적용하기 어려움 |
시간 제약 (Real Time Constraint) |
임베디드 소프트웨어는 기능성 뿐만 아니라 시간제약의 속성을 가지고 있어 범용 테스팅 방법을 적용하기 어려움 |
동시성 (Concurrency) |
순차적으로 소프트웨어를 테스팅하는 기존의 방식으로는 생동감(Liveness) 과 안정성(Safety) 오류를 테스팅 하기 어려움 |
하드웨어 의존성 (H/W Dependance) |
소프트웨어와 하드웨어가 긴밀한 연관성을 가지고 있어 기존의범용 테스팅 방법과 도구로는 특화된 임베디드 소프트웨어를 테스팅 하는데 어려움 |
이벤트 기반 (Event Driven) |
User-Driven 기능과 Event-Driven 기능이 혼재됨 |
임베디드 시스템 테스트 모델
모델 | 동작원리 | 설명 |
DESS-V | ![]() |
- 상위에서는 통합검증을 수행하고, 하위에서 SW 상세 검증하는 모델 - H/W의 테스팅 연계 부분을 별도로 고려하여 테스트를 수행 - HW/SW 의 이원화된 개발환경 지원함 - Realization-V 와 Validation-V 로 구성되며, Realization-V(구현 관점), Validation-V(확인 및 검증 관점) - DESS V 모델의 핵심은 Model Checking, Review, C-Testing, Integration Testing임 |
Multiple-V | ![]() |
- V 모델 기반한 모델로 임베디드 시스템 개발 방식을 정형화한 개발모델 - 임베디드 시스템은 모델 -> 시제품 (Prototype) -> 최종제품 단계로 진화 - 제품의 진화하는 단계마다 V-model 의 활동 전체를 수행 |
- 기본적인 V 모델에서 신뢰성을 높이기 위해 다양한 V-모델의 반복을 통해서 다양한 유형의 테스팅 기법을 이용
Multi-V 모델
- V 모델 기반한 개발 모델로 임베디드 시스템 개발 방식을 정형화한 개발모델
- 임베디드 시스템은 모델 → 시제품(Prototype) → 최종제품 단계로 진화
- 제품의 진화하는 단계마다 V-model 의 활동 전체를 수행
임베디드 시스템의 테스트 기법
(1) 테스트 환경 측면의 테스트 기법 유형
유형 | 동작원리 | 설명 |
호스트 환경 테스트 | ![]() |
- 임베디드 하드웨어에 대한 에뮬레이터(Emulator)를 이용하여 가상화하여 테스트 - 디바이스 드라이버, 메모리용량, CPU성능, 네트워크 환경 등의 정확한 에뮬레이션 어려움 - 실제 동작시에 예외적인 이상에 대해서 한계가 존재 |
타겟팅 환경 테스트 | ![]() |
- 호스트 환경 테스트 후 타겟 환경에 테스트 에이전트만 탑재하여 테스트 - 임베디드 시스템 특성상 모든 상황에 대한 완벽한 에뮬레이션의 어려움 - 리소스에 대한 제약 존재 |
- 다양한 환경을 통해서 테스트를 진행과 함께 테스트 커버리지에 대한 다양한 유형과 결합하여 테스트 진행
(2) 테스트 커버리지 측면의 테스트 기법 유형
구분 | 유형 | 설명 |
명세 기반 기법 | 동등 분할 | 유사한 도메인 별로 그룹핑하여 대표 값 TC를 도출하는 기법 |
경계값 분석 | 경계 부분의 결함 발견율에 따른 경계 값 위주의 테스트 기법 | |
결정 테이블 테스트 | 결정 테이블에 입력 값과 원인의 조합을 통해서 테스트 | |
상태 전이 테스트 | 이벤트, 액션, 활동, 상태, 상태 전이 등을 이용해서 테스트 | |
유즈케이스 테스트 | 비즈니스 시나리오 기반으로 실제 운영 흐름 따라 테스트 | |
페어와이즈 조합 테스트 | 커버해야 할 기능적 범위를 보다 적은 조합으로 테스트 | |
직교배열 테스트 | 수학의 행렬의 기반하여 직교 배열을 이용하여 테스트 | |
분류 트리 테스트 | 테스트 아이디어를 시작화 하여 테스트 | |
구조 기반 기법 | 구문 | SW 내부 기능을 한번 이상 수행하는 테스트 |
결정 | 분기들이 한번 이상 모두 수행하도록 테스트 | |
조건 | 내부 조건이 참과 거짓 모두 수행되도록 테스트 | |
다중조건 | 모든 조건에 맞게 수행하는 테스트 | |
경험 기반 기법 | 탐색적 테스트 | 테스트 차터를 기반으로 정해진 시간 내에 휴리스틱 테스트 |
에러 추정 테스트 | 각 시험기법에서 놓치기 쉬운 에러 케이스 위주로 테스트 | |
체크 리스트 | 내용과 경험을 나열해 놓은 체크리스트 기반으로 테스트 | |
특성 테스트 | ISO 9126-2의 품질 특성 기준으로 경험적인 테스트 |
- 다양한 이벤트에 대한 테스트 커버리지의 테스트 케이스들을 추출하여 Record & Replay 기법으로 반복 테스트
모범답안