2009-11-12 3 views
1

타사 라이브러리를 사용하는 응용 프로그램을 작성하여 가상 시스템에서 인스턴스화하고 일부 작업을 수행합니다.통합 테스트를 사용하지 않을 경우

처음에는 응용 프로그램의 모든 기능에 대한 통합 테스트를 작성했습니다. 그러나 저는 환경이 결정적인 상태에 있어야 테스트가 더 어려워 졌기 때문에 이러한 테스트가 실제로 도움이되지 않는 것으로 나타났습니다. 그리고 나는 단원 및 수용 테스트 만하기로 결정했습니다.

그래서 제 질문은 ... 통합 테스트를 사용하지 않을 때주의해야 할 방법이나 단서가 있습니까? (또는 나는 틀렸고 모든 경우에 서면으로 작성해야합니다)

답변

6

"진짜"로 응용 프로그램을 실제로 연결할 계획이없는 경우; 실제 컨테이너, 데이터베이스, 자원 또는 실제 서비스가 없습니다. 이것이 통합 테스트가 검증해야 할 사항입니다. 모든 것이 제대로 작동한다는 것.

1

통합 테스트는 잘 정의 된 입력 및 출력이 변경되지 않는 전체 시스템을 테스트하는 것이 좋습니다. 예상되는 입/출력이 자주 변경되는 경우 테스트를 유지 관리하는 것이 어려울 수 있으며 통합 테스트를 업그레이드하는 데 필요한 작업량으로 인해 인터페이스를 개선하지 않을 수도 있습니다.

1

쉬운 짧은 규칙은 : 테스트 통합로 인해 나누기 및 단위 테스트 격리에서 에 나머지를 테스트 어떤 통합 테스트에.

심지어 hate integration tests 수 있습니다. 하나의 정수 매개 변수 만 취하는 함수에 대한 단위 테스트를 작성하는 것은 충분히 어렵습니다. 가능한 모든 상태 조합 (내부 및 외부 (시간, 외부 시스템) 및 입력)을 통해 통합 테스트를 실제로 불가능하게 만들 수 있습니다 (알맞은 응용 프로그램의 경우).