정보관리기술/소프트웨어공학

임베디드 소프트웨어 테스트(Embeded Software Test) / ①

아이티신비 2024. 1. 10. 08:30

문제9) 임베디드 소프트웨어 테스트(Embeded Software Test)

답)

 

 

1. 초연결 사회를 위한, 임베디드 소프트웨어 테스트 품질 필요성

  • 산업용 임베디드 소프트웨어는 오동작 또는 결함으로 인한 피해가 매우 크므로 신뢰성, 품질이 중요

 

2. 임베디드 소프트웨어 테스팅 제약사항과 테스팅 주요 기법

가. 임베디드 소프트웨어 테스팅 제약사항

테스트 제약사항
테스팅 기법
테스트 접근방향
  • 산업용 임베디드 소프트웨어 품질 확보의 가장 중요한 과정으로 대부분의 결함들이 테스트 과정에서만 식별 가능

 

나. 임베디드 소프트웨어 테스팅 주요기법

구분
기법
항목
설명
테스트 모델
  • Dess-V:상위에서는 통합검증을 수행하고 하위에서 SW상세 검증하는 모델(H/W 테스팅 연계 부분을 고려하여 테스트를 수행)
  • Multiple V:V 모델 기반한 모델로 임베디드 시스템 개발 방식을 정형화한 개발 모델
  • 임베디드 시스템은 모델→Prototype최종제품
소프트웨어
테스트 기법
(ISO29119-Part4)
명세기반
기법
주요 테스트 기법
  • 동등분할, 경계값 분석, 결정 테이블, 페어와이즈 조합, 직교배열, 분류트리, 상태전이 테스트
상태전이 테스트
  • 이벤트, 액션, 활동, 상태 전이 등을 이용해서 테스트
  • 임베디드 테스트 방식으로 많이 사용
구조기반
기법
주요 테스트 기법
  • 구문, 결정, 조건, 다중조건, MC/DC 테스트
MC/DC 테스트
  • 전체 조건식 결과에 독립적 영향을 주는 테스트
  • 모든 조건에 맞게 수행하는 테스트
경험기반
기법
주요 테스트 기법
  • 특성, 에러 추정, 체크리스트, 탐색적 테스트
탐색적 테스트
  • 테스트 차터를 기반으로 정해진 시간 내에 휴리스틱 테스트
하드웨어
테스트 기법
검사기법
주요 테스트 기법
  • 블랙박스, 그레이박스, 화이트박스
물리적기법
경계스캔
(Boundary Scan)
  • 반도체 등의 PCB, 통합회호 검사 등에서 사용
  • JTAG(Joint Test Action Group)에서 개발, IEEE1491표준, BSDL(Boundary Scan Description Language)
기능
테스트 기법
Record and Replay
  • 이벤트기반 시스템에서 발생하는 각종 이벤트들과 그 발생 시간을 저장하고 저장된 이벤트를 재실행시켜서 문제점을 찾아내는 테스팅 기법
임베디드
기능
안전표준
  • ISO/IEC Guide51 : 제품 규격 안전 규정 가이드 라인
  • ISO/DIS26262 : 자동차 기능안전 규격
  • MISRA 코딩 규칙 : ISO26262 Part6 SW요구사항에 따른 코딩 규칙(자동차, 철도 등 산업제품 사용)
  • IEC61508 : 기능 안전표준
  • IEC60601/62304 : 의료기기 안전규격
  • IEC61511 : 프로세스 산업 안전규격
  • DO-178BC : 항공안전 소프트웨어 인증 표준
  • 기존 소프트웨어 테스팅과 임베디드 소프트웨어 테스팅 방식의 프로세스 절차와 자동화 솔루션 도입 필요

 

3. 임베디드 소프트웨어 테스팅 사례와 자동화 도구 종류

가. 임베디드 소프트웨어 테스팅 사례(Consumer Electronics - 전자제품 테스트)

오류유형
원인분석
대처방안
테스팅 목적
  • 고객 전자제품 임베디드 DTV board set 소스코드 기능 분석(함수, 자료형, 제어흐름, 스크립트 등 기능)
  • 소스코드 구조 분석과 제품 정확성, 신뢰성, 안정성 준수 여부 목적
메모리 오류
  • 동일위치, 입력에 따라 프로그램 출력 다름
  • 프로그램 상태 의존적, 입력 영향, 오류원인 등 파악
  • 입력 다른 위치 발생
  • 프로그램 입력에 따른 다른 위치 오류 검출
  • 시험 전 프로그램 상태 설정
  • 개발자에게 보고
Aborted
  • Signal 발생
  • 프로그램 내의 예외처리 루틴 실행
  • 해당 케이스 확인 후 개발자에게 보고
시간초과
  • 기본 생성자에서 발생
  • 무한 루프 의심
  • 개발자에게 보고
  • 임베디드 소프트웨어 테스트 전문기업의 슈어소프트테크(주)(2008.11)전자제품 테스트 요건과 사례를 설명함

 

나. 임베디드 소프트웨어 테스팅 자동화 도구 종류

구분
항목
설명
상용소스(인터페이스 기반 테스트 솔루션)
AMOS(Analytic Master Of System)(현대자동차-이화여대)
  • 현대/기아차 표준 검증 프로세스 양산 검증 도구로 선정되어 차량 인포테인먼트 시스템 최종 품질인증 수행
Justitia(삼성전자-이화여대)
  • ARM9T 계열의 32bit 마이크로 프로세서의 임베디드 리눅스 2.4/2.6 버전
  • ARM11 계열의 64bit 마이크로프로세서 임베디드 리눅시 2.6 버전의 임베디드 소프트웨어 테스트 도구 활용
TestOpia(삼성전자-이화여대)
  • 비즈니스 로직 Junit code
오픈소스
CppCheck
  • 임베디드 시스템 테스트 정적도구(소스코드 분석)
  • 예)배열 범위 초과 테스트, Memory Leak (누수)
GDB
  • 임베디드 시스템 테스트 동적 디버거 도구
  • 예)로직 버그, 버그 구간 설정(계산 문장)
  • 현재 산업용 임베디드 소프트웨어 테스팅 전략, 기법이 적용된 자동화 도구 도입과 이 산업에 필요한 전문인력 육성과 법/제도 도입이 시급함