웹 개발을 하다 보면 '세션이 만료된 상태'에서 UI를 조작했을 때, 시스템이 어떻게 동작하는지 확인해야 할 때가 있습니다. 사용자 경험 측면에서는 "세션이 만료되었습니다. 다시 로그인해주세요"와 같은 메시지가 뜨는 게 좋겠지만, 개발자는 백엔드와 프론트엔드에 어떤 로그가 남는지 확인해야 할 때가 많습니다.
이 글에서는 테스트 목적으로 세션을 강제로 끊고, UI 조작을 통해 로그를 확인하는 방법을 알려드립니다.
1. 가장 확실한 방법: 로그아웃 기능 사용
대부분의 웹 애플리케이션에는 로그아웃 기능이 있습니다. 로그아웃 버튼을 누르면 서버에 세션 종료 요청이 전송되고, 서버는 해당 세션 정보를 무효화합니다. 이 방법은 가장 안전하고 정상적이지만, 테스트를 위해 매번 로그인과 로그아웃을 반복하는 것은 번거로울 수 있습니다.
2. 개발자에게 가장 유용한 방법: 세션 쿠키 수동 삭제
웹 브라우저의 개발자 도구를 사용하면 세션을 강제로 끊을 수 있습니다. 이 방법은 로그아웃 기능이 없거나 특정 상황을 재현하고 싶을 때 매우 유용합니다.
- 브라우저 개발자 도구 열기:
- Chrome, Edge, Firefox:
F12
키 또는Ctrl + Shift + I
- Mac:
Cmd + Option + I
- Chrome, Edge, Firefox:
Application
탭으로 이동:- 상단 메뉴에서
Application
탭을 선택합니다. - 만약
Application
탭이 보이지 않는다면,>>
버튼을 눌러 목록에서 찾을 수 있습니다.
- 상단 메뉴에서
- 쿠키(Cookies) 확인 및 삭제:
- 왼쪽 메뉴에서 Cookies를 클릭하고, 현재 접속한 웹사이트 주소를 선택합니다.
- 쿠키 목록에서
session
,JSESSIONID
,PHPSESSID
등 세션 ID와 관련된 쿠키를 찾습니다. - 해당 쿠키를 선택하고, 상단의 삭제(Delete) 버튼을 누르거나 마우스 우클릭 후 삭제합니다.
3. 세션 만료 시간 기다리기
서버는 보통 세션 타임아웃을 설정해 둡니다. 일정 시간(예: 30분) 동안 사용자의 활동이 없으면 세션이 자동으로 만료됩니다. 이 방법은 별다른 조작 없이 자연스럽게 세션이 종료되지만, 원하는 시점에 바로 테스트하기 어렵고 기다리는 시간이 길어질 수 있습니다.
로그 확인하기
위 방법으로 세션을 끊은 뒤, 웹 페이지에서 로그인이 필요한 UI(예: 글쓰기, 정보 수정)를 조작해 보세요. 세션이 끊긴 상태이기 때문에 서버에서 401 Unauthorized
또는 403 Forbidden
등의 권한 오류를 반환할 것입니다. 이때 서버의 로그 파일이나 브라우저의 개발자 도구(Console
탭, Network
탭)를 확인하면, 어떤 요청에서 에러가 발생했는지 상세히 볼 수 있습니다.
결론적으로, 테스트 목적으로 가장 효율적인 방법은 세션 쿠키를 수동으로 삭제하는 것입니다. 이 방법으로 다양한 세션 만료 시나리오를 빠르고 정확하게 테스트할 수 있습니다.
'개발 (Development) > General' 카테고리의 다른 글
[General] 테스트 커버리지 작성 방법과 측정 도구 활용법 (2) | 2025.08.03 |
---|---|
[General] 어플리케이션의 동시 접속자 수, 어떻게 정해야 할까? (2) | 2025.08.03 |
[General] UI 평균 응답시간 측정 방법 정리 (4) | 2025.08.03 |
[General] 파라미터 이름에서 특수문자를 제거해야 했던 이유 (6) | 2025.07.20 |
[General] Windows에서 Plane 서비스 Docker로 로컬 실행하기 (1) | 2025.06.28 |