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
/healthor/readyendpoint returns200 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.