Before you start testing, ensure all services are running:
# Check PostgreSQL is running
# Windows: Check Services (Win + R → services.msc)
# Look for: postgresql-x64-18
# Check Redis is running
# Windows: Check if Redis process is running in Task ManagerBackend (.env file is already configured):
- ✅ Database URL configured
- ✅ Redis configured
- ✅ HuggingFace API keys (3 keys)
- ✅ Email service (Gmail SMTP)
- ✅ CORS origins set
Frontend (.env file):
cd Ai_powered_interview_coach/frontend
# Check if .env exists, if not create it:
echo VITE_API_URL=http://localhost:8000/api/v1 > .env# Windows: Should already be running as a service
# Verify: Open pgAdmin or check services# Open PowerShell Terminal 1
cd Ai_powered_interview_coach
# If you have Redis installed, start it
redis-server
# Or use the Windows Redis version if available# Open PowerShell Terminal 2
cd Ai_powered_interview_coach/backend
.\venv\Scripts\Activate.ps1
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000Expected Output:
INFO: Uvicorn running on http://0.0.0.0:8000
INFO: Application startup complete.
# Open PowerShell Terminal 3
cd Ai_powered_interview_coach/frontend
npm run devExpected Output:
VITE v5.x.x ready in xxx ms
➜ Local: http://localhost:5173/
Backend Health:
- Open browser:
http://localhost:8000/health - ✅ Should see:
{"status": "healthy", "database": "connected", "cache": "connected"}
API Documentation:
- Open browser:
http://localhost:8000/docs - ✅ Should see: Swagger UI with all endpoints
Frontend:
- Open browser:
http://localhost:5173 - ✅ Should see: Landing page with hero section
- Go to:
http://localhost:5173 - Click "Get Started" or "Sign Up"
- Fill in registration form:
- Email:
test@example.com - Password:
Test123!@# - Full Name:
Test User
- Email:
- Click "Register"
- ✅ Should redirect to dashboard
- ✅ Should see welcome message
- Click user menu (top right)
- Click "Logout"
- ✅ Should redirect to login page
- Enter credentials:
- Email:
test@example.com - Password:
Test123!@#
- Email:
- Click "Login"
- ✅ Should redirect to dashboard
- ✅ Should see user name in header
- Logout
- Click "Forgot Password?"
- Enter email:
test@example.com - Click "Send Reset Link"
- ✅ Check terminal for email log (if EMAIL_ENABLED=False)
- ✅ Or check email inbox (if EMAIL_ENABLED=True)
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- Go to:
http://localhost:5173/dashboard - ✅ Should see 7 quick action buttons:
- Start Interview (primary, filled)
- Upload Resume (secondary, outlined)
- View History (primary, outlined)
- View Resumes (info, outlined)
- Analytics (success, outlined)
- Leaderboard (warning, outlined)
- Achievements (secondary, outlined)
- Check sidebar/navigation menu
- ✅ Should see links to:
- Dashboard
- Interview
- Analytics
- Achievements
- Leaderboard
- Profile
- Settings
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- Click "Start Interview" button
- Fill in interview details:
- Role:
Software Engineer - Difficulty:
Medium - Experience Level:
Mid-Level - Number of Questions:
3
- Role:
- Click "Start Interview"
- ✅ Should redirect to interview page
- ✅ Should see first question
- Read the question
- Type answer in text area (at least 50 words)
- ✅ Should see character count
- ✅ Should see timer running
- Click "Submit Answer"
- ✅ Should see "Answer submitted successfully"
- ✅ Should load next question
- Start typing an answer
- Wait 3 seconds
- ✅ Should see "Draft saved" indicator
- Refresh page
- ✅ Draft should be restored
- Answer all 3 questions
- After last question, click "Complete Interview"
- ✅ Should redirect to session summary page
- ✅ Should see:
- Overall score
- Performance breakdown
- Strengths and weaknesses
- Recommendations
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- Go to dashboard
- Click "Upload Resume" button
- Select a resume file (PDF, DOCX, or TXT)
- Click "Upload"
- ✅ Should see upload progress
- ✅ Should see success message
- ✅ Should see resume in list
- Click "Analyze" button on uploaded resume
- Wait for AI analysis (10-30 seconds)
- ✅ Should see analysis results:
- Extracted skills
- Experience level
- Strengths
- Improvement suggestions
- ATS compatibility score
- Click "Delete" button on resume
- Confirm deletion
- ✅ Resume should be removed from list
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- Go to:
http://localhost:5173/analytics - ✅ Should see:
- Performance overview cards (total sessions, avg score, etc.)
- Score trend chart (line chart)
- Category performance chart (bar chart)
- Strengths and weaknesses cards
- Practice recommendations
- ✅ Line chart should show score trends over time
- ✅ Bar chart should show category performance
- ✅ Hover over charts to see tooltips
- ✅ No white page or errors
- Scroll to "Performance Comparison" section
- ✅ Should see comparison with cohort average
- ✅ Should see percentile ranking
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- Go to:
http://localhost:5173/achievements - ✅ Should see:
- Achievement statistics (unlocked count, points, completion %)
- Progress bar
- Achievement cards grid
- ✅ Locked achievements should be grayed out
- ✅ Unlocked achievements should be colored
- ✅ Each card should show:
- Achievement name
- Description
- Points
- Category chip
- Lock/unlock icon
- Complete actions to unlock achievements:
- Complete 1 interview → "First Steps" achievement
- Complete 3 interviews → "Getting Started" achievement
- ✅ Achievement should unlock automatically
- ✅ Should see confetti animation (optional)
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- Go to dashboard or streaks page
- ✅ Should see current streak counter
- ✅ Should see longest streak
- ✅ Should see streak calendar/history
- Complete an interview today
- ✅ Streak should increment by 1
- Come back tomorrow and complete another
- ✅ Streak should continue
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- Go to:
http://localhost:5173/leaderboard - ✅ Should see:
- Weekly/All-time tabs
- Opt-in/opt-out toggle
- Leaderboard table
- Toggle "Participate in Leaderboard" to ON
- ✅ Should see your rank in the table
- ✅ Should see trophy icons for top 3
- Click "Weekly" tab
- ✅ Should show weekly rankings
- Click "All-time" tab
- ✅ Should show all-time rankings
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- Go to dashboard or AI features section
- Click "Generate Study Plan"
- Wait for AI generation (10-30 seconds)
- ✅ Should see personalized study plan:
- Weekly structure
- Topic recommendations
- Resource suggestions
- Based on your performance
- ✅ Should see breakdown by week
- ✅ Should see specific topics to study
- ✅ Should see time estimates
- ✅ Should see progress tracking
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- Go to AI features or company coaching page
- Enter company name:
GoogleorMicrosoft - Enter role:
Software Engineer - Click "Get Coaching"
- Wait for AI response (10-30 seconds)
- ✅ Should see:
- Company culture insights
- Interview process overview
- Common interview questions
- Role-specific guidance
- Preparation tips
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- Go to dashboard
- Click "View History" button
- ✅ Should see list of all completed interviews
- ✅ Each entry should show:
- Date and time
- Role
- Score
- Number of questions
- Click on a session from history
- ✅ Should see full session details:
- All questions asked
- Your answers
- Evaluations
- Scores
- Feedback
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- Go to:
http://localhost:5173/profile - ✅ Should see current profile information:
- Full name
- Join date
- Statistics
- Click "Edit Profile"
- Change full name to:
Test User Updated - Click "Save"
- ✅ Should see success message
- ✅ Name should update in header
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- Go to analytics or settings page
- Click "Export Data" or "Download CSV"
- ✅ Should download CSV file
- Open CSV file
- ✅ Should contain session data with columns:
- Session ID
- Date
- Role
- Score
- Questions
- Answers
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- Go to:
http://localhost:8000/cache/metrics - ✅ Should see JSON response with:
- Total requests
- Cache hits
- Cache misses
- Hit rate percentage
- Create an interview session
- Get first question (should cache)
- Refresh page
- Get same question again (should hit cache)
- ✅ Response should be faster second time
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- Try to register with:
- Invalid email:
notanemail - ✅ Should show error: "Invalid email format"
- Short password:
123 - ✅ Should show error: "Password too short"
- Empty fields
- ✅ Should show error: "Required field"
- Invalid email:
- Try to create interview with:
- Empty role field
- ✅ Should show error
- Invalid number of questions (0 or 100)
- ✅ Should show error or limit
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- Stop backend server (Ctrl+C in backend terminal)
- Try to login or create interview
- ✅ Should show error message: "Unable to connect to server"
- ✅ Should not crash the app
- Restart backend
- ✅ App should recover automatically
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- Try to login with wrong password
- ✅ Should show error: "Invalid credentials"
- Try to register with existing email
- ✅ Should show error: "Email already registered"
- Login and wait 15+ minutes (or modify token expiry)
- Try to make an API call
- ✅ Should auto-refresh token or redirect to login
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- Open browser DevTools (F12)
- Toggle device toolbar (Ctrl+Shift+M)
- Select mobile device (iPhone, Android)
- ✅ Navigation should collapse to hamburger menu
- ✅ Cards should stack vertically
- ✅ Charts should be responsive
- ✅ Forms should be usable
- Dashboard: ✅ PASS / ❌ FAIL
- Interview: ✅ PASS / ❌ FAIL
- Analytics: ✅ PASS / ❌ FAIL
- Achievements: ✅ PASS / ❌ FAIL
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- Open browser DevTools → Network tab
- Hard refresh (Ctrl+Shift+R)
- Check load times:
- Landing page: ✅ < 2 seconds
- Dashboard: ✅ < 3 seconds
- Analytics: ✅ < 3 seconds
- Check Network tab for API calls
- ✅ Most endpoints should respond < 500ms
- ✅ AI endpoints (evaluation, analysis) may take 5-30 seconds
Test Result: ✅ PASS / ❌ FAIL Notes: _______________________
- User Registration & Login
- Interview Session Creation
- Question Display
- Answer Submission
- AI Evaluation
- Session Summary
- Dashboard Navigation
- Analytics Dashboard
- Charts Rendering
- Achievements Display
- Streak Tracking
- Leaderboard
- Resume Upload
- Resume Analysis
- Study Plan Generation
- Company Coaching
- Session History
- Profile Management
- Data Export
- Form Validation
- Error Handling
- Responsive Design
- Performance
- Cache Functionality
If you find any issues, document them using this template:
**Bug Title**: [Short description]
**Severity**: Critical / High / Medium / Low
**Steps to Reproduce**:
1. Go to...
2. Click on...
3. Enter...
4. See error
**Expected Behavior**:
[What should happen]
**Actual Behavior**:
[What actually happens]
**Screenshots**:
[Attach if applicable]
**Browser Console Errors**:
[Copy any errors from F12 console]
**Environment**:
- Browser: Chrome/Firefox/Edge
- OS: Windows 11
- Backend: Running/Not Running
- Frontend: Running/Not Running
Symptoms: Error when running uvicorn app.main:app --reload
Solutions:
# Check if virtual environment is activated
.\venv\Scripts\Activate.ps1
# Reinstall dependencies
pip install -r requirements.txt
# Check database connection
# Verify PostgreSQL is running
# Check DATABASE_URL in .env
# Check Redis connection
# Verify Redis is runningSymptoms: Error when running npm run dev
Solutions:
# Reinstall dependencies
rm -rf node_modules
npm install
# Clear cache
npm cache clean --force
# Check Node version
node --version # Should be 18+Symptoms: "Database health check failed"
Solutions:
- Check PostgreSQL service is running
- Verify DATABASE_URL in .env
- Check password encoding (@ symbol should be %40)
- Run:
python create_database.py - Run:
alembic upgrade head
Symptoms: "Cache unavailable"
Solutions:
- Start Redis server:
redis-server - Check REDIS_HOST and REDIS_PORT in .env
- Test connection:
redis-cli ping(should return PONG)
Symptoms: "AI provider error" or evaluation fails
Solutions:
- Check HuggingFace API keys in .env
- Verify keys are valid (not expired)
- Check API quota/rate limits
- Circuit breaker will auto-retry with backup keys
Symptoms: Page loads but shows nothing
Solutions:
- Hard refresh:
Ctrl + Shift + R - Clear browser cache
- Check browser console (F12) for errors
- Check if backend is running
- Verify VITE_API_URL in frontend/.env
Symptoms: Analytics page shows no charts
Solutions:
- Complete at least 1 interview session (need data)
- Hard refresh page
- Check browser console for errors
- Verify Recharts is installed:
npm list recharts
Terminal 1 - Redis:
redis-serverTerminal 2 - Backend:
cd Ai_powered_interview_coach/backend
.\venv\Scripts\Activate.ps1
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000Terminal 3 - Frontend:
cd Ai_powered_interview_coach/frontend
npm run dev- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
- Health Check: http://localhost:8000/health
- Cache Metrics: http://localhost:8000/cache/metrics
- Press
Ctrl + Cin each terminal - Or close terminal windows
Before marking testing complete, ensure:
- All 20 tests passed
- No critical bugs found
- All core features working
- AI features responding correctly
- Data persists after refresh
- Pages load quickly (< 3 seconds)
- No memory leaks
- Smooth animations
- Charts render properly
- Navigation is intuitive
- Forms are easy to use
- Error messages are clear
- Success feedback is visible
- Responsive on mobile
- No console errors
- API calls succeed
- Database queries work
- Cache is functioning
- Email service works (if enabled)
Once all tests pass, you have verified:
✅ 18 major features are working correctly ✅ 50+ API endpoints are functional ✅ 20 database models are properly configured ✅ Frontend and backend are communicating ✅ AI integration is working with failover ✅ Caching system is operational ✅ Authentication is secure ✅ Analytics are calculating correctly ✅ Gamification features are engaging
Your InterviewMaster AI platform is production-ready! 🚀
Testing Duration: ~1-2 hours for complete manual testing Last Updated: March 12, 2026 Version: 1.0