개발 생명주기의 각 단계와 그에 상응하는 소프트웨어 테스트 단계를 매핑한 모델.
핵심 특징
- 테스트 설계와 같은 테스트 활동을 코딩 이후가 아닌 프로젝트 시작 시에 함께 시작 → Shift Left
- Test basis의 quality가 중요 → V&V (Verification, Validation) 강조
- Test 역시 PDCA 중요 (특히 Plan), TC(Test Case) 문서화
좌·우 매핑
좌측: SDLC (Software Development Life Cycle)
- 고객/사용자 요구사항
- 요구사항 개발(분석)
- 아키텍처 설계
- 상세 설계
- 구현(코딩)
우측: STLC (Software Testing Life Cycle)
- 단위 테스팅
- 통합 테스팅
- 시스템 테스팅
- 인수 테스팅
→ 좌측 각 단계는 우측 대응 테스트 단계와 짝을 이룬다 (예: 상세 설계 ↔ 단위 테스팅, 아키텍처 설계 ↔ 통합 테스팅).
자동차 분야 적용
자동차 개발 프로세스와 SW 개발 프로세스의 매핑:
- 선행 개발(제안, 착수) → 제품 개발(샘플 #1, #2, #3 — V-Model Cycle) → 양산 (고객 인도)
- 요구사항 단계: 아이템 정의 → 시스템 요구사항 → SW 요구사항
- 아키텍처/설계 단계: 시스템 설계 → SW 구조 설계 → SW 단위 설계
- 구현: SW 구현
- 테스트 단계: SW 단위 테스트 → SW 통합 테스트 → SW 기능 테스트 → 시스템 테스트 → 차량 레벨 테스트
IVM (Iterative V-Model)
자동차 분야 실제 개발 프로세스 예시:
- 차량 시제품 단계: T/Car → Proto → M/Car → P1 → P2 → 양산
- 각 단계별(Release #1, #2, …) 반복적인 V-Cycle 수행 = Incremental
- V-Cycle: 개발 범위 선정 → SYS/SW 요구사항 및 아키텍처 설계 → 구현 → 테스트 → 배포
- 하부 지원 활동: 형상관리, 프로젝트 관리, PRM, 측정 및 분석
ISO 26262 안전 생명주기와의 매핑
ISO 26262의 안전 생명주기는 V-Model 위에 안전 활동을 통합한 형태이다. SW 개발은 Part 6에서 다음과 같이 V-Model 단계와 매핑된다.
| ISO 26262 Part 6 | V-Model 단계 |
|---|---|
| 6-6 SW 안전 요구사항 명세 | 좌측 — SW 요구사항 |
| 6-7 SW 아키텍처 설계 | 좌측 — 아키텍처 설계 |
| 6-8 SW 유닛 설계 및 구현 | 좌측 — 상세 설계 + 구현 |
| 6-9 SW 유닛 검증 | 우측 — 단위 테스팅 |
| 6-10 SW 통합 및 검증 | 우측 — 통합 테스팅 |
| 6-11 임베디드 SW 테스트 | 우측 — 시스템/인수 테스팅 |
→ ASIL이 높을수록 단계별 권장 기법이 더 엄격해짐 (ASIL별 적용 기법 표 참조).
V&V 영역 매핑
V-Model 단계는 Verification과 Validation의 영역으로 구분된다 (일반적인 분류, 다르게 구분도 가능).
| V-Model 좌측 | V-Model 우측 | V&V 영역 |
|---|---|---|
| 요구사항 정의 | 인수 테스팅 (사용자 테스팅) | Validation (“올바른 제품인가”) |
| 요구사항 분석 | 시스템 테스팅 | Validation |
| 아키텍처 설계 | 통합 테스팅 | Verification (“올바르게 만들었는가”) |
| 상세 설계 | 단위 테스팅 | Verification |
| 구현/코딩 | — | Verification |
→ 우측 상단(시스템·인수 테스팅)은 사용자 의도와의 합치 검증, 우측 하단(단위·통합 테스팅)은 명세 부합 검증.
지원 프로세스 (V 전 구간 적용)
V-Model의 좌·우 단계 활동과 별개로, V 전체 구간에 가로지르는 지원 프로세스가 존재한다.
| 지원 프로세스 | 역할 | 주요 페이지 |
|---|---|---|
| 소프트웨어 형상 관리 (Configuration Management) | 산출물의 무결성·식별·변경 통제 | 소프트웨어 형상 관리 |
| 소프트웨어 추적 관리 (Traceability Management) | 좌·우측 산출물 간 양방향 추적 | 추적성과 일관성 |
→ A-SPICE에서는 SUP (Supporting Process) 그룹의 SUP.8 Configuration Management로 정의됨.
통합 V-Model — Safety + Security + Function
자동차의 기능 안전과 사이버보안을 동일 V 위에 통합:
| 레이어 | 표준 | 흐름 |
|---|---|---|
| Security | ISO/SAE 21434 | Define Security Goals → … → Validate Security Goals |
| Safety | ISO 26262 | Define Safety Goals → … → Validate Safety Goals |
| Nominal Function | A-SPICE | Design Function → … → Verify/Validate Function |
→ 자세한 내용은 자동차 사이버보안 참조. SOTIF를 포함하면 4 레이어로 확장.
A-SPICE의 “V 모델 컨셉”
A-SPICE는 7대 핵심 컨셉 중 하나로 “V 모델 컨셉(The Tip of the ‘V’)“을 명시적으로 채택한다.
- 시스템 엔지니어링(SYS) + 소프트웨어 엔지니어링(SWE) 프로세스 그룹이 V 모델 구조를 따름
- 좌측 개발 프로세스 ↔ 우측 테스트 프로세스가 대응
- 예: SWE.3 (SW 상세 설계 및 유닛 구현) ↔ SWE.4 (SW 유닛 검증)
V 모델 좌측·우측 산출물 간에는 양방향 추적성과 일관성이 요구된다.