어떤 사이트든,
누구나 하는 브라우저 QA
클릭만 하면 테스트가 기록되고, 한 줄이면 전체 회귀가 돌아갑니다. 콘솔 오류·깨진 요청·예상 밖 팝업까지 자동으로 찾아내고, 리포트는 비개발자도 읽는 우리말 문장으로 나옵니다.
Claude Code 스킬 + Textual TUI + CLI · Python 3.10+ · MIT
$ superqa run --all --site myshop --headless 실행: 로그인-정상 (myshop) [1] 사이트 접속 ... 성공 [2] 아이디 입력 ... 성공 [3] 로그인 버튼 클릭 ... 성공 [4] 환영 문구 확인 ... 성공 !! http_error: 500 /api/recommend 결과: 성공 | 4단계 성공 · 부작용 1건 감지 리포트: ~/.superqa/reports/…/report.html 전체 결과: 3/3 성공 · exit 0
세 단계면 끝
코드도, 셀레늄 강의도 필요 없습니다. 브라우저를 평소처럼 쓰는 것이 곧 테스트 작성입니다.
클릭으로 기록
실제 크롬 창에 SuperQA 패널이 뜹니다. 사이트를 평소처럼 클릭하면
각 동작이 "'로그인' 버튼 클릭" 같은 우리말 단계로 저장됩니다.
비밀번호는 평문 대신 {{password}}로 기록됩니다.
실행·스케줄
TUI에서 키 하나로 실행하거나, superqa run --all로 전체 회귀를 돌립니다.
N분마다 자동 실행하는 스케줄과 CI용 headless 모드도 내장.
리포트 받기
단계별 스크린샷, 성공/실패 배지, 부작용 표가 담긴 단일 HTML. 한국어·영어 내장, 누구에게든 그대로 전달하면 됩니다.
흐름이 통과해도, 문제는 드러난다
SuperQA는 시나리오 단계만 보지 않습니다. 실행 내내 브라우저 전체(팝업 포함)를 감시합니다.
부작용 자동 감지
콘솔 오류, 미처리 JS 예외, 실패한 요청, HTTP 4xx/5xx를 단계 번호와 함께 기록. 중복은 횟수로 합치고 알려진 노이즈는 분리해, 진짜 결함만 눈에 띕니다.
팝업·다이얼로그 완전 대응
alert/confirm/prompt는 정책대로 자동 처리, 새 탭·팝업은 자동으로 따라가서 그 안에서 검증을 계속합니다. 이중 새 탭 체인도 문제없습니다.
계정 저장소 + 마스킹
아이디/비밀번호는 SQLite에 한 번만 저장하고 시나리오에선 {{username}}으로 참조.
비밀값은 모든 리포트와 오류 메시지에서 자동 마스킹됩니다.
기능 완료 후 회귀 테스트
실행할 때마다 직전 실행과 자동 비교해 새 실패·새 부작용 유형만 짚어주고, 변화가 없으면 "회귀 없음" 판정. exit code로 CI 게이트도 됩니다.
화면 변화 감지 + 실패 리플레이
기준선을 채택하면 매 실행 스크린샷을 픽셀 비교해 레이아웃 변화가 빨간 diff 이미지로 표시. 실패한 실행은 trace.zip으로 그 순간을 되돌려봅니다.
클릭으로 실행하는 웹 admin
superqa serve로 브라우저 대시보드를 엽니다. 녹화·에이전트
생성 시나리오를 실행 버튼 하나로 돌리고, 진행·이력·리포트를 한 화면에서 봅니다.
API 요청·응답까지 증거로
화면이 실제로 호출한 API를 상태코드와 응답 본문까지 남깁니다. "화면은 멀쩡한데 값이 틀리다"를 프런트/백 어디 문제인지 가려냅니다.
목적에 맞는 엔진 선택
응답 본문·팝업·윈도우 지원 여부로 엔진을 고릅니다. 한 페이지엔 엔진 하나 — 섞으면 네트워크 기록이 비는 함정까지 규칙으로 박아뒀습니다.
사이트 정보는 로컬에만
시나리오·계정·사이트 규칙은 전부 ~/.superqa/에 저장.
저장소에는 어떤 사이트 정보도 커밋되지 않습니다.
Claude Code 스킬로 쓰면
스킬 이름은 browser-qa. "이 사이트 QA해줘" 한 줄이면 에이전트가 사이트를 탐색해 시나리오 케이스를 직접 설계하고, 실행하고, 결과를 분류해 보고합니다.
설치
2분이면 첫 QA를 돌릴 수 있습니다.