자연어 기반 웹 테스트 도구 kotoba v0.0.1 발표
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
웹 테스트 및 QA 엔지니어, Python 기반 자동화 도구 개발자
(난이도: 중간 - LLM과 패턴 매칭 기술 이해 필요)
핵심 요약
- 6배 속도 향상: LLM 의존도 5%로 줄이고 203개 패턴 매칭 적용
- 2단계 처리 프로세스:
- 패턴 매칭 (<1ms) → LLM 일반 처리 (100-1000ms)
- 포괄적 검증 기능:
AssertionType
enum 기반 20개 이상의 검증 유형 지원
섹션별 세부 요약
1. 도구 개요
- kotoba v0.0.1: 자연어로 웹 테스트 가능
- Playwright + LLM 결합으로 사용자 친화적 명령 처리
- 예: "Login 버튼 클릭", "이메일 입력" 등
- 기존 문제점: LLM 사용 시 1.1-1.6초/명령 처리 지연
2. 속도 향상 전략
- 패턴 매칭 기반 처리:
- 203개 자연어 패턴 정의 (예: r"[「""]?(.+?)[」""]?が(?:表示されて|出て|見えて)?(?:いる|いること|いることを)(?:確認|チェック|検証)"
)
- 패턴 매칭 성공 시 LLM 사용 없이 처리 (1ms 이하)
- 패턴 확장 계획:
- 목표: 500개 패턴 → 처리 시간 10ms 이하
3. 검증 시스템 구현
- AssertionType Enum 정의:
```python
class AssertionType(Enum):
TEXT_EXISTS = "text_exists"
ELEMENT_VISIBLE = "element_visible"
URL_CONTAINS = "url_contains"
```
- 패턴 매칭 라이브러리:
- AssertionPatternMatcher.parse()
메서드로 명령 분석
- AssertionExecutor.execute()
로 검증 실행
4. 테스트 결과
- 성능 지표:
| 패턴 수 | LLM 사용 비율 | 평균 처리 시간 | 속도 향상 |
|---|---|---|---|
| 203 | 5% | 50ms | 6x faster |
- 지원 언어: 일본어, 영어, 중국어
- 테스트 성공률: 100% (6/6 테스트 케이스)
5. 패턴 범위
- 20개 주요 범주:
- 폼 요소, 모달, 로그인, 성능, 보안 등
- 예: AssertionType.ELEMENT_EXISTS
→ 버튼, 입력 필드 검증
결론
- 실무 적용 팁:
- 패턴 매칭 우선 전략으로 LLM 의존도 최소화
- AssertionType
enum 기반의 유연한 검증 구현
- 커뮤니티 기반 패턴 데이터베이스 확장으로 지속적 개선
- kotoba v0.0.1은 2025년 6월 20일 오픈소스로 배포됨.