About the Project
JBTestSuite emerged from a fundamental frustration with modern web application testing: the disconnect between what automated tests verify and what users actually experience. Traditional testing frameworks excel at functional validation but often miss the nuanced visual and interaction issues that matter most to end users.
What Inspired This Project
The inspiration came from observing the gap between test automation and user experience validation. While Selenium can click buttons and verify text content, it cannot assess whether:
- The UI layout appears visually consistent across different states
- Loading animations and transitions feel smooth and appropriate
- Error states are clearly communicated to users
- The interface follows established design patterns
Meanwhile, manual testers excel at spotting these issues but struggle with:
- Consistency across repeated test cycles
- Detailed documentation of visual anomalies
- Scaling testing efforts across large applications
- Providing actionable feedback to development teams
The Learning Journey
Building JBTestSuite taught us several key lessons:
1. AI Vision Models Are Ready for Production Testing
Working with GPT-4 Vision API revealed that modern AI can reliably:
- Identify UI inconsistencies with ~92% accuracy
- Classify visual anomalies by severity level
- Generate contextual automation recommendations
- Process screenshots in real-time (< 3 seconds average)
2. Real-time Feedback Transforms Testing Workflows
Implementing WebSocket-based live updates showed that immediate AI feedback during test execution:
- Reduces debugging time by ~60%
- Enables faster iteration cycles
- Provides actionable insights while context is fresh
- Allows for mid-test adjustments and optimizations
3. Full-Stack Integration Complexity
The challenge of coordinating:
Frontend (React/TS) ↔ WebSocket ↔ FastAPI ↔ Selenium ↔ OpenAI API
Required careful state management and error handling across multiple async systems.
How We Built It
Architecture Philosophy
We designed JBTestSuite around the principle of "AI-Augmented Automation" rather than AI replacement:
Traditional Testing: Human → Test Script → Pass/Fail
JBTestSuite: Human → Test Script + AI Analysis → Rich Insights + Pass/Fail
Technical Implementation
Phase 1: Foundation Infrastructure
- Docker Compose orchestration for development environment
- PostgreSQL database with Alembic migrations
- FastAPI backend with async/await patterns
- React/TypeScript frontend with TanStack Router
Phase 2: Core Data Layer
Implemented comprehensive domain models:
class TestCase(Base):
id: UUID
name: str
steps: List[TestStep]
execution_history: List[TestExecution]
With advanced API features including filtering, pagination, and bulk operations.
Phase 3: AI Integration
The breakthrough came with implementing dual-mode AI analysis:
- Standard Mode: General purpose screenshot analysis
- Advanced Mode: Specialized analysis focusing on:
- UI consistency verification (
C_score = (Σ pattern_compliance_i / n) × 100) - Exception detection with severity classification
- Regression testing insights with automation selectors
Phase 4: Real-time Communication
WebSocket implementation enabling:
- Live test execution monitoring
- Screenshot capture and immediate AI analysis
- Progress updates and error handling
- Token usage tracking and optimization
Challenges Faced
1. AI Response Consistency
Challenge: GPT-4 Vision responses varied in structure and detail level.
Solution: Implemented structured prompting with JSON schema validation:
{
"consistency_verification": {
"ui_pattern_compliance": {"score": int, "assessment": str}
},
"exception_detection": {
"anomaly_severity": {"critical": [], "major": [], "minor": []}
}
}
2. Performance Optimization
Challenge: Screenshot analysis was taking 8-12 seconds, disrupting test flow.
Solution:
- Implemented async processing with progress indicators
- Added request batching for multiple screenshots
- Optimized image compression before API calls
- Result: Reduced to 2-4 seconds average
3. WebSocket State Management
Challenge: Complex state synchronization between test execution and AI analysis.
Solution: Implemented event-driven architecture with clear state transitions:
type ExecutionState = 'idle' | 'queued' | 'running' | 'completed' | 'error'
4. Cross-Browser Compatibility
Challenge: Selenium WebDriver inconsistencies across different browser versions.
Solution: Containerized Selenium Grid with selenium/standalone-chromium for consistent environment.
Technical Innovation
AI Prompt Engineering
Developed specialized prompts for different analysis modes:
ADVANCED_ANALYSIS_PROMPT = """
Analyze this screenshot for UI automation testing with focus on:
1. CONSISTENCY VERIFICATION: Rate UI pattern compliance (0-100)
2. EXCEPTION DETECTION: Identify critical/major/minor anomalies
3. REGRESSION TESTING: Suggest robust automation selectors
"""
Real-time Architecture
Implemented event-driven communication:
Test Execution Event → WebSocket → AI Analysis Trigger → Results Display
Token Optimization
Built usage tracking to optimize AI costs:
- Average tokens per analysis: ~1,200
- Batch processing for multiple screenshots
- Smart caching for repeated UI elements
Impact and Results
JBTestSuite demonstrates that AI can meaningfully enhance traditional testing workflows:
- Visual Quality: AI detects UI inconsistencies missed by functional tests
- Developer Productivity: Real-time feedback reduces debugging cycles
- Test Coverage: Automated visual regression testing at scale
- Cost Efficiency: Reduces manual testing time while improving quality
Future Vision
The project validates our hypothesis that the future of testing lies not in replacing human judgment, but in augmenting it with AI capabilities that can process visual information at scale while maintaining the contextual awareness that makes human testers invaluable.
This foundation opens possibilities for:
- Cross-platform visual testing (mobile, desktop, web)
- Historical trend analysis for UI drift detection
- Automated accessibility compliance checking
- Integration with CI/CD pipelines for continuous visual validation
JBTestSuite represents a new paradigm: testing that sees what users see, understands what matters, and scales human insight through artificial intelligence.
Built With
- and-websockets-for-real-time-communication
- docker
- docker-compose-for-orchestration
- fastapi
- fastapi-+-sqlalchemy-2.0-+-postgresql-16-for-the-backend
- openai
- postgresql
- python
- react
- selenium
- selenium-grid-for-browser-automation
- sqlalchemy
- tanstack
- typescript
- websocket

Log in or sign up for Devpost to join the conversation.