콘텐츠로 이동

QA 체크리스트 — 자주 발생하는 버그 패턴

앱 QA(417건), 웹 QA(321건), ADSB 멀티스토어 확장(Jira 72건) 세 소스를 검토해 반복적으로 발생하는 패턴만 시나리오별로 추렸다. 개별 버그 티켓 목록이 아니라, 다음 QA에서 “이 상황이면 이걸 체크하라”는 실전 체크리스트다.


1. 결제/PG — 가장 많이 터지는 영역

섹션 제목: “1. 결제/PG — 가장 많이 터지는 영역”
  • 결제수단(카카오페이/네이버페이/토스페이/신용카드/에스크로) 추가·변경 시 PG 전체 회귀 테스트. “PG A를 선택했는데 PG B 화면으로 연결”되는 유형은 특히 심각도가 높다.
  • 서버가 에러(404, 재고부족, 최소결제금액 미달, 계좌 미등록 등)를 리턴하는 케이스를 에러코드별로 강제 재현해 안내 문구·상태 처리를 확인한다. (정상 흐름만 테스트하고 “실패하는 모든 경우”를 놓치는 패턴이 반복됨)
  • 쿠폰×적립금×예치금 복수 조합 케이스를 테스트한다. “단일 적용”만 확인하고 “조합 적용”에서 금액이 틀어지는 경우가 반복됨.
  • 장바구니→결제 페이지 전환 시 쿠폰/적립금/배송비가 재계산되는지 확인한다. 결제수단 변경 시 적용된 쿠폰이 조용히 해제되는 경우가 있다.
  • 기프트카드 등 특수 상품 타입은 일반 주문 플로우에서 분기해야 하는 지점(배송지 필요 여부·결제수단 제한·적립금 처리)을 별도 체크리스트로 검증한다.
  • 배송지/결제수단 재진입 시 이전 선택값이 유지되는지 확인한다 (다시 열면 기본값으로 되돌아가는 경우가 반복됨).

2. CRUD “수정” 액션 — 반영 안 되거나 새로 생성되는 패턴

섹션 제목: “2. CRUD “수정” 액션 — 반영 안 되거나 새로 생성되는 패턴”

배송지·반품 신청·환불계좌처럼 유사한 CRUD가 여러 화면에 중복 구현된 영역일수록 반복된다.

  • 정보 수정 후 반드시 재조회해서 실제로 반영됐는지 확인한다 (Update가 내부적으로 Create로 처리되어 항목이 중복 생성되는 사례가 있었음).
  • 필드 매핑이 뒤섞이지 않는지 확인한다 (예: 배송지 “이름”란에 수취인 이름이 표시되는 등).
  • 상태가 바뀐 뒤 그 상태를 참조하는 모든 화면(주문내역/반품내역/상세)이 동시에 갱신되는지 확인한다. 한 화면만 갱신되고 나머지는 이전 상태를 보여주는 경우가 반복됨.

3. 화면 전환·재진입 — 상태가 새거나 반대로 새어나가는 패턴

섹션 제목: “3. 화면 전환·재진입 — 상태가 새거나 반대로 새어나가는 패턴”
  • 필터/정렬/검색 상태가 재진입 시 유지되는지 확인한다.
  • 반대로 필터/검색 상태가 다른 탭·화면으로 새어나가지 않는지 확인한다 (검색 필터가 쇼핑 탭에도 적용되는 등).
  • 리스트 화면(피드/검색결과)에서 상세로 들어갔다 뒤로가기 시 스크롤 위치·정렬이 유지되는지, 리스트가 불필요하게 재요청되지 않는지 확인한다.

4. 필터 — 정적/동적 구분, 배타 관계

섹션 제목: “4. 필터 — 정적/동적 구분, 배타 관계”
  • 필터 해제/초기화가 의도대로 동작하는지 확인한다 (1개 해제 시 다른 필터가 같이 풀리는 등의 사례가 있었음).
  • “정적 필터”(구분/브랜드/카테고리)와 “동적 필터”(컬렉션 등)의 반영 시점을 표로 정리해두고, 서로 배타적인 필터 조합(예: 컬렉션 선택 시 다른 필터 비활성)이 실제로 그렇게 동작하는지 확인한다.
  • 필터 UI에 표시되는 상품 개수와 실제 적용 후 노출 개수가 일치하는지 확인한다.

5. PDP — 추천/연관 로직, 미디어

