본문 바로가기
지식창고/IT 지식

소프트웨어 신뢰성 시험 - 동적 시험 Dynamic Testing

by eteo 2023. 6. 25.

 

소프트웨어 신뢰성 시험

 

소프트웨어가 일으킬 수 있는 결함을 식별하는 시험으로 정적시험과 동적시험으로 구성된다.

 

 

 

 

 

동적 시험 Dynamic Testing

 

소프트웨어를 실제 하드웨어(Target)에 탑재한 상태에서 소프트웨어통합시험절차서(STD)에 기술된 시험절차에 따라 요구사항기반으로 Code Coverage(실행률)을 점검하는 것을 말한다.

 

 

 

 

 

 

 

동적 시험 종류와 기준 설정

 

Code Coverage전체 소스 코드에서 시험된 코드를 백분률(%)로 나타낸 것이며, 그 종류는 시험 수준에 따라 Statement Coverage, Branch Coverage, MC/DC (Modified Condition/Decision) Coverage로 구분된다.

이 중 Statement 가 가장 기본적인 수준이고, Branch가 중간, MC/DC가 가장 높은수준의 시험이다.

 

시스템의 결함 발생빈도, 영향성 및 제어가능성 등 안정성 평가를한 후 수준별로 Coverage Testing 종류를 설정한다.

 

 

- DO-178에서 설계보증레벨(DAL : Design Assurance Level)에 따른 Coverage 기준

 

 

 

동적 시험 기준

 

설정된 시험종류(Statement, Branch, MC/DC)에 대한 코드 실행률을 100% 달성하여야 하며, 협의 된 예외사항(방어코드 등)은 제외할 수 있다.

 

 

 

 

 

동적 시험 종류

 

1. Statement Coverage

 

소스 코드내의 문장 중 동적 시험간 적어도 한 번 이상 시험된 문장의 비율(%)

 

 

 

 

2. Branch Coverage

 

소스 코드내의 분기문 중 동적 시험간 (True), 거짓(False)이 적어도 한 번 이상 시험된 비율(%)

 

 

 

3. MC/DC (Modified Condition/Decision) Coverage

 

소스 코드내 분기문에 있는 모든 조건식 중 개별 조건식의 독립적인 변화가 분기문의 참, 거짓에 영향을 미치는 모든 조합에 대해 동적 시험간 적어도 한 번 이상 시험된 비율(%)