소프트웨어 동적 시험 절차

2023. 10. 18. 13:24무기 체계 소프트웨어/Validation

1. 시험계획 수립 절차

- 시험 기준 설정 방법

  • 결함의 발생빈도, 영향성 및 제어가능성을 평가한 후 수준별로 코드 실행률 시험종류를 설정

※ 체계/사업 특성에 따라 관련 국제 표준(MIL-STD-822E, DO-178, IEC 61508, ISO 26262등)을 적용하여 개발할 경우에는 해당 표준을 따를 수 있다.

 

  • 동적시험을 고려한 소프트웨어 설계, 구현 및 시험 방안(복잡성, 시험용이성(Testablility), 유지보수성 등)
  • 동적시험 시기 및 환경 구축방안(시험 도구 선정 등)

2. 소프트웨어 동적시험 절차

  • 동적 시험은 연구개발주관기관 자체 또는 제 3자 검증을 통해 수행한다.
  • 연구개발 주관기관은 소프트웨어 통합시험단계에서 소프트웨어를 실제 하드웨어 (Target)에 탑재한 상태에서 소프트웨어통합시험절차서에 기술된 시험절차를 이용하여 요구사항기반으로 소프트웨어 코드 실행률을 점검하여 목표 값을 달성해야 하며 그 결과를 관련자료와 함께 사업관리부서로 제출한다. 
    ※ 하드웨어가 가용하지 않을 경우에는 체계 통합시험단계에서 수행, 자체 또는 3차검증 시험결과 및 관련자료 제출

  • 사업관리부서장은 연구개발주관기관이 제출한 자체 시험결과와 관련자료를 기술지원기관에게 통보하고 동적시험 검토를 의뢰한다.
  • 기술지원기관은 사업관리부서장으로부터 동적시험 검토 의뢰를 접수한 경우 연구개발주관기관과 협의하여 동적시험결과를 검토한다.
  • 연구개발 주간기관은 소프트웨어 동적 시험결과를 소프트웨어통합시험결과서(STR) 반영한다.
  • 소프트웨어통합시험 또는 체계통합시험 단계에서 동적시험을 수행한 이후 소프트웨어 변경사항이 없는 경우는 개발시험평가시 동적시험을 생략할 있다.
  • 목표값 미달시 시험대상 소프트웨어 소스 코드를 수정하거나 또는 필요한 조치를 취한 재시험하여 목표값 달성 여부를 확인한다.
     

3. 시험 기준

  - 설정된 시험종류(Statement, Branch, MC/DC)에 대한 코드 실행률을 100% 달성하여야 한다. 

 

4. 시험확인서 포함사항 및 후속 조치사항

  - 방어코드(Defensive Code) 등 소프트웨어 신뢰성 시험도구의 한계로 인해 목표값을 달성 할 수 없는 경우에는 도구가 시험 할 수없는 해당 소스 코드를 분석하고, 설명 자료를 추가한다.

  - 소스코드의 확장성을 고려하여 작성된 코드인 경우에는 해당 소스코드를 분석하고 관련 설명 자료를 추가한다.