반응형

제목: 자동차 소프트웨어 테스터 자격증의 필수 지식 항목(Automotive Tester Certification), 버전 1.0

저자: gasqAutomotive Tester Board

문서유형: 자격증 Syllabus( 22페이지), 20113

 

gasq주관하는 자동차 분야의 소프트웨어 테스트 자격증(Certified Automotive Tester) 교육 프로그램의 필수 지식 항목을 간략하게 설명한 자료



gasq(The Global Association for Software Quality)

소프트웨어 품질 증진을 위해 연구기관, 학교, 산업체의 관련 활동을 널리 알리는데 기여하고자 하는 국제 협회로서, 소프트웨어 테스터, 요구사항 분석 전문가, 사용성 전문가를 위한 여러 자격증 프로그램을 지원한다


gasq Automotive Tester Board

자동차 산업의 제조 업체와 부품 공급 업체의 여러 전문가들로 구성된 위원회

기계 자동차 공학 전문가인 Dr. Hendrik Dettmering 지휘로 자동차 소프트웨어 테스터 자격증(the Certified Automotive Tester certification) 교육 프로그램의 필수 지식 항목(syllabus)을 개발


gasqAutomotive Software Tester Syllabus 버전 1.0

크게 3개 모듈로 구성되어 있다.

 

1. 모듈 1: 테스팅 기본 (7시간)

1.1. 자동차 소프트웨어 테스터 과정 소개

1.1.1 자동차 소프트웨어 테스터 과정의 구조 소개 (30): 테스팅 기본, 자동차 엔지니어링에서의 테스팅, 자동차 엔지니어링 유관 표준의 세 가지 모듈에 대해 소개

1.1.2 소프트웨어 라이프 사이클 테스팅 (60): 다양한 개발 프로세스 모델을 배우고, 테스팅의 목적과 단계를 학습하며, 개발 프로세스와 테스팅 프로세스의 밀접한 상호관계를 이해한다.

 

1.2. 테스트 프로세스와 테스트 관리

1.2.1 테스트 관리 원칙 (15): 테스트 관리의 필요성과 내용에 대하여 학습한다.

1.2.2 기본 테스트 프로세스 (30): 테스트 단계(계획 및 통제, 분석 및 설계, 구현, 평가 보고, 기타 테스팅 활동)를 식별하고, 테스트 인적 자원(테스트 관리자, 테스트 분석가, 기술 담당 등)의 역할에 대하여 이해한다.

 

1.3. 명세 기반 테스트 설계 기법(블랙박스)

1.3.1 소개 (15): 시스템 명세서를 기반으로 하는 테스트 시나리오 설계를 설명하고, 이러한 명세 기반 테스트 설계 기법들 중 자동차 소프트웨어 개발에 적용 가능한 기법들 선정

1.3.2 동등 분할(Equivalence partitioning) (20): 입출력 값을 동등 분할 하는 방법과 동등 분할 기법으로 발견 할 수 있는 결함과 테스트 커버리지에 대하여 학습한다.

1.3.3 경계값 분석(Boundary value analysis) (20): 경계 영역에서 에러 발생 가능성이 특히 높으므로, 동등 분할의 경계값을 식별하고 경계값 분석을 통해 결함을 찾는 방법을 배운다.

1.3.4 의사결정 테이블(Decision tables) (30): 입력값의 여러 조합(combinations)에 따른 의사결정을 나타내는 의사결정 테이블을 생성하고, 이 테이블에서 테스트 케이스를 도출하고 커버리지를 확인하는 방법을 배운다.

1.3.5 상태 전환 테스팅(State transition testing) (30): 유한 상태 머신(finite state machines)을 생성하고, 이 다이어그램으로부터 커버리지 기준에 따라 테스트 케이스를 도출하는 방법을 배운다

1.3.6 명세 기반 테스트 설계 기법 요약 (10): 위 설명된 여러 기법들의 성격이 각각 다르므로, 애플리케이션이나 환경(가용 자원 및 목표 품질 수준)에 따라 적절한 기법을 선정하는 방법에 대하여 배운다.

 

1.4. 구조 기반 테스트 설계 기법(화이트 박스)

1.4.1 소개 (20): 소프트웨어 내부 구조 분석을 통해 컨트롤 플로우 차트(control flowcharts)와 데이터 플로우 차트(data flowcharts)를 생성하고, 이로부터 테스트 데이터를 도출하는 방법을 학습한다.

1.4.2 문장 커버리지(Statement coverage) (10): 소스 코드의 각 문장이 적어도 한번은 테스트에서 실행되는 문장 커버리지 메트릭을 이해하고, 이 커버리지 기준을 충족하도록 테스트 케이스를 설계하는 것을 배운다.

