본문 바로가기
Software Engineering/Testing

소프트웨어 품질 메트릭

by 임아톰 2023. 4. 14.

소프트웨어 품질 메트릭이란

소프트웨어 품질 메트릭은 사용 목적을 가지고 소프트웨어의 품질을 판단하는데 도움을 주는 지표입니다. 

 

주로 지표를 측정하여 정적 분석 등에 사용됩니다. 자동차 SW와 같이 안전과 관련된 분야는 지켜야 하는 규정도 많고 이러한 규정을 지켰는지를 중요하게 생각합니다.

 

대표적인 품질 메트릭과 해당 메트릭에 대한 가이드라인을 살펴보겠습니다. 해당 가이드 라인은 자동차 업계에서 사용되는 가이드라인입니다. 업계마다 가이드 라인은 다를 수 있습니다.

 

함수 별 라인수 

말 그대로 함수 하나 당 라인 수를 의미합니다. 함수는 50 라인 이하로 작성되는 걸 권장합니다. (주석 포함 80라인) 

 

주석 비율 

주석 비율은 코드 중 주석이 차지하는 비중입니다. 자동차 업계에서는 주석 비율 20%를 권장합니다. 일반적인 IT 회사에서는 주석을 줄이는 것을 선호하는 것과 차이가 있습니다. 자동차 업계는 제품의 주기가 긴 편입니다. 오래된 코드를 유지보수해야할 일이 많고 이런 경우 주석이 유용하게 사용하기 때문에 이를 권장한다고 합니다.

 

순환 복잡도

순환복잡도는 함수 내에 독립적인 경로가 몇개 인지를 측정합니다. 이를 통해 함수의 제어 흐름이 얼마나 복잡한지 알 수 있습니다. 순환 복잡도의 기준은 10개 이하입니다. 순환복잡도는 분기문 + 1로 계산하면 됩니다.

 

Nesting Depth

함수가 얼마나 중첩문이 많은지를 측정합니다. Nesting Depth는 5이하를 권장합니다.

 

 

이외에도 함수 별 호출하는 횟수는 5개 이하, 호출되는 건수는 7개 이하를 권장합니다.

반응형