문제 (Problem)

UI 자동화 테스트는 프론트엔드가 변경될 때마다 셀렉터가 깨지는 문제를 안고 있습니다:

  • 디자인 리팩토링 후 data-testid, CSS 클래스, XPath가 일괄 변경
  • CI 파이프라인이 셀렉터 불일치로 빈번하게 실패
  • 수동으로 깨진 셀렉터를 찾아 수정하는 데 매주 수 시간 소요
  • Playwright 사용자도 예외가 아님 — locator가 깨지면 수동 업데이트 필요

Pain Point 강도: 9/10 - 테스트 유지보수가 테스트 작성보다 더 고통스러움

시장 (Market)

  • 1차 시장: 글로벌 QA 엔지니어, 풀스택 개발자
  • 세그먼트: Playwright로 E2E 테스트를 운영하는 1-50인 개발팀
  • TAM: 테스트 자동화 시장 ~$25B (2025), CAGR 15-17%
  • 핵심 사실: 기존 자동복구 도구(Healenium, Katalon, Testim)는 모두 엔터프라이즈 타겟. $50/mo 미만의 인디 개발자용 자동복구 도구는 없음

솔루션 (Solution)

SelfHealTest Lite - Playwright 생태계 전용 자동복구 npm 플러그인

핵심 기능

  1. 자동 셀렉터 복구: 깨진 locator를 DOM 유사도 분석으로 자동 대체 후 테스트 속행
  2. 복구 리포트: 어떤 셀렉터가 변경되었고, 어떤 대안으로 복구했는지 diff 리포트
  3. 코드 업데이트 제안: 복구된 셀렉터로 테스트 코드를 자동 업데이트하는 CLI 명령
  4. 신뢰도 점수: 복구된 셀렉터의 확신도를 0-100%로 표시, 임계값 이하면 실패
  5. Playwright Fixture 통합: 기존 테스트 코드 수정 없이 fixture로 주입

사용 시나리오

# 설치
$ npm install -D selfhealtest-lite

# playwright.config.ts에 추가
# import { selfHealFixture } from 'selfhealtest-lite';
# export default defineConfig({ use: { ...selfHealFixture() } });

# 테스트 실행 — 셀렉터 깨져도 자동 복구
$ npx playwright test

  ✅ 23/25 tests passed
  🔧 2 selectors auto-healed:
     login.spec.ts:14  #submit-btn → button[type="submit"]  (confidence: 94%)
     cart.spec.ts:32   .price-label → [data-price]          (confidence: 87%)

# 복구된 셀렉터로 코드 자동 업데이트
$ npx selfheal apply
2 files updated with healed selectors

경쟁 (Competition)

경쟁사가격약점
HealeniumFree OSS/$AWS복잡한 설정, Selenium 전용, Playwright 미지원
Katalon$208/월+엔터프라이즈 전용, 무거운 IDE
Functionize$99/월+ML 기반, 고가, 소규모 팀 부적합
Testim (Tricentis)$450/월+엔터프라이즈 가격, 락인 강함
Playwright 기본Free자동복구 없음, 수동 셀렉터 관리

경쟁 강도: Medium - 자동복구 카테고리 존재하지만 Playwright 생태계 전용은 부재 차별점: npm install 한 줄로 Playwright에 자동복구 추가. 엔터프라이즈 가격 1/10.

MVP 개발 (MVP)

  • MVP 기간: 6주
  • 풀 버전: 5개월
  • 기술 복잡도: Medium
  • 필요 스택: TypeScript, Playwright Plugin API, CDP (Chrome DevTools Protocol), Node.js

MVP 범위

  1. Playwright fixture/reporter 기반 셀렉터 모니터링
  2. DOM 유사도 분석 자동복구 엔진 (attribute matching + structural similarity)
  3. 복구 리포트 생성 (JSON + 터미널 출력)
  4. selfheal apply 코드 업데이트 CLI

수익 모델 (Revenue)

  • 모델: Freemium + Subscription
  • 가격:
    • Free: 5 자동복구/실행, 기본 리포트
    • Pro: $29/월 (무제한 복구, 코드 업데이트, 히스토리 추적)
    • Team: $49/월 (CI 대시보드, 팀 공유, Slack 알림)
  • 예상 MRR (6개월): $3,000
  • 예상 MRR (12개월): $15,000

리스크 (Risk)

유형수준대응
기술MediumDOM 유사도 분석의 정확도가 핵심. 단순 attribute matching부터 시작, 점진적 개선
시장MediumQA 도구 채택에는 신뢰가 필요 → 오픈소스 코어로 신뢰 구축
실행LowPlaywright plugin API가 잘 설계되어 있어 통합 복잡도 낮음

추천 (Recommendation)

점수: 92/100 ⭐⭐⭐⭐⭐

추천 이유

  1. $25B 테스트 자동화 시장에서 명확한 가격 갭($50 미만) 포착
  2. Playwright 생태계 전용으로 설치 마찰 최소화 (npm install 한 줄)
  3. “깨진 테스트 수정” 고통은 모든 개발팀이 공감하는 universal pain
  4. 오픈소스 코어 + SaaS 대시보드로 자연스러운 성장 경로
  5. dev_tools + automation 도메인 완벽 적합

리스크 요인

  1. DOM 유사도 분석의 정확도가 낮으면 신뢰 상실 → false positive 최소화 필수
  2. Playwright가 자체적으로 자동복구 기능을 추가할 가능성
  3. 소규모 팀에서 $29/월의 가치를 증명해야 함

첫 번째 액션

  1. Playwright fixture API로 셀렉터 실패 감지 후크 구현
  2. attribute matching 기반 셀렉터 대안 탐색 엔진 개발
  3. npm 패키지로 출시 후 Playwright Discord/GitHub에 공유
  4. Hacker News Show HN + r/QualityAssurance 론칭

이 아이디어는 Show HN의 “Self-healing browser harness via direct CDP"에서 영감을 받아, 범용 CDP 하네스를 Playwright 전용 플러그인으로 축소(constrain)하여 설치 마찰을 제거하고 생태계 친화적으로 변형한 결과입니다.