SkillSync / TESTING_GUIDE.md
Chaitanya895's picture
Added all updated files
e29e4c8

πŸš€ Quick Start Guide - Testing ML Features

Installation & Setup

1. Install Dependencies

cd SkillSync
pip install -r requirements.txt

Note: First-time setup will download ~750MB of ML models automatically.

2. Run the Application

python app.py

The app will start on http://localhost:7860 (or port 5000)


πŸ§ͺ Testing the New Features

Feature 1: AI Resume Scorer πŸ€–

  1. Login as Intern:

    • Email: alice.smith@example.com
    • Password: password
  2. Navigate: Dashboard β†’ "πŸ€– AI Resume Scorer"

  3. Test Cases:

    • Without Job Description: Get baseline score
    • With Job Description: Paste a job posting to get targeted score

Expected Output:

  • Total score (0-100%)
  • Grade (A+ to D)
  • Breakdown: Completeness, Skills Depth, Experience Quality, Job Match
  • Recommendations for improvement
  • Skills count (technical & soft)

Feature 2: Success Predictor 🎯

  1. From Dashboard: Find any internship card

  2. Click: "🎯 Predict Success" button

  3. Review:

    • Success probability (0-100%)
    • Prediction (Likely/Unlikely)
    • Confidence level
    • Personalized recommendations

Test Different Scenarios:

  • High match (>75% similarity) β†’ High success probability
  • Medium match (50-75%) β†’ Medium success probability
  • Low match (<50%) β†’ Low success probability

Feature 3: Learning Path Generator πŸŽ“

  1. Navigate: Dashboard β†’ "πŸŽ“ Learning Path"

  2. Test Two Ways:

    Option A: Target Role

    Target Role: "Full Stack Developer"
    Submit
    

    Option B: Target Internship

    Select an internship from dropdown
    Submit
    

Expected Output:

  • Missing skills categorized (Beginner/Intermediate/Advanced)
  • Course recommendations with links to:
    • Coursera
    • Udemy
    • YouTube
    • Official Docs
  • Estimated time per skill
  • Learning tips

Feature 4: AI Career Chatbot πŸ’¬

  1. Navigate: Dashboard β†’ "πŸ’¬ AI Career Chat"

  2. Test Questions:

    "How do I write a good resume?"
    "How do I prepare for interviews?"
    "What skills should I learn?"
    "How do I negotiate salary?"
    "How do I plan my career?"
    
  3. Or Use Quick Buttons: Click any pre-defined question

Expected Output:

  • Detailed, contextual responses
  • Bullet points with actionable advice
  • Links to platform features

Feature 5: Enhanced ATS Insights πŸ“ˆ

  1. Navigate: Dashboard β†’ "ATS Insights"

  2. Paste Job Description:

    We are looking for a Python developer with experience in 
    machine learning, data analysis, and cloud computing. 
    Candidates should have strong problem-solving skills and 
    experience with TensorFlow or PyTorch.
    
  3. Submit

Expected Output:

  • Keyword Match Score (traditional)
  • Semantic Match Score (NEW - AI-powered)
  • Missing keywords
  • Improvement tips

Compare:

  • Without ML: Only keyword matching
  • With ML: Deep semantic understanding

Feature 6: Enhanced Mock Interview 🎀

  1. Navigate: Dashboard β†’ "Mock Interview"

  2. Select Question: "Describe a challenge you faced"

  3. Provide Response:

    In my previous internship, I faced a situation where our 
    database queries were extremely slow. My task was to optimize 
    them. I analyzed the query patterns, added proper indexes, 
    and implemented caching. As a result, we reduced query time 
    by 60% and improved application performance significantly.
    
  4. Submit

Expected Output:

  • Score (0-100%)
  • Grade
  • Detailed metrics:
    • Word count
    • Readability score
    • Sentiment analysis
    • STAR method detection
    • Technical terms found
  • Specific feedback

Feature 7: Semantic Matching in Dashboard 🎯

Automatic Feature - No separate testing needed

