Scenario-Driven Detection — AI 자율 추론 기반 논리 결함 탐지/수정 프레임워크. 기능 에러(crash, 500)가 아닌 '논리적으로 비정상인 동작'을 찾아 자동 수정한다. 사용 시점: (1) URL을 주고 웹사이트 논리 테스트 요청, (2) 소스코드 프로젝...
합리적 추론으로 "기능은 되지만 논리적으로 이상한" 동작을 찾아 고친다.
기존 테스트가 잡지 못하는 영역:
SDD는 AI가 코드 구조/네이밍/DOM을 보고 "이건 이렇게 동작해야 한다"를 스스로 추론하여 검증한다.
SCAN → INFER → VERIFY → FIX → CONFIRM
입력에 따라 모드 자동 선택:
트리거: 프로젝트 경로가 주어졌을 때
트리거: URL이 주어졌을 때
<a>, <button>, [role="button"], [onclick], 클릭 가능한 <div> 등/ (대시보드)
├── /users (사용자 목록)
│ ├── [편집 버튼] → ?
│ ├── [삭제 버튼] → ?
│ └── [행 클릭] → ?
├── /settings (설정)
│ └── [저장 버튼] → ?
# SDD 사이트맵
- 총 페이지: N개
- 총 인터랙션 포인트: M개
- 시나리오 후보: K건
AI가 각 인터랙션 포인트에 대해 "합리적 기대 결과"를 자율 생성한다.
네비게이션 추론
편집/수정/edit → 해당 항목의 편집 화면/모달상세/detail/view → 해당 항목의 상세 화면목록/list/back → 상위 목록으로 복귀삭제/delete → 확인 다이얼로그 → 삭제 후 목록 갱신생성/추가/new/create → 생성 폼/모달상태 변경 추론
저장/save/submit → 성공 피드백(토스트/알림) + 데이터 반영취소/cancel/close → 변경사항 버리고 이전 상태 복귀토글/switch → 상태 즉시 반전 + 시각적 피드백데이터 정합성 추론
접근성/UX 추론
editUser → 편집)각 시나리오에 대해:
[SDD-001]
- 요소: 편집 버튼
- 위치: /users > 테이블 3행
- 기대 결과: 해당 사용자의 편집 모달/화면 오픈
- 신뢰도: HIGH
사이트맵 기준 깊이 우선 순회하며 각 시나리오 실행:
검증 완료: 42건
- ✅ PASS: 36건
- ❌ LOGIC DEFECT: 4건
- ❓ UNCERTAIN: 2건
LOGIC DEFECT 각 건에 대해:
소스코드 없으므로 직접 수정 불가:
# SDD 테스트 보고서
## 개요
- 대상: [URL 또는 프로젝트 경로]
- 일시: YYYY-MM-DD HH:mm
- 모드: URL 크롤링 / 소스코드 분석
- 소요 시간: Nm Ns
## 사이트맵
(계층 트리)
## 검증 요약
| 구분 | 건수 |
|------|------|
| 전체 시나리오 | 42 |
| ✅ PASS | 36 |
| ❌ LOGIC DEFECT | 4 |
| ❓ UNCERTAIN | 2 |
| ✅ FIXED | 3 |
| ⚠️ RETRY NEEDED | 1 |
## 상세 결과
### [SDD-001] 편집 버튼 클릭
- 위치: /users > 테이블 3행 > 편집 버튼
- 기대: 해당 사용자 편집 모달 오픈
- 실제: 대시보드(/)로 이동
- 판정: ❌ LOGIC DEFECT
- 신뢰도: HIGH
- 원인: onClick → navigate('/') 호출
- 수정: navigate('/') → openEditModal(userId)
- 검증: ✅ FIXED
### [SDD-002] ...
## 수정 이력
| ID | 내용 | 결과 |
|----|------|------|
| SDD-001 | onClick 핸들러 수정 | ✅ FIXED |
| SDD-017 | API 응답 후 목록 미갱신 | ✅ FIXED |
| SDD-028 | empty state 추가 | ✅ FIXED |
| SDD-031 | 삭제 확인 누락 | ⚠️ 수동 검토 |
사용자가 이렇게 요청하면 SDD를 실행:
최종 보고서는 반드시 md 파일로 저장하고 전달한다.
sdd-report-{대상명}-{YYYY-MM-DD}.mdZIP package — ready to use