Redmine #4364 · 개발계

[BL] IP 차단내역 조회 및 차단 이력 관리 개선 요청의 건

요청한 확인 항목이 기대한 결과와 일치했습니다.

QA Redmine #4422 · 업무 상태 진행 중

확인 항목 14 전체 시나리오
통과 14 기대 결과와 일치
실패 0 문제 발견
확인 불가 0 조건 부족

핵심 결론

요청한 확인 항목이 기대한 결과와 일치했습니다.

전체 14개 항목이 기대한 결과와 일치했습니다.

가장 큰 문제

발견된 실패 항목이 없습니다.

확인 불가 항목은 기능 실패가 아니라 조건 부족 또는 검증 제외로 분리해 봅니다.

계정별 결과 비교

같은 확인 항목이 계정별로 어떻게 끝났는지 한눈에 봅니다.

ADMIN -> 전체
검증 항목ADMIN전체
목록 조회 범위 해당 없음 통과
목록 조회 범위 해당 없음 통과
Q03 해제일시 없는 자료의 해제 판정 해당 없음 통과
Q04 누적 차단 횟수와 요청횟수 구분 해당 없음 통과
Q05 수동 차단→해제→재차단 기록 보존 해당 없음 통과
Q06 자동 만료→재차단 기록 보존 해당 없음 통과
Q07 만료 전 해제 시 거짓 만료 방지 해당 없음 통과
Q08 관련 BAN 로그의 회차 분리와 원인 요청 해당 없음 통과
Q09 빠른 재차단과 로그 기간 경계 해당 없음 통과
Q10 같은 IP의 업체별·전역 차단 구분 해당 없음 통과
목록 조회 범위 해당 없음 통과
목록 조회 범위 해당 없음 통과
Q13 동시 차단·해제·재차단 처리 해당 없음 통과
Q14 자동 차단 임계치·집계 기간 경계 해당 없음 통과

진행률 100%

14/14개 항목 확인 완료

통과 14 실패 0 확인 불가 0

실제 실행 자료

QA 실행 결과에서 정리된 화면 캡처, 화면 재현 기록, 오류 내용을 이 페이지에서 바로 확인할 수 있습니다.

화면 캡처 19 화면 재현 기록 0 오류 내용 21 첨부 파일 0

QA 확인 내역

실패 항목을 먼저 배치했습니다. 각 항목을 열면 수행한 동작, 기대 결과, 실제 결과, 화면 캡처, 화면 재현 기록, 오류 내용을 확인할 수 있습니다.