How to Observe:

  1. Login as different interns:

    • Alice (Python, ML) β†’ Matches ML internships
    • Bob (JavaScript, React) β†’ Matches frontend internships
  2. Compare Scores:

    • Old: Exact keyword match only
    • New: Semantic understanding

Example:

User has: "machine learning experience"
Job requires: "AI and neural networks"

Old Match: 0% (no common keywords)
New Match: 85% (semantically similar)

πŸ§ͺ Advanced Testing

Test ML Model Loading

# Check logs
cat /tmp/logs/app.log | grep "ML"

Expected:

[INFO] Advanced ML features loaded successfully
[INFO] Semantic model loaded successfully
[INFO] Sentiment analyzer loaded successfully
[INFO] NER model loaded successfully

Test Fallback Mode

  1. Temporarily break ML:

    • Rename ml_utils.py to ml_utils_backup.py
    • Restart app
  2. Verify:

    • Dashboard still works
    • Basic matching still functions
    • Warning in logs: "ML features not available"
  3. Restore:

    • Rename back to ml_utils.py
    • Restart app

πŸ“Š Performance Testing

Model Loading Time

import time
from ml_utils import get_semantic_model

start = time.time()
model = get_semantic_model()
print(f"Load time: {time.time() - start:.2f}s")

Expected: 2-5 seconds on first load, <0.1s on subsequent calls

Semantic Similarity Speed

from ml_utils import semantic_similarity

text1 = "Python programming and machine learning"
text2 = "Software development with AI"

start = time.time()
score = semantic_similarity(text1, text2)
print(f"Similarity: {score:.3f}, Time: {(time.time() - start)*1000:.1f}ms")

Expected: <100ms per comparison


πŸ› Troubleshooting

Issue: Models not downloading

Solution:

export TRANSFORMERS_CACHE=/tmp/hf_cache
mkdir -p /tmp/hf_cache

Issue: Out of memory

Symptoms: App crashes when loading models

Solution:

  • Ensure at least 2GB free RAM
  • Close other applications
  • Use CPU instead of GPU (already configured)

Issue: Slow performance

Check:

# Verify models are cached
ls -lh /tmp/hf_cache

Should see: ~750MB of cached models

Issue: "ML features not available"

Debug:

python -c "from ml_utils import ML_FEATURES_ENABLED; print(ML_FEATURES_ENABLED)"

If False:

  • Check pip install -r requirements.txt completed
  • Check logs for import errors
  • Verify all dependencies installed

🎯 Success Criteria

βœ… All Features Working When:

  1. Dashboard loads with ML-powered buttons visible
  2. AI Resume Scorer returns scores with recommendations
  3. Success Predictor shows probability for each internship
  4. Learning Path generates personalized courses
  5. AI Chatbot provides contextual responses
  6. ATS Insights shows both keyword and semantic scores
  7. Mock Interview provides detailed NLP analysis
  8. Semantic matching shows improved similarity scores

πŸ“ Test User Accounts

Interns

Alice Smith
Email: alice.smith@example.com
Password: password
Skills: Python, Java, SQL, TensorFlow
Bob Johnson
Email: bob.johnson@example.com  
Password: password
Skills: JavaScript, React, Node.js

Recruiters

Emma Wilson (TechCorp)
Email: emma.wilson@techcorp.com
Password: password

Admin

Admin User
Email: admin@example.com
Password: password

πŸš€ Next Steps

After testing all features:

  1. Customize ML Models:

    • Train on your own data
    • Fine-tune for your domain
  2. Add More Features:

    • Speech-to-text interview
    • Video interview analysis
    • Collaborative filtering
  3. Scale:

    • Use GPU for faster inference
    • Cache embeddings in database
    • Load balance multiple instances
  4. Monitor:

    • Track model performance
    • Log user interactions
    • A/B test ML vs traditional

πŸ“§ Support

If you encounter issues:

  1. Check /tmp/logs/app.log
  2. Verify requirements.txt installed
  3. Ensure internet connection for model downloads
  4. Check disk space (~1GB free needed)

Happy Testing! πŸŽ‰

All ML features are production-ready and thoroughly tested.