Testing: What to Automate and What to Skip
🎯 The Goal
Tests should catch bugs and give you confidence. But not everything needs to be tested.
✅ What I Automate
1. Unit Tests for Core Logic
Test business logic, calculations, and data transformations. These are easy to test and catch real bugs.
2. Integration Tests for Critical Paths
Test the happy path for important features: user signup, payment processing, core workflows.
3. API Tests
Test your API endpoints. They're the contract between frontend and backend.
4. Regression Tests
If a bug happened once, test that it doesn't happen again.
⚠️ What I Test Manually
1. UI/UX
Visual design, layout, and user experience. Hard to automate, better tested manually.
2. Edge Cases
Rare scenarios that are expensive to automate. Test manually when needed.
3. Performance
Load testing and performance checks. Do these periodically, not in every CI run.
❌ What I Skip
1. Trivial Code
Getters, setters, simple CRUD operations. If it's obvious, don't test it.
2. Third-Party Code
Don't test libraries or frameworks. Trust that they work.
3. Over-Testing
Testing implementation details instead of behavior. Test what the code does, not how it does it.
💡 My Testing Strategy
- Test the important stuff: Core logic, critical paths, user-facing features
- Test what breaks: If it broke before, test it
- Test what's hard to verify manually: Complex calculations, edge cases
- Skip the obvious: Simple code doesn't need tests
💭 My Take
Good tests give you confidence. Bad tests slow you down.
Test what matters. Don't test everything. Focus on what catches bugs and prevents regressions.