2011-02-16 3 views
4

몇 메가 바이트의 스크립트와 모듈이 있습니다. 회귀 테스트와 필요한 데이터는 우리가 작업하는 데이터의 특성 중 수백 메가 b/c입니다. 회귀 테스트와 대규모 테스트 데이터를 실제 소스 코드로 유지하는 것이 "우수 사례"입니까?큰 테스트 데이터가있는 회귀 테스트를 소스 코드 저장소에 추가해야합니까?

매우 작은 단위 테스트 세트가 있으며 개별 모듈을 테스트합니다. 그러나 주요 파이프 라인을 실행하려면 실제 (큰) 데이터가 유용해야합니다.

답변

5

여기서는 다양한 역할을해야한다고 생각합니다.

  • 특정 버전의 테스트 (및 해당 데이터)는 특정 버전의 코드를 테스트합니다. 따라서 테스트와 코드 모두에 변경 사항을 함께 적용 할 수있는 것이 바람직합니다.

  • 소스 제어에서 큰 테스트 세트를 사용하면 항상 필요하지 않은 사람이 성능을 저하시킬 수 있습니다. "svn checkout"(또는 "cleartool mkview -snaphost"또는 무엇을 가지고) 테스트 실행 시간이 길어집니다. 따라서 단위 테스트의 통합 테스트 인 큰 것을 작은 것으로 분리하는 것이 바람직합니다.

내 결론은 하나 개의 저장소에 함께 유지하지만, 모든-을 제외하고 - 더 - 큰 - 테스트 - 및 - 자신의 빅 데이터로 작업 할 수있는 방법이 있는지 확인하기 위해 다음이다. 예를 들어 Subversion에서는 폴더 /code/src, /code/test/unit, /code/test/integration/testdata을 가질 수 있습니다. 그런 식으로 많은 개발자가 "svn checkout .../code"를 수행하고 큰 테스트 세트를 무시할 수 있습니다. 그리고 연속 빌드 도구는 전체 트리를 사용하므로 통합 테스트를 실행할 수 있습니다.

관련 문제