소프트웨어 리스크 진단

버그만 찾으면
절반만 본 것이다.

Prober 는 기능 · 사용성 · UI/UX · 보안 · 정책/법무 · 코드 — 검증이라 부르는 모든 축에서 제품의 문제와 리스크를 찾습니다. 발견에는 근거와 심각도가 붙고, 끝에는 언제나 해결책 제안이 따라옵니다.

여섯 개의 축

테스트가 다 통과해도 아무도 못 쓰면 실패한 제품입니다. 화면이 완벽해도 권한 하나가 뚫려 있으면 마찬가지고, 약관과 어긋나도 마찬가지입니다. 한 도구가 모든 축을 같은 형식으로 다뤄야 우선순위를 한 번에 매길 수 있습니다.

LENS 01

기능 QA

명세대로 동작하는가?

  • 테스트 케이스 저작 · 회귀 스위트
  • 변경(PR·이슈) 에서 테스트 대상 자동 추출
  • 배포 전 스모크 게이트 — 실제 브라우저 실행
  • 경계값·동등분할 기법 강제로 케이스 누락 차단
LENS 02

사용성 · 페르소나

처음 쓰는 사람이 끝까지 갈 수 있는가?

  • 페르소나별 시나리오 주파 — 신규 · 파워 · 복귀 · 실수하는 사용자
  • 막히는 지점 · 오해하는 문구 · 되돌릴 수 없는 실수 유발 지점
  • 온보딩 · 빈 상태 · 첫 성공까지 걸리는 단계 수
  • 과업 완료율과 이탈 구간을 화면 증거와 함께
LENS 03

UI / UX · 디자인

화면이 스스로 말이 되는가?

  • 일관성 — 같은 개념이 화면마다 같은 모양인가
  • 상태 커버리지 — 빈 / 로딩 / 에러 / 과다 / 오프라인
  • 접근성 기본 — 대비 · 포커스 · 라벨 · 키보드 · 스크린리더
  • 반응형 · 정보 위계 · 카피 톤
LENS 04

보안

화이트해커라면 어디를 먼저 두드릴까?

  • 인증 · 인가 우회 — 남의 리소스가 열리는가 (IDOR · 권한 상승)
  • 입력 신뢰 경계 — 인젝션 · XSS · 파일 업로드 · SSRF
  • 비밀키 · 토큰 · 개인정보 노출 (응답 · 로그 · 프론트 번들)
  • 세션 · 비밀번호 재설정 · 결제 흐름 악용 시나리오
LENS 05

정책 · 법무 리스크

약관이 약속한 것과 제품이 실제 하는 일이 같은가?

  • 이용약관 · 개인정보처리방침 vs 실제 동작 대조
  • 수집 항목 · 보유 기간 · 제3자 제공 고지 누락
  • 동의 흐름 — 필수/선택 분리, 사전 체크 여부
  • 다크패턴 · 해지 경로 은닉 점검
LENS 06

코드 · 구조 리스크

무너질 곳은 어디인가?

  • 에러 처리 누락으로 인한 데이터 손실 경로
  • 트랜잭션 · 동시성 · 정합성 함정
  • 성능 함정 — N+1 · 무한 재시도 · 누수
  • 되돌리기 어려운 구조 부채 · 죽은 경로

여섯 축 안에서 같이 훑는 것들

성능 · 부하느려서 못 쓰는 것도 결함이다
호환성브라우저 · 디바이스 · 해상도
데이터 정합성마이그레이션 · 중복 · 유실
관측성 · 복구로그 · 알람 · 롤백 경로
국제화다국어 · 시간대 · 통화
SEO · 공유메타 태그 · OG 카드 · 크롤링

결과는 언제나 같은 모양으로

어느 축에서 나온 발견이든 리포트 한 장의 형식은 동일합니다. 축마다 문서가 따로 놀면 결국 아무도 안 읽습니다.

발견
회원 탈퇴 시 결제 이력이 즉시 삭제되지만, 개인정보처리방침은 5년 보관을 고지하고 있음
근거
privacy-policy.md L42 "전자상거래법에 따라 5년 보관" ↔ user.service.ts L118 hardDelete(payments)
심각도
HIGH 법정 보존 의무 위반 + 고지 불일치
해결책
결제 이력은 소프트 삭제 + 익명화로 전환하고 보존 기간 만료 배치를 둔다. 방침 문구를 실제 보존 대상과 일치시킨다.

어떻게 도는가

점검 항목은 md 파일로 남고 git 이 이력을 갖습니다. 별도 DB 없이 코드와 같은 리뷰 흐름을 탑니다.

plan

무엇을 볼지 정한다. 3축 범위 산정 + 기존 커버리지 갭 분석.

author / extract

점검 항목을 저작하거나 변경 diff 에서 자동 추출한다.

run

스모크 게이트를 실제 브라우저에서 돌리고 증거를 남긴다.

report

발견을 근거·심각도와 함께 묶고 해결책을 제안한다.