테스트 / 자동화
E2E 테스트(E2E Test)
E2E 테스트는 사용자가 기능을 시작해서 결과를 얻기까지 이어지는 경로를 확인하는 테스트입니다.
쉬운 설명
신청 버튼이 보이는지 확인하는 것과 신청을 끝까지 해 보는 것은 달라요. E2E는 End-to-End의 줄임말로, 웹 앱에서는 브라우저에서 입력하고 제출한 뒤 결과까지 확인하는 방식으로 자주 사용해요. 화면과 서버가 연결된 상태의 문제를 찾는 데 도움이 돼요. 어떤 외부 기능을 실제로 사용했는지에 따라 검증 범위는 달라져요.
이런 상황에서 만나요
스터디원에게 사이트를 공유하기 전에 신청자가 폼을 열고 이메일을 입력한 뒤 완료 화면을 볼 수 있는지 시험하려는 상황이에요. 완료 문구만으로 부족하다면 관리자 명단에서도 신청을 확인하는 경로를 포함해요.
신청자가 끝까지 완료할 수 있는지 확인해요
신청 페이지 열기
테스트 이메일 입력
신청 버튼 누르기
완료 안내가 나타나는지 확인
관리자 명단에서
방금 제출한 테스트 신청 확인
- 1사용자가 실제로 시작하는 위치부터 진행해요.
- 2버튼이 있다는 것과 제출이 되는 것을 나눠 확인해요.
- 3이 예시에서는 저장된 신청을 조회하는 것까지 경로에 포함했어요.
AI에게 “신청 페이지 열기 → 입력 → 제출 → 명단에서 신청 확인까지 검사해 줘”처럼 확인할 끝 지점을 말해 주세요. 로그인 계정과 데이터는 테스트용으로 준비하고, 실패했다면 어느 동작에서 기대한 결과가 나오지 않았는지 확인해요.
헷갈리기 쉬운 점
E2E 테스트를 많이 만들수록 무조건 좋은가요?
전체 경로 검사는 실행과 환경 준비에 시간이 들고, 여러 원인 중 어디서 실패했는지 찾기 어려울 수 있어요. 중요한 사용자 경로를 골라 확인하고 작은 규칙은 단위 테스트로 나눠 검사하는 편이 원인을 찾기 쉬워요.
테스트가 실제 결제나 메일 발송을 일으키는지 확인하세요. 외부 서비스를 테스트용으로 바꿨다면 실제 결제나 메일 전달까지 통과했다고 표현하지 않아요.
왜 알아야 할까요?
코드의 작은 검사에서 놓친 화면·서버 간 연결 문제를 찾을 수 있어요. 공개하기 전에 사용자가 실제로 끝낼 수 있어야 하는 핵심 작업을 확인할 수 있어요.
조금 더 자세히
Playwright 같은 도구는 브라우저에서 클릭과 입력을 실행하고 화면의 결과를 검사할 수 있습니다. 버튼의 내부 구조보다 사용자가 알아볼 이름과 역할로 찾으면 화면 구현이 바뀌어도 의미 있는 검사를 유지하기 쉽습니다.
각 검사가 다른 검사의 로그인 상태나 데이터에 의존하지 않도록 환경을 준비합니다. 응답이 늦다는 이유로 임의의 대기 시간을 늘리기보다, 필요한 상태가 나타나는지 기다리고 실패 지점을 기록합니다.
직접 사용할 때 확인해 보세요
- 사용자 경로의 시작과 완료 조건을 정한다
- 테스트용 계정과 데이터를 준비한다
- 실제로 연결한 외부 기능과 대체한 기능을 구분한다