Skip to content

Post-Deployment Testing Playbook

This document provides a structured checklist to validate a service after deployment. Follow it after every release to ensure the system is stable, functional, and reliable.


1. Pre-Checks (Before Testing)

  • ✅ Confirm deployment completed successfully (no errors in logs)
  • ✅ Validate deployed version/tag matches the release plan
  • ✅ Ensure environment variables and secrets are correctly set
  • ✅ Verify database migrations ran successfully
  • ✅ Confirm service dependencies (DB, Pub/Sub, external APIs) are reachable

2. Smoke Tests (Basic Sanity Checks)

Info

Run immediately after deployment

  • ✅ Check /health or /ready endpoint returns 200 OK (or can use non complex endpoints like /services)
  • ✅ Send a sample request (e.g., POST /task/transcription) → should succeed
  • ✅ Validate response time is within expected SLA
  • ✅ Confirm logs are being generated and shipped to monitoring
  • ✅ Check that no critical errors are thrown in the first 5–10 minutes

3. Critical User Flow Tests

Info

Test real workflows end-to-end

  • 🔄 Task Creation → Create a new task with valid input
  • ⚙️ Processing → Ensure Pub/Sub or background workers pick up the task
  • 📥 Result Retrieval → Call /result/{task_id} and verify correctness
  • Error Handling → Send malformed input → should return user-friendly error, not crash

4. Functional & Regression Tests

  • 🔐 Validate authentication/authorization
  • 🧪 Test edge cases:
  • Empty file upload
  • Large file upload
  • Invalid schema or payloads
  • 🔄 Check that previously working features still function (regression)

5. Load & Stress Tests (Optional, Off-Peak)

  • 📊 Run load test with expected traffic
  • 📈 Verify system auto-scales (if enabled)
  • 🚫 Ensure DB and Pub/Sub queues do not bottleneck

6. Rollback & Safety Nets

  • 🔄 Validate rollback strategy (previous build available)
  • 💾 Take a database snapshot if schema changes were applied (migration history)

7. Final Validation

  • 📝 Update deployment log with test results
  • 📢 Notify team that deployment is stable

Note

Keep this document updated as the system evolves. Add/remove test steps based on new services, dependencies, or workflows.