섹션 제목: “5. PDP — 추천/연관 로직, 미디어”
  • “다른 색상”·추천상품 영역에 조건에 안 맞는 상품이나 중복 상품이 섞이지 않는지 확인한다.
  • 데이터 페칭 실패 시 재시도 없이 바로 에러 화면으로 전환되지 않는지 확인한다 (“상품상세가 없습니다”가 랜덤하게 뜨는 사례가 있었음 — 새로고침하면 정상 로드).
  • 구매/장바구니 버튼 더블클릭 방어(중복 담기 방지)가 되는지 확인한다.

6. 신규 기능 (라플 등) — 외부 진입 경로와 상태 조합

섹션 제목: “6. 신규 기능 (라플 등) — 외부 진입 경로와 상태 조합”
  • 인앱 네비게이션 테스트 외에 딥링크·공유링크를 통한 외부 진입 경로를 별도로 테스트한다 (신규 기능일수록 이 경로가 부족했다).
  • “로그인 여부 × 동의 여부” 같은 상태 조합을 매트릭스로 만들어 전부 커버한다 (마케팅 동의를 이미 했는데도 팝업이 또 뜨는 등 특정 조합에서만 깨지는 사례가 반복됨).
  • 개발 중 하드코딩해둔 임시 데이터(배송상태, 생성일자 등)가 실데이터로 연동됐는지 릴리즈 전 체크리스트에 넣는다.

7. 쿠폰/적립금 — 판정 로직과 UI 상태 싱크

섹션 제목: “7. 쿠폰/적립금 — 판정 로직과 UI 상태 싱크”
  • 쿠폰 적용불가 판정 시 선택 UI 상태가 자동으로 해제되는지 확인한다 (판정 로직과 선택 상태가 따로 관리되며 싱크가 안 맞는 패턴이 반복됨).
  • “전액사용” 등 금액 관련 버튼의 중복 클릭 방어, 실시간 반영(천단위 구분기호 포함), 페이지네이션 동작을 확인한다.

8. CMS/Strapi 콘텐츠 — 엣지 케이스

섹션 제목: “8. CMS/Strapi 콘텐츠 — 엣지 케이스”
  • 콘텐츠가 비어있거나 “링크만 있는” 케이스를 기본 테스트 항목에 포함한다.
  • 웹과 앱에서 같은 콘텐츠(에디토리얼 등)가 다르게 렌더링되지 않는지 별도로 검증한다.

9. 멀티스토어 확장 시 — 스토어 격리 체크리스트

섹션 제목: “9. 멀티스토어 확장 시 — 스토어 격리 체크리스트”

ADSB(두 번째 브랜드 스토어) 확장 프로젝트에서 반복된 패턴: 한 로직이 여러 스토어에 걸쳐 안전하게 동작하는지 사전 점검하는 습관이 약하다. 다음 지점은 새 스토어를 추가할 때마다 매번 하드코딩 여부를 확인해야 한다.

  • 비노출 플래그 — 한 스토어만 비노출 처리해도 다른 스토어 상품까지 같이 비노출되지 않는지
  • 알림/푸시 라우팅 — 특정 스토어의 주문/알림이 다른 스토어 앱으로 잘못 발동되지 않는지
  • 어드민 필터/화면 — 신규 스토어 옵션이 회원 필터·주소 목록 등 어드민 화면에 실제로 반영되는지
  • 이미지 파일명 규칙 — 매직넘버(파일명 끝번호) 기반으로 스토어를 구분하는 방식은 스토어가 늘어날수록 규칙을 계속 확장해야 하므로, 신규 스토어 추가 시 가장 먼저 막히는 지점 중 하나다
  • 적립금 등 히스토리 적재 로직 — 특정 스토어 기준으로만 동작하도록 하드코딩되어 있지 않은지

참고 패턴: 같은 기능의 “에러 증상”은 빠르게 고쳐지는데 “근본 로직”(스토어별 스코프 분리)은 계속 뒤로 밀리는 경우가 있었다 (표면 에러 픽스 완료 vs 근본 로직 여전히 진행중). 증상 대응만으로 끝내지 말고 근본 원인 티켓을 별도로 추적할 것.


  • 앱 리뉴얼 QA(Notion, Bug 417건), 웹 리뉴얼 QA(Notion, QA 321건), ADSB 멀티스토어 확장(Jira, 72건 — 완료 56 / 미완료 10 / 진행중 1)을 검토해 반복 패턴만 추출했다.
  • 개별 티켓 번호·상세 통계가 필요하면 원본 트래커(Notion “Release Version UAT (QA)0”, “WEB 리뉴얼 QA”, Jira WO 프로젝트)에서 직접 확인한다.