dev-tester-assistant
v0.1.0
Published
AI-powered Test & Load Testing Assistant CLI
Maintainers
Readme
DevTA - AI-powered Test & Load Testing Assistant CLI
AI provider를 자유롭게 선택하여 테스트 코드 생성과 Docker + k6 부하 테스트를 자동화하는 CLI 도구
Quick Start
# 설치
npm install -g dev-tester-assistant
# 프로젝트에서 초기화
cd your-project/
devta init
# AI Provider 연결
devta provider add openai --api-key sk-xxx
# 또는
devta provider add claude --api-key sk-ant-xxx
# 테스트 생성
devta test generate src/services/user.service.ts
# 부하 테스트
devta load env up # Docker 환경 구성 (인터랙티브 wizard)
devta load scenario generate src/controllers/api.controller.ts
devta load run scenario.js --type spike
devta load analyze latest --lang ko설치
# npm 글로벌 설치
npm install -g dev-tester-assistant
# 또는 npx로 설치 없이 실행
npx dev-tester-assistant --help요구 사항
- Node.js >= 20.0.0
- Docker (부하 테스트 사용 시)
- AI Provider API Key (OpenAI, Claude, Gemini 중 하나)
기능 개요
1. AI 테스트 코드 생성
| 명령어 | 설명 |
|--------|------|
| devta test generate <path> | 소스 파일 분석 → 유닛 테스트 생성 |
| devta test edge-cases <path> | 누락된 엣지 케이스 분석 및 테스트 제안 |
| devta test explain-failure | 테스트 실패 원인 분석 및 수정 제안 |
| devta test mock-strategy <path> | 의존성 분석 → mock/stub 전략 제안 |
2. Docker + k6 부하 테스트
| 명령어 | 설명 |
|--------|------|
| devta load env up | Docker 환경 구성 (앱 + DB + k6 + 모니터링) |
| devta load env down | 환경 종료 및 정리 |
| devta load env status | 컨테이너 상태 확인 |
| devta load scenario generate <source> | AI로 k6 시나리오 생성 (DTO 자동 분석) |
| devta load run <scenario> | 부하 테스트 실행 |
| devta load analyze <id> | AI 성능 분석 리포트 |
| devta load history | 테스트 이력 조회 |
명령어 상세
devta init
devta init
devta init --name my-api --language typescript --framework vitestdevta provider
devta provider add openai --api-key sk-xxx # Provider 등록
devta provider add claude --api-key sk-ant-xxx
devta provider list # 등록된 Provider 목록
devta provider test openai # 연결 테스트
devta provider remove openai # 제거devta test generate <path>
# 기본 사용
devta test generate src/services/user.service.ts
# 프레임워크/Provider 지정
devta test generate src/utils/validator.ts --framework vitest --provider claude
# 파일로 저장
devta test generate src/services/order.service.ts -o tests/order.test.ts| 옵션 | 설명 | 기본값 |
|------|------|--------|
| -f, --framework <fw> | 테스트 프레임워크 | config 설정값 |
| -p, --provider <name> | AI provider | default provider |
| -m, --model <model> | AI 모델 | provider별 기본 모델 |
| -o, --out-file <path> | 출력 파일 경로 | stdout |
devta test explain-failure
npm test 2>&1 | devta test explain-failure
devta test explain-failure --file test-output.log --source src/user.tsdevta load env up
인터랙티브 wizard로 Docker 환경을 구성합니다.
- 앱 이미지: 현재 프로젝트 자동 빌드 / 프리셋 / 커스텀 이미지
- 인스턴스 스펙: AWS 인스턴스 패밀리 기반 (t3, t4g, c6g, m6g, r6g)
- DB: MySQL, PostgreSQL, Redis, MongoDB (선택)
- 모니터링: Prometheus + Grafana (선택)
devta load env up # 인터랙티브 wizard
devta load env up --verbose # 상세 로그
devta load env down # 환경 종료
devta load env status # 상태 확인자동 빌드 지원 프로젝트: Java (Maven/Gradle), Node.js (Express/NestJS/Next.js), Python (Django/FastAPI/Flask), Go
devta load scenario generate <source>
컨트롤러/핸들러 소스를 분석하여 k6 시나리오를 생성합니다. DTO/Request/Response 클래스를 자동으로 함께 분석하여 정확한 필드명을 사용합니다.
devta load scenario generate src/controllers/AuthController.java --type load
devta load scenario generate src/routes/api.ts --type spike --target http://app:3000| 옵션 | 설명 | 기본값 |
|------|------|--------|
| --type <type> | 테스트 유형 (smoke/load/stress/spike/soak) | load |
| --target <url> | 타겟 URL | http://app:8080 |
| -p, --provider | AI provider | default |
devta load run <scenario>
devta load run auth-load.js --type spike --vus 100 --duration 5mdevta load analyze <id>
AI가 테스트 결과를 분석하여 성능 리포트를 생성합니다.
devta load analyze latest # 최근 결과 분석 (영어)
devta load analyze latest --lang ko # 한국어 분석
devta load analyze abc123 --depth deep --compare def456 # 심층 분석 + 비교| 옵션 | 설명 | 기본값 |
|------|------|--------|
| --depth <level> | 분석 깊이 (quick/standard/deep) | standard |
| --lang <lang> | 리포트 언어 (ko/en) | en |
| --compare <id> | 베이스라인 비교 대상 | - |
Provider 인증
우선순위 (높은 순)
환경 변수 (CI/CD용)
export DEVTA_OPENAI_API_KEY=sk-xxx export DEVTA_CLAUDE_API_KEY=sk-ant-xxx export DEVTA_GEMINI_API_KEY=xxxCredential 파일 (
devta provider add로 저장)
지원 Provider
| Provider | 기본 모델 | 등록 명령어 |
|----------|-----------|------------|
| OpenAI | gpt-4o | devta provider add openai --api-key sk-xxx |
| Claude | claude-sonnet-4-20250514 | devta provider add claude --api-key sk-ant-xxx |
| Gemini | gemini-2.0-flash | devta provider add gemini --api-key xxx |
설정 파일
프로젝트 설정 (.devta/config.toml)
[project]
name = "my-api"
language = "typescript"
test_framework = "vitest"
[test]
source_dir = "src"
test_dir = "tests"
[load.safety]
max_vus = 100
max_duration = "10m"
abort_on_error_rate = 10글로벌 설정 (~/.devta/config.toml)
[default]
provider = "openai"
output = "terminal"
[providers.openai]
model = "gpt-4o"
max_tokens = 4096글로벌 옵션
| 옵션 | 설명 |
|------|------|
| --verbose | 디버그 로그 출력 |
| --quiet | 에러 외 출력 억제 |
| -V, --version | 버전 출력 |
| -h, --help | 도움말 출력 |
개발
git clone https://github.com/backend-kyounglyool/DEV_TESTER_ASSISTANT.git
cd DEV_TESTER_ASSISTANT
pnpm install
pnpm build
npm link # 로컬에서 devta 명령어 사용License
MIT
