Smoke Testing
Run quick verification tests to ensure basic functionality works before committing to deeper testing (integration, e2e, regression).
When to use me
Use this skill when:
- After deployments or environment changes
- Before running extensive test suites
- Validating build integrity
- Checking critical paths work
- As a gate before more expensive testing
What I do
-
Quick validation of critical functionality:
- Application starts and responds
- Database connections work
- Authentication system functions
- Core business logic operates
-
Coordinate with other test types:
- Run before integration and e2e tests
- Serve as gate for regression test suites
- Validate environment for performance tests
- Check prerequisites for security scans
-
Implementation approaches:
- Minimal test set (5-10 key scenarios)
- Fast execution (under 2 minutes)
- High reliability (minimal flakiness)
- Clear pass/fail criteria
Examples
# Run smoke tests
npm run test:smoke # Full smoke test suite
npm run test:smoke:quick # Absolute minimum validation
# Deployment validation
npm run test:smoke:production # Production smoke tests
npm run test:smoke:staging # Staging environment checks
# Coordinate with other tests
npm run test:smoke && npm run test:integration
npm run test:smoke && npm run test:e2e
# Environment-specific smoke tests
npm run test:smoke:dev # Development environment
npm run test:smoke:ci # CI environment validation
Output format
Smoke Test Results:
──────────────────────────────
Execution Context: Post-deployment validation
Test Duration: 1m 23s (target < 3 minutes)
Critical Paths Verified:
✅ Application Server: Responds on port 3000
✅ Database Connection: Can query users table
✅ Authentication Service: Login endpoint works
✅ Core API: GET /api/health returns 200 OK
✅ Cache Layer: Redis connection established
Environment Checks:
✅ Environment variables loaded
✅ Configuration files valid
✅ External services reachable
✅ File permissions correct
Next Steps Recommended:
- Smoke tests passed ✅
- Proceed with integration testing
- If failed, investigate before deeper testing
Dependency Status:
- Unit tests not required for smoke (already fast)
- Integration tests can proceed if smoke passes
- E2E tests depend on smoke + integration passing
- Performance tests require stable environment
Notes
- Smoke tests should be extremely reliable (no flakiness)
- Keep execution time minimal for quick feedback
- Test only critical functionality, not edge cases
- Use idempotent tests that don't leave side effects
- Consider canary deployments with smoke testing
- Implement automatic retry for transient failures
- Document what constitutes "smoke test pass" clearly
- Smoke tests often run in production after deployment