IT이야기

시스템 테스트와 종단 간 테스트의 차이점

cyworld 2021. 9. 14. 21:25
반응형

시스템 테스트와 종단 간 테스트의 차이점


종단 간 테스트란 무엇이며 시스템 테스트와 차이점은 무엇입니까?

둘 다 동일하게 보이며 전체 응용 프로그램을 확인합니다. 인터넷상의 정의는 매우 혼란스럽습니다.


나에게는 둘 사이에 큰 차이가 없으며 일부 시설에서는 용어를 서로 바꿔서 사용할 수 있습니다. 모든 곳이 다릅니다. 나는 그것을 다음과 같이 설명하려고 노력할 것이다.

시스템 테스트 : 전체 시스템, 즉 각 구성 요소가 의도한 대로 작동하는지 확인하기 위해 모든 구성 요소를 테스트하고 있습니다. 이것은 요구 사항을 확인하기 위한 기능적 측면에서 더 많은 것입니다.

종단 간 테스트 : 보다 현실적인 최종 사용자 시나리오에서 시스템통한 실제 흐름 에 대한 것입니다. 사용자가 예상대로 애플리케이션을 탐색하고 작동할 수 있습니까? 워크플로를 테스트하고 있습니다.

예를 들어 전자 상거래 사이트를 매장 프런트에서 테스트하는 경우:

시스템 테스트: 항목 탐색, 장바구니 및 결제가 모두 정상적으로 작동합니다.

종단 간 테스트: 그런 다음 이러한 기능 영역 간에 이동하는 워크플로에서 문제를 찾을 수 있습니다.


종단 간 테스트 - 종단 간 테스트는 기본적으로 정확히 들리는 것과 같습니다. 처음부터 끝까지 소프트웨어를 테스트하고 있습니다. 예를 들어 전자 상거래 플랫폼인 경우 제품 페이지로 이동하여 장바구니에 추가한 다음 결제하고 주문을 완료할 수 있는지 테스트합니다. 응용 프로그램의 경우 메뉴에서 항목을 선택하고 일부 작업을 수행한 다음 다른 사람이 볼 수 있도록 제출할 수 있습니다. 기본적으로 기능 팀이 새로운 개발을 조사하고 구현하는 동안 프론트엔드나 백엔드에서 문제가 발생하지 않았는지 확인하는 방법일 뿐입니다.

시스템 테스트 - 이것은 좀 더 모호합니다. 이것은 웹사이트의 백엔드 데이터베이스를 테스트하거나 프론트엔드 UI 또는 중간 계층을 테스트하는 사람일 수 있습니다. 기본적으로 서비스의 개별 구성 요소가 개발 작업이 완료되기 전에 일반적으로 배치되는 요구 사항을 따르는지 확인하도록 설계된 (대부분) 좁은 초점을 가진 격리된 테스트입니다. 이를 '통합 테스트'라고도 합니다.


나는 동의하지 않을 것이다. 나에게 이러한 용어는 간단히 말해 다음과 같습니다.

시스템 테스트: 내 시스템이 예상대로 작동하는지 확인합니다. 예를 들어 전자 상거래 사이트에서: 내 고객이 결제를 진행하면 올바른 데이터가 창고(다른 사람이 소유한 창고)로 전송됩니다.

End To End 테스트: 위에서 설명한 대로 실제 워크플로. 누군가 장바구니에 상품을 넣고 사용자 데이터를 입력하고 비용을 지불합니다. 실제로 결제가 되었는지 확인하고, 창고에 전화를 걸어 데이터를 받았는지 확인합니다. 그리고 파이 위에 작은 체리처럼: 소포를 받으면서, 특히 내 실명이 Pavel Janíček(재미있는 분음 부호 참조? 때때로 잘못 인쇄됨) 인 경우, 그 데이터가 충분히 양호하고 올바르게 인쇄되었는지 확인합니다.

그리고 여기에서 예상대로 데이터를 보내고 협상한 경우에도 측면 어딘가에 문제가 있을 수 있음을 깨닫습니다.


답변은 차이점을 잘 설명하고 있습니다. 종단 간 테스트에 대한 두 가지 다른 정의를 발견할 수 있다고 덧붙입니다. 하나는 수직 이고 하나는 수평입니다 (더 빈번하고 답변에 설명되어 있음).

여기에 이미지 설명 입력


통합 시스템 테스트: 모든 다양한 시스템 구성 요소가 세부 사항에서 정확한 예상 결과를 제공하는지 테스트합니다.

End-to-End 테스트: 전체 애플리케이션은 고객이 봤을 때 만족하는 것처럼 처음부터 끝까지 테스트됩니다.


종단 간 테스트와 시스템 테스트를 비교하는 것은 과일을 색상과 비교하는 것과 같습니다. 종단 간(E2E) 테스트는 "테스트 유형"이고 시스템 테스트는 "테스트 수준"입니다. 즉, E2E 테스트는 항상 시스템 테스트이지만 시스템 테스트가 반드시 E2E 테스트인 것은 아닙니다.

E2E 테스트를 통해 검증할 수 있는 기능 사양이 분명히 있지만 E2E 테스트는 대부분 비기능 테스트입니다. E2E는 일반적으로 기능 시스템 테스트가 실행된 후에 수행됩니다. 사용자 승인 테스트(프로덕션 환경), 예비 테스트(QA 또는 스테이징 환경) 및 실제 사용을 모방하려는 환경에서 SUT를 실행하는 기타 상황은 E2E 테스트가 되는 반면 시스템 수준 테스트는 실행될 수 있습니다. 비프로덕션 환경(예: 개발 환경). 그렇다고 해서 개발자에서 E2E 테스트를 실행할 수 없다는 의미는 아니지만... 테스트 용어의 특성으로 인해 업계에서 여전히 표준을 파악하고 고정하려고 하기 때문에 이에 대한 답변이 어렵습니다.


저는 이 두 가지 가장 중요한 테스트에 대해 약간 다른 각도를 가지고 있습니다.

종단 간 테스트: 내 관점에 따르면 종단 간 테스트는 애플리케이션 사용 사례의 전체 작업 흐름을 다루는 것입니다. 모든 사용 사례의 종단 간 흐름을 완료하려면 다른 개별 응용 프로그램의 테스트(최소한 '요청 및 응답 확인'과 같은 상호 작용)도 다루어야 할 수 있습니다. 예를 들어 전자 상거래 응용 프로그램의 종단 간 흐름을 사용하는 경우 응용 프로그램의 최종 단계는 사용자를 결제 게이트웨이로 안내하는 것입니다. 이제 지불 게이트웨이 통합 기능의 테스트 요청 및 응답은 시스템 통합 테스트 또는 종단 간 테스트의 일부입니다.

시스템 테스트: 시스템 테스트의 범위는 애플리케이션의 모든 기능을 검증하는 것으로 제한됩니다.

그게 내 생각이야. 모든 수정을 가장 환영합니다.

ReferenceURL : https://stackoverflow.com/questions/19378183/difference-between-system-testing-and-end-to-end-testing

반응형