통합 테스트는 모의를 사용합니까? 수행해야하는 소프트웨어 테스트 강의 중입니다. 통합 테스트를

저는 현재 학기 프로젝트를위한 단위 테스트 및 통합 테스트와 같은 여러 유형의 테스트를 수행해야하는 소프트웨어 테스트 강의 중입니다. 통합 테스트를 위해 교수는 통합 테스트에 모의 및 모의 라이브러리 (EasyMock 및 Mockito와 같은)를 사용한다고 말했습니다. 그래도 상당히 혼란스러워지고 있습니다. 통합 테스트는 클래스, 모듈, 서비스 등을 테스트하는 것입니다. 여러 클래스 및 서비스를 테스트 할 때 모의 및 스텁이 통합 테스트에 사용하기에 적합한 이유는 무엇입니까?



답변

여러 외부 구성 요소에 영향을주는 기능이있는 경우 특정 구성 요소를 격리하고 테스트하기 위해 하나만 제외하고 모의 할 수 있습니다. 예를 들어, 웹 서비스를 호출 한 다음 결과에 따라 데이터베이스로 무언가를 수행하는 함수가 있다고 가정하십시오. 세 가지 통합 테스트를 작성할 수 있습니다.

  1. 웹 서비스 호출을 조롱하지만 실제 데이터베이스 연결이 포함 된 테스트
  2. 실제 웹 서비스를 호출하지만 모의 데이터베이스 연결을 사용하는 테스트.
  3. 실제 웹 서비스 호출을 수행하고 실제 데이터베이스 연결을 포함하는 테스트.

세 가지 테스트를 모두 실행했는데 1과 3이 실패하면 모의 데이터베이스 연결을 사용하는 테스트 만 통과했기 때문에 데이터베이스에서 작동하는 코드에 버그가있을 수 있습니다.

일반적으로 통합 테스트는 모의를 사용하지 않지만 때로는 이와 같은 작업을 수행했습니다.


답변

그것은 바로 무엇을 의미하는 명확하지 않다 통합 테스트 만의 사용 페이크 / 모의 객체 / 테스트 복식이
내의 모든 수준에 대한 테스트 시나리오를 작성하는 유효한 기술이다 시험의 피라미드를 . [1] [2] [3]


답변