통과1번째 확인 Q01 전체 기간·기간 지정 조회 전체 · [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 · 화면 캡처 2 · 오류 내용 2 수행: 전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인 결과: 기대한 동작과 일치했습니다.
계정
전체
화면
[4364][dev] IP 차단 내역 실제 개발계 업무 14항목
수행 내용
전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인
기대한 결과
전체 계정에서 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 확인 결과가 체크리스트와 일치해야 합니다.
실제 결과
기대한 동작과 일치했습니다.
분류
문제 없음
통과2번째 확인 Q02 검색 범위·총건수·추가 조회 일치 전체 · [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 · 화면 캡처 1 · 오류 내용 1 수행: 전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인 결과: 기대한 동작과 일치했습니다.
계정
전체
화면
[4364][dev] IP 차단 내역 실제 개발계 업무 14항목
수행 내용
전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인
기대한 결과
전체 계정에서 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 확인 결과가 체크리스트와 일치해야 합니다.
실제 결과
기대한 동작과 일치했습니다.
분류
문제 없음

화면 캡처

오류 내용

통과3번째 확인 Q03 해제일시 없는 자료의 해제 판정 전체 · [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 · 화면 캡처 1 · 오류 내용 1 수행: 전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인 결과: 기대한 동작과 일치했습니다.
계정
전체
화면
[4364][dev] IP 차단 내역 실제 개발계 업무 14항목
수행 내용
전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인
기대한 결과
전체 계정에서 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 확인 결과가 체크리스트와 일치해야 합니다.
실제 결과
기대한 동작과 일치했습니다.
분류
문제 없음

화면 캡처

오류 내용

통과4번째 확인 Q04 누적 차단 횟수와 요청횟수 구분 전체 · [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 · 화면 캡처 1 · 오류 내용 1 수행: 전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인 결과: 기대한 동작과 일치했습니다.
계정
전체
화면
[4364][dev] IP 차단 내역 실제 개발계 업무 14항목
수행 내용
전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인
기대한 결과
전체 계정에서 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 확인 결과가 체크리스트와 일치해야 합니다.
실제 결과
기대한 동작과 일치했습니다.
분류
문제 없음

화면 캡처

오류 내용

통과5번째 확인 Q05 수동 차단→해제→재차단 기록 보존 전체 · [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 · 화면 캡처 2 · 오류 내용 2 수행: 전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인 결과: 기대한 동작과 일치했습니다.
계정
전체
화면
[4364][dev] IP 차단 내역 실제 개발계 업무 14항목
수행 내용
전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인
기대한 결과
전체 계정에서 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 확인 결과가 체크리스트와 일치해야 합니다.
실제 결과
기대한 동작과 일치했습니다.
분류
문제 없음
통과6번째 확인 Q06 자동 만료→재차단 기록 보존 전체 · [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 · 화면 캡처 1 · 오류 내용 1 수행: 전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인 결과: 기대한 동작과 일치했습니다.
계정
전체
화면
[4364][dev] IP 차단 내역 실제 개발계 업무 14항목
수행 내용
전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인
기대한 결과
전체 계정에서 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 확인 결과가 체크리스트와 일치해야 합니다.
실제 결과
기대한 동작과 일치했습니다.
분류
문제 없음

화면 캡처

오류 내용

통과7번째 확인 Q07 만료 전 해제 시 거짓 만료 방지 전체 · [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 · 화면 캡처 1 · 오류 내용 1 수행: 전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인 결과: 기대한 동작과 일치했습니다.
계정
전체
화면
[4364][dev] IP 차단 내역 실제 개발계 업무 14항목
수행 내용
전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인
기대한 결과
전체 계정에서 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 확인 결과가 체크리스트와 일치해야 합니다.
실제 결과
기대한 동작과 일치했습니다.
분류
문제 없음

화면 캡처

오류 내용

통과8번째 확인 Q08 관련 BAN 로그의 회차 분리와 원인 요청 전체 · [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 · 화면 캡처 3 · 오류 내용 3 수행: 전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인 결과: 기대한 동작과 일치했습니다.
계정
전체
화면
[4364][dev] IP 차단 내역 실제 개발계 업무 14항목
수행 내용
전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인
기대한 결과
전체 계정에서 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 확인 결과가 체크리스트와 일치해야 합니다.
실제 결과
기대한 동작과 일치했습니다.
분류
문제 없음
통과9번째 확인 Q09 빠른 재차단과 로그 기간 경계 전체 · [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 · 화면 캡처 1 · 오류 내용 1 수행: 전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인 결과: 기대한 동작과 일치했습니다.
계정
전체
화면
[4364][dev] IP 차단 내역 실제 개발계 업무 14항목
수행 내용
전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인
기대한 결과
전체 계정에서 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 확인 결과가 체크리스트와 일치해야 합니다.
실제 결과
기대한 동작과 일치했습니다.
분류
문제 없음

화면 캡처

오류 내용

통과10번째 확인 Q10 같은 IP의 업체별·전역 차단 구분 전체 · [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 · 화면 캡처 1 · 오류 내용 3 수행: 전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인 결과: 기대한 동작과 일치했습니다.
계정
전체
화면
[4364][dev] IP 차단 내역 실제 개발계 업무 14항목
수행 내용
전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인
기대한 결과
전체 계정에서 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 확인 결과가 체크리스트와 일치해야 합니다.
실제 결과
기대한 동작과 일치했습니다.
분류
문제 없음

화면 캡처

통과11번째 확인 Q11 기존 과거 기록의 조회와 부족한 정보 처리 전체 · [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 · 화면 캡처 2 · 오류 내용 2 수행: 전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인 결과: 기대한 동작과 일치했습니다.
계정
전체
화면
[4364][dev] IP 차단 내역 실제 개발계 업무 14항목
수행 내용
전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인
기대한 결과
전체 계정에서 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 확인 결과가 체크리스트와 일치해야 합니다.
실제 결과
기대한 동작과 일치했습니다.
분류
문제 없음
통과12번째 확인 Q12 관련 필터 해제 후 일반 조회 복귀 전체 · [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 · 화면 캡처 1 · 오류 내용 1 수행: 전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인 결과: 기대한 동작과 일치했습니다.
계정
전체
화면
[4364][dev] IP 차단 내역 실제 개발계 업무 14항목
수행 내용
전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인
기대한 결과
전체 계정에서 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 확인 결과가 체크리스트와 일치해야 합니다.
실제 결과
기대한 동작과 일치했습니다.
분류
문제 없음

화면 캡처

오류 내용

통과13번째 확인 Q13 동시 차단·해제·재차단 처리 전체 · [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 · 화면 캡처 1 · 오류 내용 1 수행: 전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인 결과: 기대한 동작과 일치했습니다.
계정
전체
화면
[4364][dev] IP 차단 내역 실제 개발계 업무 14항목
수행 내용
전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인
기대한 결과
전체 계정에서 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 확인 결과가 체크리스트와 일치해야 합니다.
실제 결과
기대한 동작과 일치했습니다.
분류
문제 없음

화면 캡처

오류 내용

통과14번째 확인 Q14 자동 차단 임계치·집계 기간 경계 전체 · [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 · 화면 캡처 1 · 오류 내용 1 수행: 전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인 결과: 기대한 동작과 일치했습니다.
계정
전체
화면
[4364][dev] IP 차단 내역 실제 개발계 업무 14항목
수행 내용
전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인
기대한 결과
전체 계정에서 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 확인 결과가 체크리스트와 일치해야 합니다.
실제 결과
기대한 동작과 일치했습니다.
분류
문제 없음

화면 캡처

오류 내용

상세 보고서 원문

QA Report - Redmine #4364 (dev)

  • Generated: 2026-10-27T23:58:00+09:00
  • Redmine: https://itsm.bix.bz/issues/4364
  • QA Redmine: https://itsm.bix.bz/issues/4422
  • Subject: [BL] IP 차단내역 조회 및 차단 이력 관리 개선 요청의 건
  • Workflow Status: 진행 중
  • QA Subissue Status: 종료
  • Status: PASS
  • Checklist Result: 통과
  • Checklist Total: 14
  • Checklist Passed: 14
  • Checklist Failed: 0
  • Checklist Blocked: 0
  • Checklist Skipped: 0
  • Result JSON: artifacts/result-summary.json
  • Roles: ADMIN
  • Route Candidates: not recorded

Scope

개발계 비스킷링크 전산 IP 차단 내역·처리 이력·관련 BAN 로그의 조회, 상태, 회차, 집계 경계 검증

Checklist

  1. Q01 전체 기간·기간 지정 조회
  2. Q02 검색 범위·총건수·추가 조회 일치
  3. Q03 해제일시 없는 자료의 해제 판정
  4. Q04 누적 차단 횟수와 요청횟수 구분
  5. Q05 수동 차단→해제→재차단 기록 보존
  6. Q06 자동 만료→재차단 기록 보존
  7. Q07 만료 전 해제 시 거짓 만료 방지
  8. Q08 관련 BAN 로그의 회차 분리와 원인 요청
  9. Q09 빠른 재차단과 로그 기간 경계
  10. Q10 같은 IP의 업체별·전역 차단 구분
  11. Q11 기존 과거 기록의 조회와 부족한 정보 처리
  12. Q12 관련 필터 해제 후 일반 조회 복귀
  13. Q13 동시 차단·해제·재차단 처리
  14. Q14 자동 차단 임계치·집계 기간 경계

Setup Steps

  • 없음

Source Text

#4364 개발계 QA 실행 요청

  • 사용자 지시: 쉬고 있는 기존 BIX-QA 채팅에서 실제 개발계 QA 진행.
  • 요청자: 김경주
  • 태그 대상: 김경주만
  • 김경주 Google Chat 사용자: users/112959013708458147544
  • 검증 계정 역할: admin(어드민)만
  • 티켓: https://itsm.bix.bz/issues/4364
  • 개발계 진입: https://admin-dev.biscuitpay.com/admin/ip-block-manage?tab=BLOCK_HISTORY
  • 필수: TypeScript + Playwright 사용. QA 레포의 현재 작업 경로 AGENTS.md·README·관련 스킬 및 실행·증거·보고서·종료 규칙을 반드시 먼저 읽고 준수한다.

실행 범위

화면 색상·아이콘·배치 위주의 검사는 범위에 넣지 않는다. 티켓 요구와 변경된 백엔드 조회·상태·이력·동시 처리·시간 계산 로직을 중심으로 아래14개 업무 항목을 검증한다.

  • Q01 전체 기간·기간 지정 조회

- 절차: 전체 기간으로 오래된 IP를 검색한다. 이후 기간 지정으로 바꾸고 최초 차단일은 오래됐으나 최근 재차단된 자료의 최근 차단일을 포함/제외해 조회한다.

- 기대: 전체 기간은 날짜 없이 과거 자료까지 나온다. 기간 지정은 최근 차단일 기준으로 결과가 달라지고 조회 기준 날짜가 화면에 명시된다.

  • Q02 검색 범위·총건수·추가 조회 일치

- 절차: IP·업체·차단 상태·자동/수동 조건을 각각 및 조합해서 검색한다. 자료가 많은 조건은 끝까지 추가 조회하고 조건을 바꾼다.

- 기대: 조건에 맞는 자료만 나오고 총건수와 추가 결과가 일치한다. 중복·누락이나 이전 검색 결과 혼입이 없고 같은 IP의 다른 업체 자료가 섞이지 않는다.

  • Q03 해제일시 없는 자료의 해제 판정

- 절차: 해제 상태지만 해제일시가 없는 과거 IP를 전체 조회와 해제 조건 조회에서 확인한다.

- 기대: 현재 상태는 해제이고 해제 검색·총건수에도 포함된다. 없는 해제일시는 -로 남으며 임의 날짜나 해제 기록을 만들지 않는다.

  • Q04 누적 차단 횟수와 요청횟수 구분

- 절차: 자동 차단 기준을 충족한 IP에 요청을 추가하고 새로고침한다. 이후 실제 해제·재차단을 한 번 수행해 횟수를 비교한다.

- 기대: 요청 추가만으로 누적 차단 횟수는 늘지 않는다. 실제 재차단 때만 차단 횟수가 늘고 당시 요청횟수와 구분된다. 무기한은 제한없음, 확인할 수 없는 과거 값은 -로 표시한다.

  • Q05 수동 차단→해제→재차단 기록 보존

- 절차: 새 테스트 IP를 수동 차단하고 해제한 뒤 재차단한다. 단계마다 목록·이력을 확인하고 새로고침한다.

- 기대: 차단·해제·새 차단이 모두 최신순으로 남는다. 이전 처리자·해제시각이 덮이지 않고 현재 상태·최근 날짜·누적 차단 횟수가 맞는다.

  • Q06 자동 만료→재차단 기록 보존

- 절차: 자동 차단 후 추가 요청 없이 만료시각을 넘긴다. 화면을 반복 새로고침한 뒤 다시 자동 차단하고 과거와 새 이력을 비교한다.

- 기대: 차단→만료→새 차단이 모두 남고 이전 만료시각이 새 기한으로 바뀌지 않는다. 반복 조회로 만료 행이나 차단 횟수가 늘지 않는다. 이전·새 차단의 요청 정보도 서로 바뀌지 않는다.

  • Q07 만료 전 해제 시 거짓 만료 방지

- 절차: 자동 차단을 만료 전에 해제하고 원래 만료시각이 지난 뒤 이력을 다시 연다.

- 기대: 해제 상태와 실제 해제 기록을 유지한다. 이미 해제한 차단에 만료 이력이 추가되지 않는다.

  • Q08 관련 BAN 로그의 회차 분리와 원인 요청

- 절차: 125.132.30.100 / 빅스페이먼츠의 새 차단 18:51:36, 이전 차단 17:41:40, 이전 만료 18:11:40 행에서 각각 요청 정보와 관련 로그를 확인한다.

- 기대: 새 차단은 새 요청 5건만, 이전 차단·만료는 이전 요청 6건만 나온다. 각 요청 상세는 원래 차단 원인 요청 5회를 유지한다. 다른 회차가 섞이거나 원인 로그 한 건만 보이지 않으며 총건수도 일치한다.

  • Q09 빠른 재차단과 로그 기간 경계

- 절차: 자동 차단을 해제한 직후 같은 집계 기간 안에 재차단해 두 회차 로그를 비교한다. 자연 만료 후 새 요청을 남긴 별도 자료도 이전 회차에서 확인한다.

- 기대: 새 회차에는 이전 해제 전 요청이 섞이지 않는다. 이전 회차에는 해제·만료 이후의 새 요청이 포함되지 않는다. 당시 집계 기간의 요청과 차단 중 추가 요청은 해당 회차에서 확인된다.

  • Q10 같은 IP의 업체별·전역 차단 구분

- 절차: 어드민에서 같은 IP의 업체 A·B 자료와 전역 차단을 각각 선택한다. 업체를 바꾸고 이력·관련 로그를 다시 연다.

- 기대: 업체별 상태·횟수·이력·요청 정보가 합쳐지지 않는다. 전역 차단의 관련 로그는 당시 차단 원인 요청의 업체 범위를 사용하며 다른 업체나 이전 선택 결과가 섞이지 않는다.

  • Q11 기존 과거 기록의 조회와 부족한 정보 처리

- 절차: 현재 목록에서는 사라졌으나 과거 기록이 남은 IP를 기존 IP 검색으로 찾는다. 요청 정보나 로그 연결 정보가 부족한 과거 자료도 확인한다.

- 기대: 남아 있는 과거 이력은 조회된다. 확인 가능한 범위의 상태·횟수·요청 정보만 보여주고 없는 값은 -로 둔다. 연결 근거 없는 로그를 임의로 붙이거나 전체 로그로 범위를 넓히지 않는다.

  • Q12 관련 필터 해제 후 일반 조회 복귀

- 절차: 관련 로그에서 필터 해제 버튼, 이미 선택된 BAN 로그 탭 재클릭, 초기화를 각각 실행한다. 관련 조회와 일반 조회에서 새로고침도 해본다.

- 기대: 회차 제한이 해제되고 일반 조회의 날짜 입력·기본 날짜가 돌아온다. 이전·새 회차를 일반 검색으로 볼 수 있고 새로고침 후 옛 회차 제한이 되살아나지 않는다. 관련 상태로 새로고침하면 선택 회차를 유지한다.

  • Q13 동시 차단·해제·재차단 처리

- 절차: 테스트 IP의 로그인 실패 요청을 동시에 발생시키고, 별도 시나리오에서 수동 해제·재차단 요청이 겹치게 수행한다. 처리 완료·오류 응답과 이력을 비교한다.

- 기대: 동일 IP의 차단이 중복 생성되거나 처리 기록이 사라지지 않고, 완료된 처리 순서와 최종 상태·횟수가 맞는다. 실패한 요청은 성공으로 기록하지 않는다.

  • Q14 자동 차단 임계치·집계 기간 경계

- 절차: 현재 자동 차단 기준을 확인하고 집계 기간 안에서 임계치 직전·도달 요청을 재현한다. 집계 기간 경계 전후의 실패 요청도 비교하고 실제 차단기한을 확인한다.

- 기대: 설정된 실패 횟수·집계 기간·차단 기간을 따른다. 초 단위 시간 계산으로 바뀐 경계에서 어떤 요청이 포함되는지 증거를 남긴다. 정밀한 경계를 재현하지 못한 부분은 확인불가로 구분한다.

고정 자료와 비교 기준

  • 125.132.30.100 / 빅스페이먼츠 / 2026-10-27 기준.
  • 이전 차단 17:41:40, 만료18:11:40: 관련 요청4586~4591 총6건, 원인 요청4590의 요청횟수5.
  • 재차단 표시18:51:36, 원인 요청18:51:34, 만료19:21:34: 관련 요청4592~4596 총5건, 원인 요청4596의 요청횟수5.
  • 위 자료는 2026-10-27 개발 DB MCP SELECT로 확인한 기준 시점 자료다. 추가 테스트나 현재 시각에 따라 상태·누적 횟수·회차가 바뀔 수 있으므로 실제 현재 자료를 먼저 확인하고 비교한다.
  • 원래 집계 기준은 해당 기록에 저장된60초다. 현재 테스트 정책이 달라졌다면 사전 기록하고 실제 기준에 맞게 진행한다.

소스와 인계 자료

  • 백엔드 /Users/kkj/.codex/worktrees/issue-4364/bigs-pay-backend-spring, feat/issue-4364, 0389cf0889
  • 관리자 프론트 /Users/kkj/.codex/worktrees/issue-4364-front/bigspay-front-admin, feat/issue-4364, 0ae48e037
  • 업무 항목 JSON /Users/kkj/.codex/worktrees/issue-4364/bigs-pay-backend-spring/.Codex/docs/tickets/4364-dev-qa-list.json
  • 개발 검증 근거 /Users/kkj/.codex/worktrees/issue-4364/bigs-pay-backend-spring/.Codex/docs/tickets/4364-cycle-verification.json
  • 과거 이력 보존 근거 /Users/kkj/.codex/worktrees/issue-4364/bigs-pay-backend-spring/.Codex/docs/tickets/4364-expiry-verification.md
  • 화면 참고 /Users/kkj/.codex/worktrees/issue-4364-front/bigspay-front-admin/.harness/4364-log-cycles-20261027/
  • 화면 참고 자료는 실제 React를 모의 GET으로 검증한 결과다. 개발계 QA 통과의 증거로 쓰지 않는다.

수행 조건

  • 과거 채팅의 티켓·계정·권한·수신자 설정을 이번 요청에 그대로 적용하지 않는다. 새 요청의 요청자/태그 대상은 모두 김경주이며 기본 수신자를 추가하지 않는다.
  • 계정은 QA 레포에서 허용한 비밀 설정의 개발계 admin 계정을 사용한다. 다른 역할 계정으로 대체하지 않는다. 인증정보를 커밋·공개 보고서·알림에 남기지 않는다.
  • 실제 개발계에 최신 백엔드·프론트 기능이 함께 반영됐는지 먼저 확인한다. 미반영·계정·자료 부족은 확인불가 사유로 기록한다. 임의로 제품 코드를 수정·배포하지 않는다.
  • 조회용 관리자 IP·계정과 차단 재현용 IP·요청을 분리한다. 기존 다른 사용자나 공용 접근에 영향을 주지 않는 테스트 자료를 사용한다.
  • Cloudflare를 통과하는 공개 개발 도메인에 CF-Connecting-IP를 직접 지정한 이전 curl은 Cloudflare1000 오류로 서버에 도달하지 않았다. 이를 애플리케이션 BAN 성공으로 판단하지 않는다. 허용된 테스트 접근 경로를 저장소 규칙에 따라 확인한다.
  • 개발 DB 보조 확인은 MCP 조회만 사용한다. SQL CLI·JDBC 등 직접 접속 또는 DB 직접 수정은 하지 않는다.
  • 실제 개발계의 TypeScript/Playwright 실행과 증거(화면·응답·trace 등)를 업무 항목에 연결한다. 자동화 assertion 통과 수와 실제 업무 항목 성공 수를 혼동하지 않는다.
  • 14개 업무 항목을 성공/실패/확인불가로 구분하고 실패는 재현 절차·기대/실제·증거·영향을 남긴다. 이전 QA를 종료한 상태였으므로 현재 규칙에 맞는 작업 브랜치/격리 환경에서 진행하고 기존 변경사항을 보존한다.
  • QA 요청 등록부터 보고서·공개 증거 검증·종료 알림까지 필요한 절차는 BIX-QA 규칙을 따른다. 종료 알림의 요청자·멘션 대상은 김경주(users/112959013708458147544)로 고정한다.

실측 요약

  • 개발계 ADMIN 화면과 API에서 14개 업무 항목 모두 통과했다. 격리 IP의 로그인 실패 요청 생성에만 localhost:8080을 사용하고, 조회·이력·관련 로그 판정은 개발계에서 확인했다.
  • Q04: 차단 중 추가 요청은 누적 차단 횟수를 올리지 않았고, 실제 재차단 뒤에만 1회에서 2회로 증가했다.
  • Q09: 같은 60초 집계 기간의 빠른 재차단에서 이전 회차 관련 로그 5건과 새 회차 1건이 섞이지 않았다.
  • Q10: 같은 IP의 빅스페이먼츠 업체 차단과 전역 차단을 분리했고, 개발계 관련 로그는 각각 빅스페이먼츠 5건과 올데이 개발계 3건이었다.
  • Q13: 동시 실패 요청 8건에서 자동 차단 1건이 생성됐다. 개발계 동시 해제·활성화 요청은 둘 다 200이고 처리 이력과 최종 상태가 일치했다.
  • Q14: 60초·5회·30분 정책에서 4건 뒤 62초가 지난 요청은 새 집계의 1건이었고, 새 집계의 5번째 요청에서 차단됐다.
  • 검증에 쓴 198.51.100.65~198.51.100.70의 차단 7행은 종료 시 모두 해제(INACTIVE)됐다.

Execution Summary

  • Passed: 14
  • Personally Confirmed Executions: 0
  • Failed: 0
  • Skipped: 0
  • Blocked: 0
  • Flaky: 0
  • Duration: 45845ms

한눈에 보는 결과

확인한 항목계정화면수행한 동작결과증거 자료
Q01 전체 기간·기간 지정 조회전체[4364][dev] IP 차단 내역 실제 개발계 업무 14항목전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인기대한 동작과 일치했습니다.스크린샷 1<br>스크린샷 2<br>실행 기록 1<br>실행 기록 2
Q02 검색 범위·총건수·추가 조회 일치전체[4364][dev] IP 차단 내역 실제 개발계 업무 14항목전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인기대한 동작과 일치했습니다.스크린샷 1<br>실행 기록 1
Q03 해제일시 없는 자료의 해제 판정전체[4364][dev] IP 차단 내역 실제 개발계 업무 14항목전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인기대한 동작과 일치했습니다.스크린샷 1<br>실행 기록 1
Q04 누적 차단 횟수와 요청횟수 구분전체[4364][dev] IP 차단 내역 실제 개발계 업무 14항목전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인기대한 동작과 일치했습니다.스크린샷 1<br>실행 기록 1
Q05 수동 차단→해제→재차단 기록 보존전체[4364][dev] IP 차단 내역 실제 개발계 업무 14항목전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인기대한 동작과 일치했습니다.스크린샷 1<br>스크린샷 2<br>실행 기록 1<br>실행 기록 2
Q06 자동 만료→재차단 기록 보존전체[4364][dev] IP 차단 내역 실제 개발계 업무 14항목전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인기대한 동작과 일치했습니다.스크린샷 1<br>실행 기록 1
Q07 만료 전 해제 시 거짓 만료 방지전체[4364][dev] IP 차단 내역 실제 개발계 업무 14항목전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인기대한 동작과 일치했습니다.스크린샷 1<br>실행 기록 1
Q08 관련 BAN 로그의 회차 분리와 원인 요청전체[4364][dev] IP 차단 내역 실제 개발계 업무 14항목전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인기대한 동작과 일치했습니다.스크린샷 1<br>스크린샷 2<br>스크린샷 3<br>실행 기록 1<br>실행 기록 2<br>실행 기록 3
Q09 빠른 재차단과 로그 기간 경계전체[4364][dev] IP 차단 내역 실제 개발계 업무 14항목전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인기대한 동작과 일치했습니다.스크린샷 1<br>실행 기록 1
Q10 같은 IP의 업체별·전역 차단 구분전체[4364][dev] IP 차단 내역 실제 개발계 업무 14항목전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인기대한 동작과 일치했습니다.스크린샷 1<br>실행 기록 1<br>실행 기록 2<br>실행 기록 3
Q11 기존 과거 기록의 조회와 부족한 정보 처리전체[4364][dev] IP 차단 내역 실제 개발계 업무 14항목전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인기대한 동작과 일치했습니다.스크린샷 1<br>스크린샷 2<br>실행 기록 1<br>실행 기록 2
Q12 관련 필터 해제 후 일반 조회 복귀전체[4364][dev] IP 차단 내역 실제 개발계 업무 14항목전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인기대한 동작과 일치했습니다.스크린샷 1<br>실행 기록 1
Q13 동시 차단·해제·재차단 처리전체[4364][dev] IP 차단 내역 실제 개발계 업무 14항목전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인기대한 동작과 일치했습니다.스크린샷 1<br>실행 기록 1
Q14 자동 차단 임계치·집계 기간 경계전체[4364][dev] IP 차단 내역 실제 개발계 업무 14항목전체 계정으로 [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 항목을 확인기대한 동작과 일치했습니다.스크린샷 1<br>실행 기록 1

실패 또는 확인 불가 상세

  • 실패 또는 확인 불가 항목이 없습니다.

수동 재현 필요

  • 수동 재현이 필요한 항목이 없습니다.

스크린샷

  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q01 전체 기간·기간 지정 조회: 스크린샷 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q01 전체 기간·기간 지정 조회: 스크린샷 2
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q02 검색 범위·총건수·추가 조회 일치: 스크린샷 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q03 해제일시 없는 자료의 해제 판정: 스크린샷 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q04 누적 차단 횟수와 요청횟수 구분: 스크린샷 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q05 수동 차단→해제→재차단 기록 보존: 스크린샷 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q05 수동 차단→해제→재차단 기록 보존: 스크린샷 2
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q06 자동 만료→재차단 기록 보존: 스크린샷 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q07 만료 전 해제 시 거짓 만료 방지: 스크린샷 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q08 관련 BAN 로그의 회차 분리와 원인 요청: 스크린샷 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q08 관련 BAN 로그의 회차 분리와 원인 요청: 스크린샷 2
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q08 관련 BAN 로그의 회차 분리와 원인 요청: 스크린샷 3
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q09 빠른 재차단과 로그 기간 경계: 스크린샷 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q10 같은 IP의 업체별·전역 차단 구분: 스크린샷 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q11 기존 과거 기록의 조회와 부족한 정보 처리: 스크린샷 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q11 기존 과거 기록의 조회와 부족한 정보 처리: 스크린샷 2
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q12 관련 필터 해제 후 일반 조회 복귀: 스크린샷 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q13 동시 차단·해제·재차단 처리: 스크린샷 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q14 자동 차단 임계치·집계 기간 경계: 스크린샷 1

화면 재현 기록

  • 화면 재현 기록 자료가 없습니다.
  • 화면 재현 기록은 기본적으로 실패/확인불가 항목에 한해 포함합니다. PASS 항목 trace까지 필요하면 QA_PUBLISH_TRACE=1 npm run qa:report -- --issue <id> --env <env>로 내부 제출용 산출물을 생성합니다.

실행 기록

  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q01 전체 기간·기간 지정 조회: 실행 기록 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q01 전체 기간·기간 지정 조회: 실행 기록 2
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q02 검색 범위·총건수·추가 조회 일치: 실행 기록 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q03 해제일시 없는 자료의 해제 판정: 실행 기록 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q04 누적 차단 횟수와 요청횟수 구분: 실행 기록 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q05 수동 차단→해제→재차단 기록 보존: 실행 기록 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q05 수동 차단→해제→재차단 기록 보존: 실행 기록 2
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q06 자동 만료→재차단 기록 보존: 실행 기록 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q07 만료 전 해제 시 거짓 만료 방지: 실행 기록 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q08 관련 BAN 로그의 회차 분리와 원인 요청: 실행 기록 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q08 관련 BAN 로그의 회차 분리와 원인 요청: 실행 기록 2
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q08 관련 BAN 로그의 회차 분리와 원인 요청: 실행 기록 3
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q09 빠른 재차단과 로그 기간 경계: 실행 기록 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q10 같은 IP의 업체별·전역 차단 구분: 실행 기록 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q10 같은 IP의 업체별·전역 차단 구분: 실행 기록 2
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q10 같은 IP의 업체별·전역 차단 구분: 실행 기록 3
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q11 기존 과거 기록의 조회와 부족한 정보 처리: 실행 기록 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q11 기존 과거 기록의 조회와 부족한 정보 처리: 실행 기록 2
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q12 관련 필터 해제 후 일반 조회 복귀: 실행 기록 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q13 동시 차단·해제·재차단 처리: 실행 기록 1
  • 전체 / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q14 자동 차단 임계치·집계 기간 경계: 실행 기록 1

자동화 원본 결과

ScenarioStatusDurationScreenshot화면 재현 기록LogError
4364/dev/ip-block-history.spec.ts / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q01 전체 기간·기간 지정 조회PASS3545ms스크린샷 1<br>스크린샷 2로그 1<br>로그 2
4364/dev/ip-block-history.spec.ts / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q02 검색 범위·총건수·추가 조회 일치PASS2260ms스크린샷 1로그 1
4364/dev/ip-block-history.spec.ts / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q03 해제일시 없는 자료의 해제 판정PASS2110ms스크린샷 1로그 1
4364/dev/ip-block-history.spec.ts / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q04 누적 차단 횟수와 요청횟수 구분PASS2244ms스크린샷 1로그 1
4364/dev/ip-block-history.spec.ts / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q05 수동 차단→해제→재차단 기록 보존PASS4138ms스크린샷 1<br>스크린샷 2로그 1<br>로그 2
4364/dev/ip-block-history.spec.ts / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q06 자동 만료→재차단 기록 보존PASS3279ms스크린샷 1로그 1
4364/dev/ip-block-history.spec.ts / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q07 만료 전 해제 시 거짓 만료 방지PASS1695ms스크린샷 1로그 1
4364/dev/ip-block-history.spec.ts / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q08 관련 BAN 로그의 회차 분리와 원인 요청PASS5925ms스크린샷 1<br>스크린샷 2<br>스크린샷 3로그 1<br>로그 2<br>로그 3
4364/dev/ip-block-history.spec.ts / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q09 빠른 재차단과 로그 기간 경계PASS1956ms스크린샷 1로그 1
4364/dev/ip-block-history.spec.ts / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q10 같은 IP의 업체별·전역 차단 구분PASS6524ms스크린샷 1로그 1<br>로그 2<br>로그 3
4364/dev/ip-block-history.spec.ts / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q11 기존 과거 기록의 조회와 부족한 정보 처리PASS2496ms스크린샷 1<br>스크린샷 2로그 1<br>로그 2
4364/dev/ip-block-history.spec.ts / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q12 관련 필터 해제 후 일반 조회 복귀PASS5835ms스크린샷 1로그 1
4364/dev/ip-block-history.spec.ts / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q13 동시 차단·해제·재차단 처리PASS1660ms스크린샷 1로그 1
4364/dev/ip-block-history.spec.ts / [4364][dev] IP 차단 내역 실제 개발계 업무 14항목 / Q14 자동 차단 임계치·집계 기간 경계PASS1659ms스크린샷 1로그 1

Notes

  • Playwright 실행 결과를 기준으로 작성되었습니다.
  • 검토 후 qa:redmine:update로 report/evidence를 업로드하고 QA subissue 상태를 갱신합니다.

전체 증거 자료