SW자원사용량검증센터

차량용 SW 자원 사용량 검증 센터를 통해 효과적인 엔지니어링 서비스와 솔루션을 제공합니다.

SW 신뢰성

PIL(Process In the Loop) 테스트

테스트 대상 소프트웨어가 실제로 실행된 타깃 하드웨어와 같은 환경에서의 소프트웨어 단위 테스트 필요
(ISO26262 권고사항)

  • 소프트웨어의 설계 검증 : 테스트 Input 에 대한 예상되는 Output 값 검증​
  • 소프트웨어의 성능 검증 : 실행시간, 리소스(메모리) 사용량​

ISO26262 part 6 – 단위/통합 시험 환경 관련

[SW 단위/통합 시험 환경]
  • 9.4.6 : 소프트웨어 단위 시험은 실제 구현하기 위한 대상 환경에 가능한 가깝게 구성​
  • 10.4.8 : 소프트웨어 통합 시험은 실제 구현하기 위한 대상 환경에 가능한 가깝게 구성​
  • 9.4.6/10.4.8 : 대상 환경에서 실시되지 않으면 이후의 시험 단계 동안 대상 환경에서 추가 시험을 명세하기 위해서 소스 코드와 목적 코드의 차이, 시험 환경과 대상 환경의 차이가 분석되어야 한다.​
  • 9.4.5 비고 3 : 커버리지 시험 관련 환경, 측정을 위한 코드가 커버리지 정도를 결정하는데 사용되면 그 코드(instrumented code)가 시험 결과에 영향을 미치지 않는다는 것을 보여주어야 한다. 측정을 위한 코드가 삽입되지 않은 코드(non-instrumented code)로 시험을 반복하여 보여줄 수 있다.
[ASPICE – 소프트웨어 단위 검증 요구사항]
  • SWE.4.BP4: 소프트웨어 유닛을 시험한다.​
  • SWE.4.BP5: 양방향 추적성을 수립한다.​
  • SWE.4.BP6: 일관성을 보장한다.
SW 단위/통합 시험 내용: ASIL-D 기준
Methods for software integration testing​
Methods ASIL
A B C D
1a Requirements-based testa ++ ++ ++ ++
1b Interface test ++ ++ ++ ++
1c Fault injection testb + + ++ ++
1d Resource usage testcd + + + ++
1e Back-to-back comparison test between model and code, if applicablee + + ++ ++

출처:ISO26262 part6
Table 13 - Methods for software integration testing

SW 단위 동적 테스트 요구 사항(ISO26262 ASIL-D 기준)
테스트 분류 테스트 시나리오 예시(Failsafe SW의메시지 Timeout 검출 및 해제)
사양서 기반 Requirement 테스트 Timeout 에러 검출/해제 조건 만족 시 Output(DTC 발생 번호, inhibit 정보) 값 확인
Interface 테스트 Timeout 검출/해제 판단하는 함수의 인터페이스 값으로 사용되는 detect/recovery counter 값을 제어 하여 검출/해제 주기가 정상 동작하는지 테스트
Fault Injection 테스트 Timeout 검출/해제 시 precondition fault 조건을 주입 후 테스트
자원 사용량 테스트 요구사항 기반 SW 단위 테스트 시 fs_main0 함수의 실행 시간 및 Stack 사용량 분석
Back-to-back 테스트 모델 기반 개발된 코드의 경우, 모델 시뮬레이션 시 활용했던 테스트케이스를 동일하게 코드 기반으로 수행 필요