chenjigang4167/testhub_platform
TestHub一站式AI智能测试平台 · By 大刚(公众号:测试开发实战)
TestHub – AI 기반 풀스택 테스트 관리 플랫폼
그것은 무엇인가 – TestHub는 QA 팀이 전체 테스트 수명 주기를 관리할 수 있도록 도와주는 웹 애플리케이션입니다. 테스트 관리 도구의 일반적인 테스트 케이스, 테스트 스위트 및 결함 추적 기능과 자동화 엔진(Selenium, Playwright, Airtest, Locust) 세트를 결합하며, 더 중요한 것은 요구 사항 문서에서 테스트 케이스를 생성하고 브라우저를 자동으로 구동하며 Dify 챗봇을 통해 테스트 관련 질문에 답변할 수 있는 AI 기반 도우미를 제공합니다.
주요 기능
| 영역 | TestHub가 제공하는 것 |
|---|---|
| AI 지원 요구 사항 분석 | PDF/Word/TXT 사양을 업로드하면 통합 LLM(DeepSeek, OpenAI, Anthropic, Gemini 등)이 비즈니스 요구 사항을 추출하고 초기 테스트 케이스를 생성합니다. |
| 테스트 케이스 작성 및 검토 | 전체 CRUD, 버전 관리, 태그 지정, 템플릿 및 체크리스트가 포함된 다단계 검토 워크플로. |
| API 테스트 | HTTP 및 WebSocket 지원, 계층적 테스트 스위트 구성, 변수 대체, 어서션, 예약 실행, Allure 보고서, 이메일/Webhook 알림. |
| Web UI 자동화 | Selenium 및 Playwright 엔진, 멀티 브라우저(Chrome/Firefox/Edge), 비주얼 스크립트 편집기, POM 지원, LLM이 페이지 구조를 이해하고 단계를 생성하는 AI "브라우저 사용" 모드(텍스트 또는 비전 기반). |
| 모바일(Android) 자동화 | Airtest 이미지 인식, 로컬 에뮬레이터 또는 원격 장치 처리, 리소스 잠금, 컴포넌트 라이브러리, Celery 기반 비동기 실행 및 실시간 WebSocket 진행 상황. |
| 성능 테스트 | Locust 기반 부하 테스트 작업과 메트릭 대시보드 및 보고서. |
| 데이터 팩토리 | 50개 이상의 유틸리티(랜덤 데이터, 인코딩, 암호화, JSON 헬퍼, cron 표현식 파서 등)를 API 또는 UI 테스트에서 직접 참조할 수 있습니다. |
| 협업 및 보안 | 리프레시/블랙리스트가 있는 JWT 이중 토큰 인증, 역할 기반 프로젝트 권한, 이메일 및 엔터프라이즈 메신저(WeChat, DingTalk, Feishu) Webhook. |
| 확장 가능한 AI 통합 | 많은 LLM 공급자를 플러그인 스타일로 지원합니다. 역할(케이스 작성, 검토, 브라우저 사용)별 모델 선택. |
아키텍처
- 백엔드: Django 4.2 + DRF, MySQL, Redis(Celery/WebSocket용 선택 사항), JWT 인증, 비동기 및 예약 작업용 Celery + APScheduler, WebSocket용 Channels/Daphne, 보고용 Allure, AI 호출용 LangChain-OpenAI 및
browser-use. - 프론트엔드: Vue 3 + Vite, Element Plus UI 라이브러리, Pinia 스토어, Vue-Router, Axios, 스크립트 편집용 Monaco 에디터, 시각적 대시보드용 ECharts, 다국어 UI용 vue-i18n.
- 자동화 엔진: Selenium, Playwright, Airtest(OCR 포함), Locust.
- 배포 옵션:
runserver/daphne를 사용한 로컬 개발, Docker Compose(DB, Redis, Celery workers 포함), Allure 보고서 생성을 위한 선택적 Java 런타임.
일반적인 워크플로
- 요구 사항 가져오기 → AI가 기능 포인트를 추출 → 자동 생성된 테스트 케이스가 요구 사항 분석 모듈에 나타납니다.
- 검토 및 개선 → 팀원은 내장 검토 프로세스를 사용하여 케이스를 승인하거나 편집합니다.
- 테스트 스위트 구축 → API, UI 또는 모바일 테스트를 결합합니다. 데이터 팩토리에서 데이터를 첨부합니다.
- 실행 → 동기(개발) 또는 Celery를 통해 비동기로 실행합니다. WebSocket UI로 진행 상황을 모니터링합니다. 결과는 Allure 및 ECharts로 저장 및 시각화됩니다.
- 보고 및 결함 추적 → 자동 연결된 결함 항목, 이메일/엔터프라이즈 메신저로 알림.
시작하기(README에 설명된 대로)
- Python 3.12, Node 18+, MySQL 8, 선택적 Redis 및 Java 17을 설치합니다.
- 저장소를 클론 → virtualenv 생성 →
pip install -r requirements.txt. .env.example을.env로 복사하고 DB/Redis/AI-API 키를 입력합니다.- MySQL 데이터베이스
testhub를 생성하고 Django 마이그레이션 +createsuperuser를 실행합니다. - (선택 사항) UI 로케이터 전략 및 Android 컴포넌트 팩을 로드하는 도우미 명령을 실행합니다.
- 백엔드(
python manage.py runserver또는 WS용 Daphne) 및 프론트엔드(npm install && npm run dev)를 시작합니다. - UI는
http://localhost:3000, API 문서는http://localhost:8000/api/docs/에서 액세스합니다. - Docker 대안:
./build-and-push.sh실행 후docker-compose up -d.
누가 사용할까요
- 수동 케이스 관리, 자동화된 API/UI/모바일 테스트 및 AI 지원 테스트 생성을 위한 단일 포털을 원하는 QA 팀.
- 자체 추론 스택을 구축하지 않고 여러 LLM 공급자를 통합하려는 조직.
- 자체 호스팅 솔루션에서 예약 테스트 실행, 성능 테스트 및 풍부한 보고(Allure, ECharts)가 필요한 회사.
라이선스 – GPL 3.0(오픈 소스이지만 파생물도 GPL 라이선스여야 함).
위의 모든 세부 사항은 저장소의 README에서 직접 가져온 것이며 추가 기능은 추론되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트