빌드 품질 지표 보고서
빌드 품질 지표 보고서에는 지정된 빌드 정의에 대한 테스트 검사, 코드 변동(code churn) 및 버그 수가 표시됩니다.이 보고서를 사용하여 코드의 부분이 릴리스 품질에 얼마나 가까운지를 확인할 수 있습니다.
이상적인 경우 테스트 비율, 버그 및 코드 변동(code churn)에서 모두 동일한 그림을 보여 주지만 그렇지 않은 경우가 많습니다.불일치가 발견되면 버그 품질 지표 보고서를 사용하여 특정 빌드 및 데이터 계열의 세부 정보를 검사할 수 있습니다.이 보고서는 테스트 결과, 테스트의 코드 검사, 코드 변동(code churn) 및 버그를 결합하므로 다양한 측면을 동시에 볼 수 있습니다.
보고서 액세스, 새로 고침 또는 관리 방법에 대한 자세한 내용은 보고서(Agile)를 참조하십시오.
[!참고]
이 보고서에는 SQL Server Reporting Services로 프로비전된 팀 프로젝트를 포함하는 팀 프로젝트 컬렉션이 필요합니다.팀 탐색기를 열고 팀 프로젝트 노드를 확장한 경우 보고서가 나타나지 않으면 이 보고서를 사용할 수 없습니다.
항목 내용
|
이 보고서를 사용하여 다음 질문에 대한 답을 얻을 수 있습니다.
|
필요한 권한
보고서를 보려면 Reporting Services에서 브라우저 역할이 지정된 그룹에 할당되거나 속해야 합니다.자세한 내용은 팀 프로젝트에 사용자 추가 또는 권한 관리를 참조하십시오.
보고서의 데이터
빌드 품질 지표 보고서에 나타나는 데이터는 데이터 웨어하우스에서 파생됩니다.X축에는 플랫폼, 구성 및 빌드 정의에 대해 설정한 필터를 기반으로 보고서에 포함되는 특정 빌드가 나열됩니다.
각 세로줄은 하나 이상의 빌드에서 파생된 데이터 집합을 나타냅니다.보고서의 코드 크기가 각각 다른 경우 각 세로줄의 길이는 체크 인한 코드베이스의 크기를 나타냅니다.줄은 가장 큰 그림이 차트 높이에 꼭 맞도록 크기가 조정됩니다.수동 테스트는 빌드 후에 언제든지 실행할 수 있으며 해당 빌드와 연결됩니다.아직 실행되지 않은 테스트는 "결과 불충분"으로 계산됩니다.
다음 그림에서는 빌드 품질 지표 보고서의 샘플을 보여 줍니다.
다음 표에서는 보고서의 각 품질 지표에 대해 나타나는 정보를 설명합니다.
품질 지표 |
설명 |
---|---|
활성 버그(개수) |
빌드할 당시에 활성 상태였던 버그의 수를 나타내는 꺾은선형 차트입니다.
참고
버그는 명시적으로 빌드와 연결되지 않습니다.계산된 버그 중 일부는 차트에 나타나는 빌드에 영향을 주지 않을 수 있습니다.영역 매개 변수를 사용하여 제품 영역별로 버그를 필터링할 수 있습니다.이 방법을 사용하면 빌드에 가장 많은 영향을 줄 것으로 판단되는 버그를 보고서에 나타낼 수 있습니다.
|
코드 변동(Code Churn)(줄) |
팀에서 빌드 전에 체크 인에서 추가, 제거 및 변경한 코드의 줄 수를 나타내는 꺾은선형 차트입니다.코드 변동(code churn)은 빌드에 대해 추가, 삭제 또는 수정한 코드의 줄 수를 빌드의 전체 줄 수로 나누어서 계산됩니다. |
코드 검사(백분율) |
테스트가 적용되는 코드의 백분율을 나타내는 꺾은선형 차트입니다. |
결과가 불충분한 테스트 |
수행하지 못했거나 일시 중지된 테스트의 수를 나타내는 누적 가로 막대형 차트의 회색 부분입니다.빌드가 수행되지 않은 경우 테스트는 계산되지 않거나 결과 불충분으로 계산됩니다. |
실패한 테스트 |
빌드에 대해 실패한 테스트의 수를 나타내는 누적 가로 막대형 차트의 빨간색 부분입니다. |
테스트에 통과함 |
빌드에 대해 통과한 테스트의 수를 나타내는 누적 가로 막대형 차트의 녹색 부분입니다. |
[!참고]
테스트 결과에서 실패와 통과의 의미에 대한 자세한 내용은 테스트 계획 진행률 보고서을 참조하십시오.
다음과 같은 방법을 사용하여 보고서를 필터링할 수 있습니다.
빌드 수 및 보고서의 종료 날짜를 지정하여 X축 범위를 변경합니다.표시되는 첫 번째 빌드의 날짜는 빌드 빈도에 따라 결정됩니다.
보고서에 포함할 플랫폼, 구성 및 빌드 정의를 지정하여 보고서에 나타나는 빌드 집합을 필터링합니다.빌드 정의에 사용 가능한 값 집합은 플랫폼과 구성에 따라 달라지므로 위에서 설명한 순서대로 매개 변수를 설정하십시오.
포함할 제품 영역을 지정하여 보고서에서 계산되는 버그를 필터링합니다.이 필터는 X축, 코드 변동(code churn), 코드 검사 또는 테스트 결과에 나타나는 빌드 집합에 영향을 주지 않습니다.
자세한 내용은 이 항목의 뒷부분에 나오는 보고서 필터링을 참조하십시오.
필요한 테스트 및 빌드 관리 작업
빌드 품질 지표 보고서에서 유용한 정보를 제공하고 가능한 모든 품질 지표를 나타낼 수 있게 하려면 팀 멤버가 다음과 같은 작업을 수행하여 테스트 및 빌드를 관리해야 합니다.
빌드 시스템 구성.Team Foundation Build를 사용하려면 빌드 시스템을 설정해야 합니다.
자세한 내용은 Configuring Your Build System을 참조하십시오.
빌드 정의를 만듭니다.각각 서로 다른 플랫폼에 대한 코드를 생성하기 위해 실행할 수 있는 여러 개의 빌드 정의를 만들 수 있습니다.또한 각 빌드를 서로 다른 구성에 대해 실행할 수 있습니다.
자세한 내용은 빌드 프로세스 정의을 참조하십시오.
빌드의 일부로 자동 실행되도록 테스트 정의.빌드 정의 과정에서 빌드의 일부로 실행하거나 테스트가 실패할 경우 실패하도록 테스트를 정의할 수 있습니다.
자세한 내용은 기본 템플릿을 기반으로 하는 빌드 프로세스 정의를 참조하십시오.
코드 검사 데이터를 수집하도록 테스트 구성.코드 검사 데이터를 보고서에 표시하려면 팀 멤버가 테스트를 실행하여 해당 데이터를 수집해야 합니다.
자세한 내용은 테스트 설정을 사용하는 코드 검사 구성은 더 이상 사용되지 않습니다. 및 How to: Gather Code-Coverage Data with Generic Tests을 참조하십시오.
빌드를 정기적으로 실행.정해진 간격마다 또는 체크 인한 후에 빌드를 실행할 수 있습니다.일정 트리거를 사용할 때 정기 빌드를 만들 수 있습니다.
자세한 내용은 빌드 정의 만들기 및 빌드 실행, 모니터링 및 관리을 참조하십시오.
[!참고]
팀 멤버가 빌드 탐색기를 사용하여 빌드에 수동으로 등급을 매길 수도 있지만 이러한 등급은 빌드 품질 지표 보고서에 반영되지 않습니다.빌드 등급은 빌드 요약 보고서에 나타납니다.자세한 내용은 완료된 빌드의 품질 평가 및 빌드 요약 보고서를 참조하십시오.
보고서의 빌드 수 변경
빌드 품질 지표 보고서는 해당 보고서에 포함되는 빌드의 수 및 보고서에 적용하는 다른 필터에 따라 매우 다르게 표시됩니다.보고서에 나타나는 빌드의 수를 변경하면 보고서에서 빌드의 특정 범위에 초점을 맞출 수 있습니다.
보고서에 나타내는 빌드의 수를 설정하려면
포함할 수를 빌드 수에 입력합니다.
종료(날짜) 옆에 있는 달력 아이콘을 클릭한 다음, 보고서에 포함할 빌드가 마지막으로 실행된 날짜에 해당하는 날짜를 클릭합니다.
보고서 보기를 클릭합니다.
보고서 해석
보고서를 검토하여 특정 빌드 정의에 대해 다음과 같은 질문에 대한 답을 얻을 수 있습니다.
소프트웨어 품질은 어떻습니까?
팀에서 충분한 코드를 테스트하고 있습니까?
테스트를 통과했습니까?
코드 및 테스트 메트릭을 볼 때 팀에서 작업을 완료할 가능성이 높습니까?
테스트는 얼마나 자주 통과되며 테스트된 코드는 얼마나 됩니까?
[!참고]
회색이 칠해진 세그먼트의 비율은 테스트가 적용되는 코드 부분을 반영하지만 색칠된 세그먼트 내의 비율은 테스트를 통과하거나 실패하는 코드 부분을 대략적으로만 반영합니다.색칠된 세그먼트 내에서 녹색의 비율은 실제로 통과된 테스트의 수를 나타내므로 이러한 모호성 문제가 발생합니다.코드의 한 부분에 있는 단일 오류 때문에 많은 테스트가 실패하거나, 한 번의 실패가 코드베이스 전체에 결과를 포함하는 광범위한 디자인 오류를 나타낼 수도 있습니다.
정상 버전의 보고서
정상적인 빌드 품질 지표 보고서에는 다음과 같은 지표가 표시됩니다.
대부분의 테스트가 통과하여 녹색 영역이 크고 일부 테스트만 실패하여 빨간색 부분은 작습니다.
빨간색 비율이 20-30% 미만입니다.
다음 그림과 같이 코드 검사 및 테스트 통과 비율이 높고 시간이 경과함에 따라 증가합니다.또한 코드 변동(Code churn), 활성 버그, 결과가 불충분한 테스트 및 실패한 테스트는 모두 낮고 감소하는 추세를 보입니다.
비정상 버전의 빌드 품질 지표 보고서
비정상적인 빌드 품질 지표 보고서에는 다음 지표 중 하나 이상이 표시됩니다.다음과 같은 지침에 따라 원인을 조사할 수 있습니다.
코드 검사가 적고 코드 변동(code churn)이 많습니다.다음 그림에서는 코드 검사가 감소하고 코드 변동(code churn)이 증가하는 것을 알 수 있습니다.이 데이터는 코드를 검사하는 해당 단위 테스트 없이 새 코드를 체크 인하고 있음을 나타내는 명확한 경고입니다.
실행 중인 테스트 비율이 낮습니다.다음 그림에서는 실행 중인 테스트의 비율이 낮음을 보여 줍니다.이 데이터는 팀에서 테스트를 충분히 수행하지 않음을 나타낼 수 있습니다.리소스가 부족할 수도 있고 테스터가 현재 기능을 테스트하는 대신 테스트 자동화를 작성하는 것처럼 다른 작업을 수행하고 있을 수도 있습니다.두 경우 모두 리소스 균형이 조정되어야 합니다.
코드 변동(code churn)이 높고 코드 검사 비율이 낮습니다.코드 변동(code churn)이 높으면 변경으로 인해 버그가 발생된다는 것을 의미합니다.완벽하게 리팩터링된 프로젝트의 경우 코드 검사 또는 테스트 통과 비율에 변화가 없는 코드 변동(code churn)을 확인할 수 있습니다.그렇지 않은 경우 코드 변동(code churn)이 높으면 검사 범위가 감소되었음을 나타내고 테스트를 다시 작성해야 할 수도 있습니다.
다음 그림에서는 테스트 통과 비율이 높더라도 테스트에서 코드 변동(code churn) 비율이 높고 코드 검사 비율이 낮은 경우를 보여 줍니다.이 데이터는 실행 중인 테스트에서 새 코드를 사용하지 않음을 나타냅니다.
실패한 테스트의 비율이 높습니다.다음 그림에서는 대부분의 테스트가 적절한 코드 검사에서 실행되지만 테스트가 실패하고 있음을 보여 줍니다.이 데이터는 개발 방법이 정밀하지 않거나 제품의 초기 반복 주기에서 테스트가 너무 엄격한 경우를 나타낼 수 있습니다.
실패한 테스트는 가능한 한 빨리 해결해야 합니다.코드를 수정하는 것이 적절하지 않으면 실패한 테스트를 일시적으로 해제하고 버그를 기록해야 합니다.때때로 프로젝트 초기 단계에서는 코드 분석 오류를 긴급하게 처리하지 않아도 되지만 빨간색 섹션이 너무 커질 때까지 그냥 두면 안 됩니다.
테스트 통과 비율도 높고 활성 버그 비율도 높습니다.다음 그림에서는 테스트 통과 비율은 높지만 들어오는 버그의 비율도 높은 경우를 보여 줍니다.여러 가지 원인에 의해 이런 상황이 발생할 수 있습니다.예를 들면 테스트가 현재 제품 단계에 맞게 충분히 엄격하지 않을 수 있습니다.
초기 반복에서는 간단한 테스트가 좋지만 제품이 완성됨에 따라 보다 광범위한 시나리오와 통합에 대한 테스트가 이루어져야 합니다.테스트 방법이 구식이거나 잘못된 기능을 테스트할 수도 있습니다.이런 경우에는 테스트 기법을 전환해야 합니다.
테스트 통과 비율은 점점 증가하는데 코드 검사는 증가하지 않습니다.일반적으로는 실행되는 테스트가 많아질수록 더 많은 코드가 검사되어야 합니다.반면에 테스트 실행 및 테스트 통과 비율은 증가하는데 코드 검사에서 이에 해당하는 증가가 없으면 증분 테스트가 중복되었을 수 있습니다.
활성 버그 수만 점점 증가하고 테스트 실패는 증가하지 않습니다.활성 버그 수가 점점 증가하는데 테스트 결과에서 이에 해당하는 실패를 나타내지 않으면 버그에서 보고하는 기능과 테스트 중인 기능이 서로 다를 수 있습니다.
활성 버그 수는 점점 감소하는데 테스트 통과는 증가하지 않습니다.활성 버그 수는 감소하고 있는데 테스트 통과 비율이 증가하지 않으면 다시 활성화 비율이 커질 수 있습니다.
회색 영역이 큽니다.회색 세그먼트는 빌드되지 않았거나 지정된 빌드 내에서 테스트되지 않은 코드를 나타냅니다.이 데이터는 지정된 빌드 중 하나 이상이 기간 내에 실행되지 않은 경우 정기 보고서에만 나타납니다.
보고서 필터링
다음과 같은 방법을 사용하여 빌드 품질 지표 보고서를 필터링할 수 있습니다.
빌드 수 및 보고서의 종료 날짜를 지정하여 시간 간격을 변경합니다.
보고서에 포함할 플랫폼, 구성 및 빌드 정의를 지정하여 보고서에 나타나는 빌드 집합을 필터링합니다.
[!참고]
테스트를 실행하지 않거나 일부 또는 모든 테스트를 실행하도록 빌드 정의를 구성할 수 있습니다.보고서는 빌드 정의의 구성에 따라 크게 달라집니다.
포함할 제품 영역을 지정하여 보고서에서 계산되는 버그를 필터링합니다.
다음 그림에서는 사용 가능한 필터를 보여 줍니다.
다음 절차에서 지정하는 순서대로 필터를 적용해야 합니다.일부 필터에서 사용할 수 있는 옵션은 이전에 설정한 필터에 따라 다릅니다.
보고서에 나타나는 빌드를 필터링하려면
포함할 수를 빌드 수에 입력합니다.
종료 날짜 옆에 있는 달력 아이콘을 클릭한 다음, 포함할 빌드의 마지막 날짜를 클릭합니다.
플랫폼 목록에서 포함할 각 플랫폼의 확인란을 선택합니다.
구성 목록에서 포함할 각 구성의 확인란을 선택합니다.
빌드 정의 목록에서 포함할 각 빌드 정의의 확인란을 선택합니다.
보고서 보기를 클릭합니다.
보고서에 표시되는 버그 수를 필터링하려면
영역 목록에서 포함할 각 테스트 결과의 확인란을 선택합니다.
이 단계에서는 테스트 결과의 계층 구조에 따라 보고서를 필터링합니다.
보고서 보기를 클릭합니다.