1.4.3 브랜치 커버리지(Branch coverage) (20): 각 브랜치(분기)가 적어도 한번은 테스트에서 실행되는 브랜치 커버리지 메트릭을 이해하고, 이 커버리지 기준을 충족하도록 테스트 케이스를 설계한다.

1.4.4 경로 커버리지(Path coverage) (10): 모든 가능한 브랜치 조합(a complete coverage of combinations of all possible branches)이 적어도 한번은 테스트에서 실행되는 경로 커버리지 메트릭을 이해하고, 이 커버리지 기준을 충족하도록 테스트 케이스를 설계한다.

1.4.5 단순 조건 커버리지(Simple condition coverage) (15): 이전 커버리지들이 컨트롤 플로우를 기반으로 하는데 반해 브랜치에서의 의사 결정을 기준으로 하는 커버리지들이 있다. 단순 조건 커버리지는 소스 코드의 개별 조건(condition) 구문이 적어도 한번씩은 참(true)과 거짓(false)으로 실행될 수 있도록 테스트 케이스를 도출한다.

1.4.6 의사 결정 커버리지(Decision coverage) (5): 메트릭들을 비교하기 위해 도입된 용어인 의사결정 커버리지에 대해 학습한다.

1.4.7 다중 조건 커버리지(Multiple condition coverage) (10): 조건문의 참(true)과 거짓(false)의 모든 가능한 조합을 테스트에서 실행하는 다중 조건 커버리지를 학습하고, 이 커버리지 기준을 충족하도록 테스트 케이스를 설계한다.

1.4.8 구조 기반 테스트 설계 기법 요약 (10): 위에서 설명된 구조 기반 테스트 설계 기법(테스트 커버리지)들이 달성하는 품질 수준이 다르다는 것을 이해하고, 테스트 목적에 맞는 적절한 기법 선택에 대하여 학습한다.

 

1.5. 검토 활동(Reviews)

1.5.1 검토의 목적과 효과 (20): 개발 문서의 정적 분석(검토)을 통해 개발 단계 초기의 품질 개선이 가능하다.

1.5.2 검토 방법 (20): 검토 계획(review planning), 착수(kick-off), 참가자의 사전 준비(individual preparation), 검토 회의(review meeting), 수정/개선(revision), 검토 마무리(review completion)로 구성된 공식 검토 활동 프로세스를 이해하고, 참가자들의 역할(관리자, 기록 담당, 중재자 등)도 구분한다.

1.5.3 검토 유형 (20): 비공식 검토(informal review), 워크쓰루(walkthroughs), 기술 검토(technical reviews), 인스펙션(inspections), 관리 검토(management reviews), 감사(audits) 등의 다양한 검토 활동을 이해하고, 어떤 경우에 어떤 검토 타입이 적절하지 학습한다.

1.5.4 테스트 설계 기법 선택 (20): 다양한 패러미터(, 안전성 표준이나 기타 다른 산업 표준, ISO 26262에 따른 리스크 분류, 현 테스트 단계, 테스트/품질 목표, 가용한 프로젝트 자원 등)를 기준으로 적절한 테스트 설계 기법을 선택하는 방법을 논의한다.



2. 모듈 2: 자동차 엔지니어링에서의 테스팅 (5시간)

2.1. 자동차 엔지니어링에서의 소프트웨어 개발

2.1.1 자동차 엔지니어링 분야의 소프트웨어 테스팅 원칙 (30): 자동차 시스템(임베디드 실시간 소프트웨어) 개발에 있어 제약사항을 이해하고, 이로 인한 소프트웨어 테스팅 이슈들을 식별한다.

2.1.2 자동차 생산 프로세스(Automotive Product Emergence Process: PEP) (30): 다양한 분야의 협업이 요구되는 자동차 PEP의 기본 구조를 이해하고 관련 이슈들에 대해 학습한다.

2.1.3 샘플 레벨 (30): PEP 개발 프로세스의 품질 보증은 여러 레벨의 샘플을 사용하여 이루어지므로, 설계 적절성(suitability)을 검증하는 A-레벨 샘플, 계열(series) 생산의 적절성(suitability)을 검증하는 B-레벨 샘플, 제조용이성(manufacturability)을 검증하는 C-레벨 샘플을 구분할 수 있다.

2.1.4 소프트웨어 개발을 PEP로 통합 (30): 전통적인 자동차 구축 방식의 관점에 기반한 PEP에 소프트웨어 개발 프로세스가 적절히 통합되어야 하는데, 이는 개발과 테스팅 모두에서 복잡한 커뮤니케이션 채널을 만든다. PEP에서의 테스팅 이슈들, 특히 커뮤니케이션 채널 관련 이슈에 대해 이해한다.

