2013-07-04 3 views
1

프론트 엔드에 Eclipse UI가 있고 비 자바 기반 백엔드가 있습니다.통합 테스트 필요

일반적으로 프론트 엔드와 백엔드 모두에 대해 단위 테스트를 별도로 작성합니다. 또한 더미 백엔드에 대해 Eclipse UI를 실행하는 PDE 테스트를 작성합니다.

제 질문은 엔드 투 엔드 테스트를위한 통합 테스트가 필요하다는 것입니다.

이러한 통합 테스트가 유용 할 수있는 한 가지 이유는 내가 프론트 엔드/백엔드를 업그레이드 할 때 최종 테스트를 끝내고 결함을 찾을 수 있기 때문입니다.

저는 이러한 종류의 질문이 특정 시나리오에 따라 다르다는 것을 알고 있습니다. 하지만 여기에 모두 뒤 따르는 일반 및 모범 사례는 무엇입니까?

환호,

당신이 말하는 것처럼

답변

3

Saurav, 가장 좋은 방법은 응용 프로그램에 따라 다릅니다. 그러나 일반적으로 응용 프로그램을 철저히 테스트 할 수있는 통합 테스트 스위트를 사용하여 변경 사항을 고려하지 않고 응용 프로그램의 한 계층 만 업그레이드 할 때 발생할 수있는 문제를 해결하는 것이 좋습니다 다른 레이어. 이것은 다른 언어로 작성된 시스템 구성 요소를 가지고 있기 때문에 구성 요소 인터페이스 주변에 복잡성이 추가되어 자연스럽게 문제가 발생할 가능성이 높다는 것을 감안할 때 귀하의 경우에 확실히 가치있는 것처럼 들립니다.

종단 간 통합 테스트 (일부는 시스템 테스트라고도 함)를 작성할 때주의해야 할 점 중 하나는 단위 테스트와 비교할 때 매우 약하다는 것입니다. 이는 여러 가지 요인

  • 테스트를 위해 여러 구성 요소를 사용할 수 있어야하며 이러한 구성 요소 간의 통신을 올바르게 구성해야합니다.
  • 단위 테스트보다 코드가 많으므로 실수로 실패 할 수있는 것들이 많이 있습니다.
  • 종종 비동기 통신이 관련되어있어 동기식 통신보다 테스트를 작성하기가 더 어렵습니다.
  • 전체 응용 프로그램에서 테스트를 수행하려면 복잡한 백엔드 데이터 설정이 필요합니다. 로, 초점이 가능한 최소한의 테스트에서 가능한 한 많은 기능을 포함에 있어야합니다 -이 때문에 취약성의

, 나는 전체 스택을 통해 이동 가능한 테스트로 작성하려고 권합니다 가장 중요한 기능적 유스 케이스에 편향됩니다. 시작하기 좋은 전략은 다음과 같습니다.

  • 가능한 한 애플리케이션의 구성 요소를 많이 사용하는 키 사용 케이스를 선택하고 이에 대한 엔드 투 엔드 테스트를 수행합니다 (심지어 이 단일 테스트 만하면 많은 가치를 얻을 수 있습니다.) 가능한 한 현실적이며 가능한 한 신뢰할 수 있고 가능한 한 자동화 (이상적으로는 지속적인 통합의 일부로 실행해야 함) 가능한 한 현실적인 테스트를 만드는 데 중점을 둡니다. 이 단 하나의 테스트 만해도 많은 가치를 가져옵니다.
  • 다른 유스 케이스에 대한 테스트를 한 번에 하나씩 테스트하고 가장 중요한 유스 케이스에 다시 집중하십시오.

이 접근법은 장기간의 건강과 유용성에 필수적인 고품질의 엔드 투 엔드 테스트를 보장하는 데 도움이됩니다. 너무 많은 시간 동안 사람들이 응용 프로그램에 포괄적 인 테스트 세트를 도입하려고 시도했지만 테스트가 불안정하여 취약성이 없기 때문에 궁극적으로 실패합니다. 사람들은 믿음을 잃어 버리거나 실행이나 유지 관리를하지 않아 결국 잊어 버립니다. 처음에는 테스트를 받았다.

행운을 빈다.