스모크 테스트 지침
업데이트: 2007년 11월
소프트웨어에서 스모크 테스트라는 용어는 변경 내용을 제품 소스 트리에 체크 인하기 전에 코드 변경의 유효성을 검사하는 과정을 말합니다. 코드를 검토한 후 스모크 테스트를 수행하는 것이 비용면에서 소프트웨어의 결함을 식별하고 해결하는 가장 효율적인 방법입니다. 스모크 테스트는 변경된 코드 내용이 예상대로 작동하여 전체 빌드를 불안정하게 하지는 않는지 확인할 수 있도록 디자인되었습니다.
참고: |
---|
스모크 테스트라는 용어는 하드웨어 산업에서 시작된 것으로 다음과 같은 작업에서 파생되었습니다. 하드웨어 또는 하드웨어 구성 요소를 변경하거나 수리한 다음 장비를 다시 작동합니다. 스모크가 없는 경우 구성 요소는 테스트를 통과한 것입니다. |
다음 지침에서는 스모크 테스트에 대한 최선의 구현 방법을 설명합니다. 이 지침에 따라 스모크 테스트를 수행하면 팀 구성원 간의 의사 소통이 원활해질 뿐만 아니라 테스팅 및 디버깅 도구를 사용하는 특정 방식을 개발할 수 있습니다.
개발자 작업
스모크 테스트는 변경된 코드를 중점적으로 다루기 때문에 코드를 작성한 개발자와 함께 작업해야 하며 다음 내용을 이해하고 있어야 합니다.
코드에서 변경된 내용. 변경 내용을 이해하려면 사용된 기술도 이해해야 합니다. 개발자의 도움을 받으십시오.
변경 내용이 기능에 영향을 미치는 방식
변경 내용이 다양한 구성 요소의 상호 종속성에 영향을 미치는 방식
스모크 테스트 전에 코드 검토 수행
스모크 테스트를 실행하기 전에 코드의 변경 내용을 중점적으로 다루는 코드 검토를 수행합니다. 코드 검토는 코드 품질의 유효성을 검사하고 실행 시 코드 결함 및 오류를 확인하는 가장 효과적이고 효율적인 방법입니다. 코드 검토나 위험 평가가 실패하면 테스트를 계속할 수 없기 때문에 스모크 테스트는 코드 검토나 위험 평가를 통해 식별된 매우 중요한 영역이나 취약한 영역을 중점적으로 검사합니다.
문제가 없는 디버그 빌드에 전용 이진 파일 설치
스모크 테스트는 업데이트된 이진 파일에서 변경된 기능의 유효성을 중점적으로 검사하기 때문에 테스트는 테스트 중인 파일에 대해 디버그 이진 파일을 사용하여 문제가 없는 테스트 환경에서 실행되어야 합니다.
참고: |
---|
스모크 테스트에서는 일치하지 않는 이진 파일로 테스트하는 실수가 자주 발생합니다. 이 실수를 피하려면 두 개 이상의 업데이트된 이진 파일 간에 종속성이 있는 경우 업데이트된 모든 이진 파일을 테스트 빌드에 포함합니다. 그렇지 않으면 테스트 결과가 유효하지 않을 수 있습니다. |
매일 작성되는 빌드 만들기
매일 작성되는 빌드를 만들려면 팀 구성원이 함께 작업해야 하며 이러한 빌드를 통해 개발자가 동기화 상태를 유지할 수 있습니다. 새 빌드의 반복이 지연되면 여러 종속성을 포함하는 제품에 대한 동기화 상태가 유지되지 않을 수 있습니다. 변경된 이진 파일이나 새 이진 파일을 매일 빌드하고 스모크 테스트하면 높은 품질이 보장됩니다.
반복되는 빌드 설정에 대한 자세한 내용은 Team Foundation Build에서 빌드 실행을 참조하십시오. 제품 빌드 확인 방법에 대한 자세한 내용은 방법: BVT 구성 및 실행을 참조하십시오.
참고: |
---|
높은 품질로 매일 작성되는 빌드를 만드는 작업에 팀의 최우선 순위를 부여합니다. 코드 체크 인이 스모크 테스트되지 않아 빌드가 손상된 경우 문제가 해결될 때까지 개발자와 테스터는 다른 모든 작업을 중지해야 합니다. 빌드 손상에 대한 벌칙은 가혹해서는 안 되지만 팀의 최우선 순위는 매일 작성되는 빌드를 올바르게 만드는 것임을 강조해야 합니다. |
소모적인 테스트를 수행할 필요는 없습니다. 스모크 테스트의 목적은 이진 파일에 오류가 전혀 없도록 하려는 것이 아닙니다. 모든 오류를 없애려면 많은 시간이 필요합니다. 높은 수준에서 스모크 테스트를 수행하여 빌드의 유효성을 검사함으로써 이진 파일의 변경 내용이 일반 빌드를 불안정하게 하거나 기능상 치명적인 오류를 발생시키지 않는지를 확인하는 것이 목적입니다.
웹 테스트 및 부하 테스트
웹 테스트와 부하 테스트를 빌드할 경우 시간이 오래 걸리고 복잡한 테스트를 실행하기 전에 스모크 테스트를 실행하는 것이 좋습니다. 웹 테스트와 부하 테스트에서 스모크 테스트는 시간이 적게 걸리고 간단한 테스트를 실행합니다. 성능 또는 스트레스 테스트에 대한 테스트를 실행하기 전에 스모크 테스트를 사용하여 모든 내용이 올바르게 구성되어 예상대로 실행되는지 확인합니다.