2.1.5 통합 단계 (30): 소프트웨어 개발에 따른 새로운 통합 단계가 추가되는데, 자동차 개발의 통합 단계와 관련 테스트 이슈를 이해한다.

 

2.2. 가상 환경에서의 테스팅

2.2.1 소개 (50): 자동차 소프트웨어 검증을 하드웨어가 완성될 때까지 기다릴 수 없으므로 실 환경을 시뮬레이션하는 가상 환경이 사용되는데, HiL(Hardware-in-the-Loop), SiL(Software-in-the-Loop), MiL(Model-in-the-Loop) 등의 시뮬레이션 환경에 대해 학습한다.

2.2.2 HiL(Hardware-in-the-Loop) (40): HiL 시뮬레이션의 목적, 장점, 범위를 학습하고, HiL 테스트 벤치 구축에 필요한 컴포넌트를 식별한다.

2.2.3 SiL(Software-in-the-loop) (30): 특별한 하드웨어를 요구하지 않는 SiL 시뮬레이션을 HiL과 구별하고, SiL의 목표와 제약사항(, 소프트웨어적 시간 동작은 하드웨어의 시간 동작과 종종 차이가 있음)에 대해 이해한다.

 

2.3. 자동차 소프트웨어 개발 고유의 특성들

2.3.1 AUTOSAR(AUTomotive Open System ARchitecture) (10): 소프트웨어를 하드웨어로부터 분리한 AUTOSAR 프레임워크의 목적과 테스트 프로세스에 미치는 영향을 이해한다.

2.3.2 운영 모드(Operating modes) (10): 정상적인 운영 모드 외에 기타 모드들이 존재하므로, 다양한 모드에서의 기능 검증이 필요하고 운영 모드들간의 전환에 대해서도 테스트에서 고려해야 함을 이해한다.

2.3.3 가능한 옵션들의 증가에 따른 테스트 케이스 수 증가 문제(Proliferation of options) (20): 유연한 자동차 커스토마이징 특성은 테스트에서 무수히 많은 변형(variants)의 검증을 요구하는데, 변형들간의 조합으로 인해 기하급수적으로 증가하는 테스트 케이스 수를 효과적으로 감소시키는 all-pairs 기법과 orthogonal array 기법에 대해 학습한다.

 

3. 모듈 3: 자동차 엔지니어링 관련 표준 (9시간)

3.1. 기능 안전성 – ISO 26262

3.1.1 소개 (15): IEC 61508를 대신해 자동차 기능 안전성 표준으로 자리잡아가는 ISO 26262의 구조, 내용, 소프트웨어 테스팅 관련 측면을 학습한다.

3.1.2 목적 (30): 안전성 요구사항을 기술하고 있는 ISO 26262의 목적 및 대상을 이해한다.

3.1.3 현업 적용 (15): ISO 26262 표준이 현업의 모든 상황에 정확히 일치할 수는 없지만, 관련 업체들의 ISO 26262 표준 준수 필요성에 대해 이해한다.

3.1.4 자동차 안전성 통합 레벨(Automotive Safety Integrity Level: ASIL) (180): 특정 결함이 안전성에 미치는 영향(발생 빈도, 통제 가능성, 심각도)을 측정하는 ASIL의 구조, 메트릭 산정 방법, 위험 평가 기법(Risk evaluation techniques), 메트릭 적용 분야에 대해 학습한다.

 

3.2. 자동차 SPICE

3.2.1 소개와 목적 (30): 자동차 분야에 특화된 프로세스 평가 표준인 자동차 SPICE’의 기원과 적용 대상 및 분야에 대하여 학습한다.

3.2.2 성숙도 레벨 (30): 6 레벨의 프로세스 성숙도를 가진 자동차 SPICE 평가 모델을 이해한다.

3.2.3 프로세스 영역 (60): 자동차 SPICE 모델의 프로세스(일차적인 라이프 사이클 프로세스, 조직의 라이프 사이클 프로세스)를 이해한다.

3.2.4 자동차 SPICE의 테스트 관리(150): 테스트용이성 분석(Testability analysis), 자동차 SPICE에서 사용하는 정적 및 동적 테스팅 기법, IEEE 829에 기반한 테스트 문서화(Test documentation)에 대하여 학습한다.

3.2.5 자동차 SPICE 엔지니어링/지원 프로세스에서의 테스팅 (60): 자동차 SPICE의 엔지니어링 및 지원 프로세스상에 녹아 있는 테스팅 활동을 이해한다.

 

3.3. 자동차 SPICEISO 26262 비교 (30)

각각 다른 목적을 가진 자동차 SPICEISO 26262의 장단점을 이해하고, 조직의 테스트 전략이나 프로젝트의 목표에 맞게 두 가지 표준을 조정하고 활용하는 방법을 학습한다.


반응형

+ Recent posts