CAST

어플리케이션 내부 품질 with CAST

거나미스 2010. 11. 18. 16:57
반응형

어플리케이션 내부 품질이란?
어플리케이션을 구성하고 있는 소스코드에 대한 품질을 뜻한다.
ISO 9126-3에 정의되고 있는 Application Internal Quality를 말하는 것으로 흔히 내부품질 이라고 표현한다.

CAST는 변경영향분석 툴인 동시에 이러한 어플리케이션 내부 품질영역에 대한 정보를 제공해주는 툴이다.

CAST에서 제공하는 품질 척도로는 Health Factor라고 크게 5가지 영역에서 측정하게 된다.
그 다섯가지 Factor는
Performance, Changeability, Robustness, Security, Transferability
로 구성된다.

각각의 항목을 살펴보면
   Performance : 성능 - 성능에 영향을 미치는 Metrics
   Changeability : 변경용이성 - 소스코드를 쉽게 변경가능한지에 대한 Metrics
   Robustness : 견고성 - 시스템이 얼마나 견고하게 구성되어 있는지에 대한 Metircs
   Security : 보안성 - 보안에 문제를 일으킬 소지를 가지고 있는지에 대한 Metrics
   Transferability : 이식성 - 현재 코드를 기반으로 빠르게 새 시스템을 구성할수 있는지에 대한 Metrics
으로 구분된다.

각각의 Health Factor는 ISO, SEI등 국제 기관의 룰 및 공식에 따라 계산되어 지는 700~800가지의 세부 Metircs을 가지고 있으며, 이러한 항목들로 측정 및 결과를 보여주게 된다.


이러한 내용들을 바탕으로 Programmer들에게 표준 개발 가이드를 제공하게되면
Application의 생명주기가 늘어나는 효과를 볼수 있게 되는 것이다. (이건 나중에 다시 Posting 예정)

Application Quality ≠ Code Quality 인 이유?
Code Quality는 단순한 소스코드에 대한 검증을 하는 것으로 전체 어플리케이션이 가지고 있는
복잡도 및 재사용성, Coupling을 측정할 수는 없다.

개인적인 의견 :
단순히 Code Quality는 해당 소스에 대한 개발자 스스로의 검증단위로 이루어지며
해당 책임소재도 역시 개발자가 지는 몫이다.

따라서 전체 Application Quality를 측정하여 QA는 이러한 내용을 바탕으로 최종 Application에 대한 품질까지 관리하여야 한다.



내부 품질을 강화해야 하는 목적은 Programmer의 개개인의 특성에 좌우되는 시스템이 아닌
개발 표준에 따른 코딩을 할수 있도록 도와주는 것이고
QA는 이러한 표준룰을 바탕으로 단지 테스트 및 릴리즈 관리 수준을 벗어나서
"시스템 전반을 체계적 관리"를  할 수 있도록 도움을 줄 수 있는 것이다.

현재 대한민국의 Application Quality에 대한 관심 및 적용도는 외국에 비해 약 10년정도 늦게 시작되고 있다.

지금이라도 이러한 것으로 체계적으로 관리한다면 비용 및 시간적인 절약을 할 수 있을 것이다.