좋아요 …. 팀이 더 많은 테스트를 작성하도록 장려하고있는 지금 여기에 있습니다. 다음 예제가 통합인지 기능 테스트 사례인지 확인할 수 없습니다.

다음 사항을 고려하십시오.

여러 JSON 피드를 라우팅 / 노출하는 간단한 웹 애플리케이션이 있습니다. . 각 사용자 요청은 일부 데이터 변환을 수행 한 다음 직렬화 된 JSON 응답을 반환하기 전에 애플리케이션에서 HTTP (백엔드)를 통해 외부 서비스를 쿼리해야합니다.

타사 라이브러리를 사용하여 백엔드에서 발생하는 모든 고유 한 HTTP 상호 작용을 기록하고 파일 시스템에 기록합니다. 그런 다음 이러한 기록을 “재생”하여 이러한 쿼리 결과를 테스트 중에 결정적으로 처리 할 수 있습니다.

내 테스트 사례에는 단일 어설 션이 포함되어 있습니다. 단일 피드에 대한 예상 JSON 응답을 포함하는 문자열입니다. 애플리케이션을 초기화 한 후 응답을 캡처하고 예상 JSON과 비교하기 전에 요청을 라우팅 할 수 있습니다.

1) 기능 테스트입니까, 통합 테스트입니까?

2) 작동한다면 “빅뱅 통합 테스트와 기능 테스트”의 차이점은 정확히 무엇입니까?

답변

1) 기능 테스트입니까 아니면 통합 테스트입니까?

기능 테스트 테스트 및 통합 테스트는 테스트의 분류이며 상호 배타적이지 않습니다.

이 경우 둘 다입니다. 통합 테스트는 정의에 따라 둘 이상의 구성 요소를 테스트하는 모든 테스트입니다. 함께 작동하는 두 클래스를 테스트하기위한 낮은 수준이거나 전체 시스템을 전체적으로 테스트하는 테스트 일 수 있습니다.

기능 테스트는 주어진 시스템 기능을 확인하는 테스트입니다. 따라서 요구 사항이있는 경우 ” 시스템은 데이터베이스에서 사용자 개체를 유지해야합니다. “, 기능 테스트는 시스템을 시작하고, 사용자를 저장하고, 시스템을 중지하고, 다시 시작하고, 사용자가 존재하고 변경되지 않았는지 확인하여 요구 사항을 확인할 수 있습니다.

당신이 쓴 경우 요구 사항 사양 또는 사용자 스토리의 테스트 케이스를 사용하여 테스트 케이스를 “기능 테스트”라고 부르지 만 본질적으로 통합 테스트로 분류됩니다.

2) 작동하는 경우 “빅뱅 통합 테스트와 기능 테스트”의 차이점은 정확히 무엇입니까?

내 이해에서 “빅뱅” 통합 테스트 “는 시스템의 모든 구성 요소가 통합 된 다음 테스트되는 통합 테스트입니다. 이 테스트의 목표는 모든 구성 요소가 올바르게 통합되고 앱을 시작할 수 있는지 확인하는 것입니다. 이러한 종류의 테스트의 단점은 테스트 케이스의 실패가 버그가있는 위치에 대한 방향을 거의 제공하지 않는다는 것입니다. 따라서 하위 수준의 통합 테스트도 중요합니다.

기능 테스트는 테스트 전에 시스템의 모든 구성 요소를 통합 할 수도 있습니다. 그러나 빅뱅 통합 테스트는 전체 시스템이 시작되기 때문에 비슷해 보일 수 있지만 개념적으로는 다릅니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다