주로 레거시 응용 프로그램과 같은 여러 응용 프로그램에서 작업하고 있습니다. 현재 코드 범위는 매우 낮습니다 (일반적으로 10 ~ 50 %).
몇 주 후, Cobertura (현재 JaCoCo로 마이그레이션하는 경우에도 코드 커버리지 도구)의 패키지 또는 클래스 제외에 대해 방갈로르 팀 (인도에서 개발의 주요 부분이 이루어짐)과 반복적으로 논의하고 있습니다.
이들의 관점은 다음과 같습니다. 애플리케이션의 일부 계층에 대한 단위 테스트를 작성하지 않기 때문에 (1) 이 코드는 코드 적용 범위 측정에서 제외해야합니다. 다시 말해, 코드 범위 측정을 테스트 되거나 테스트 되어야 하는 코드로 제한하려고합니다 .
또한 복잡한 클래스에 대한 단위 테스트를 수행 할 때 순수한 코드 적용 측면에서 이점은 큰 응용 프로그램으로 인해 눈에 띄지 않습니다. 코드 범위의 범위를 줄이면 이러한 노력이 더 눈에 띄게됩니다 ...
이 방법의 관심은 테스트 가능한 것으로 간주되는 응용 프로그램 부분의 현재 상태를 나타내는 코드 적용 범위 측정법이 있다는 것입니다 .
그러나 내 견해는 우리가 어떻게 든 인물을 위조하고 있다는 것입니다. 이 솔루션은 노력없이 더 높은 수준의 코드 적용 범위에 도달하는 쉬운 방법입니다. 저를 괴롭히는 또 다른 요점은 다음과 같습니다. 만약 우리가 일주일에서 다른 주로 커버리지 증가를 보이면,이 좋은 소식이 개발자들의 훌륭한 작업 때문인지 아니면 새로운 배제 때문인지 어떻게 알 수 있습니까?
또한 코드 적용 범위 측정에서 무엇이 고려되는지 정확히 알 수 없습니다. 예를 들어, 코드 적용 범위가 40 % 인 10,000 줄의 코드 응용 프로그램이있는 경우 코드 기반의 40 %가 테스트되었음을 공제 할 수 있습니다 (2) . 그러나 제외를 설정하면 어떻게됩니까? 코드 적용 범위가 이제 60 % 인 경우 정확히 무엇을 공제 할 수 있습니까? "중요한"코드베이스의 60 %가 테스트 되었습니까? 내가 어떻게 할 수있는
내가 걱정하는 한, 나는 우리가 그것에 대해 기쁘지 않더라도 "실제"코드 적용 범위 값을 유지하는 것을 선호합니다. 또한 Sonar 덕분에 코드 기반을 쉽게 탐색하고 모든 모듈 / 패키지 / 클래스에 대해 자체 코드 적용 범위를 알 수 있습니다. 물론 글로벌 코드 범위는 여전히 낮습니다.
그 주제에 대한 당신의 의견은 무엇입니까? 프로젝트는 어떻게합니까?
감사.
(1) 이 계층은 일반적으로 UI / Java Bean 등과 관련이 있습니다.
(2) 사실이 아니라는 것을 알고 있습니다. 사실, 그것은 내 코드베이스의 40 % 만 의미합니다.