Automate Everything
QA manual nu scalează. Automation setup-ul permite rularea a mii de teste la fiecare commit, cu raportare automată și blocking pe failures.
Pipeline Architecture
Commit
Git push trigger
→
Build
Deploy test env
→
Test
Run all suites
→
Report
Results & alerts
GitHub Actions Config
# .github/workflows/voice-ai-tests.yml
name: Voice AI Tests
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Test Environment
run: |
docker-compose up -d voice-ai-test
./wait-for-it.sh localhost:8080
- name: Run Unit Tests
run: npm run test:unit
- name: Run Intent Tests
run: npm run test:intents
- name: Run Conversation Tests
run: npm run test:conversations
- name: Run Load Tests
run: npm run test:load -- --concurrent=100
- name: Upload Results
uses: actions/upload-artifact@v3
with:
name: test-results
path: ./reports/
- name: Notify on Failure
if: failure()
run: |
curl -X POST ${{ secrets.SLACK_WEBHOOK }} \
-d '{"text": "Voice AI Tests Failed!"}'Test Suites Configuration
Fast Suite (5 min)
Rulează la fiecare commit
- ✓ Unit tests (intent classification)
- ✓ Entity extraction tests
- ✓ Response generation tests
- ✓ Basic conversation flows
~500 tests
Full Suite (30 min)
Rulează nightly + pre-release
- ✓ All fast suite tests
- ✓ End-to-end conversations
- ✓ Load testing (100 concurrent)
- ✓ Regression suite
- ✓ Edge cases
~2,500 tests
Test Environment
Docker Compose Setup
services:
voice-ai-test:
image: kallina/voice-ai:test
environment:
- ENV=test
- LLM_MOCK=true
ports:
- "8080:8080"
mock-services:
image: kallina/mock-services
ports:
- "9000:9000"
test-runner:
image: kallina/test-runner
depends_on:
- voice-ai-test
- mock-servicesReporting Dashboard
2,847
Tests Passed
3
Tests Failed
12
Skipped
28m
Duration
Last run: 2 hours ago | Triggered by: PR #456 merge to main
Alerting Rules
Any test failure on main
Immediate Slack + Email alert
Coverage drops below 85%
Block merge + notify team
Load test P95 over 1s
Alert performance team