소프트웨어 정적 시험 절차
2023. 10. 17. 10:25ㆍ무기 체계 소프트웨어/Validation
1. 소프트웨어 정적 시험 계획 수립 절차
- 소프트웨어 정적시험 계획은 다음 내용을 포함한다
- 시험대상 항목(CSCI, CSC, CSU 등이며 최소 시험단위는 파일임) 및 시험 기준 설정방법
- 정적 시험 시기 및 환경 구축 방안(시험 도구 선정 등)
2. 시험 기준
- 결함이 검출되지 않아야 하고 소스코드 메트릭 제한값을 준수해야 한다. 결함 검출시 소프트웨어 소스 코드 수정 후 재시험하여 결함 존재 여부를 확인한다. 단, 거짓경보 및 시험 대상이 아닌 것은 결함에 포함하지 않는다.
3. 시험 종류
- 코딩 규칙 검증 : 본 매뉴얼 무기체계 소프트웨어 코딩 규칙 준수 여부
- 취약점 점검 : 소프트웨어 취약점 점검(CWE-658/659/660)
※ 자동화 도구에서 지원하는 취약점 점검 항목은 모두 적용하고, CWE 목록 중 도구가 지원하지 않는 항목에 대해서는 대안과 사유를 제출하고 사업 관리부서, 기술지원기관과 협의하여 결정
※ CWE(Common Weakness Enumeration)는 소프트웨어 보안 및 품질 강화를 위해 개발 시에 참고할 수 있도록 소프트웨어 취약점을 표준화한 목록으로서, 미국 비영리 공익 기관인 MITRE가 제공 ※ CWE-658/659-660 C/C++/Java 언어로 소프트웨어를 개발할 때 소프트웨어 소스 코드에 발생 빈도가 높은 취약점 목록 |
- 소스코드 메트릭(Code Metric) 점검(함수 기준)
메트릭 | 제한값 | 비고 |
Cyclomatic Complextiy (복잡도) |
20이하 | |
Number of Call Levels (중첩도) |
6이하 | 함수 내 조건문 등의 외대 중첩(Nesting)의 깊이 |
Number of Function Parameters (파라미터) |
8이하 | |
Number of Calling Function | 8이하 | 이 함수가 몇 개의 다른 함수에 의해 호출되는가? |
Number of Called Function | 10이하 | 이 함수가 몇개의 다른 함수를 호출 하는가? (같은 함수를 호출시는 1로 계산) |
Number of Executable Code Lines (실행 코드) |
200이하 |
4. 시험 확인서, 후속 조치 사항
- 소프트웨어 신뢰성 시험도구의 한계로 인한 결함 중 거짓경보의 경우 해당 소스 코드를 확인하여 거짓경보 여부를 분석하고, 거짓경보에 대한 설명 자료를 추가한다.
- 규격화시 소프트웨어통합시험결과서(STR)에 최신화 반영한다.
'무기 체계 소프트웨어 > Validation' 카테고리의 다른 글
소프트웨어 보안성 시험 절차 (0) | 2023.10.20 |
---|---|
소프트웨어 동적 시험 절차 (0) | 2023.10.18 |
소프트웨어 신뢰성/보안성 시험 절차(1) (0) | 2023.10.16 |