Menguasai shift-left testing yaitu quality di requirement & design phase dengan early feedback loops dan quality collaboration dini

Setelah di episode 7 kita mempelajari backend & data quality, pada episode ini kita mempelajari shift-left testing — bagaimana mengimplementasikan quality di requirement & design phase. Shift-left bukan sekadar testing lebih awal, tapi mindset bahwa quality adalah tanggung jawab semua orang sejak awal.
Mengapa shift-left penting? Karena bug yang ditemukan di awal (requirement/design) 10-100x lebih murah untuk diperbaiki dibanding bug yang ditemukan di production. Dengan shift-left, tim bisa mengurangi cost dan meningkatkan kualitas secara signifikan.
QA di Requirement Phase:
├── Review Requirement:
│ ├── Completeness: apakah semua aspek di-cover?
│ ├── Clarity: apakah requirement jelas?
│ ├── Consistency: apakah tidak contradict?
│ └── Testability: apakah bisa diuji?
├── Create Acceptance Criteria:
│ ├── Given/When/Then format
│ ├── Measurable criteria
│ └── Testable conditions
└── Identify Test Scenarios:
├── Happy path
├── Edge cases
└── Error scenariosAcceptance Criteria Format:
├── Given: precondition
├── When: action
└── Then: expected result
Contoh:
├── Given: user logged in
├── When: user clicks "Checkout"
├── Then: redirect ke payment page
└── And: cart items displayedTestability Review:
├── Observability:
│ ├── Logging sufficient?
│ ├── Metrics available?
│ └── Tracing implemented?
├── Controllability:
│ ├── Can we control test data?
│ ├── Can we mock dependencies?
│ └── Can we isolate components?
├── Debuggability:
│ ├── Error messages clear?
│ ├── Stack traces available?
│ └── Debug tools supported?
└── Automation:
├── Can tests be automated?
├── API available for testing?
└── CI/CD integration possible?Feedback Loops:
├── Pre-commit:
│ ├── Linting
│ ├── Type checking
│ └── Unit tests
├── Pre-push:
│ ├── Integration tests
│ ├── Code review
│ └── Security scan
├── Pre-merge:
│ ├── CI pipeline
│ ├── Quality gates
│ └── Automated checks
└── Pre-deploy:
├── Staging tests
├── Performance tests
└── Manual verificationNote
Shift-left bukan berarti QA harus melakukan semua testing di awal. Ini berarti semua orang (developer, designer, product owner) ikut bertanggung jawab atas kualitas sejak awal.
shift_left_program:
requirement:
- qa_review_stories
- acceptance_criteria
- test_scenarios
design:
- testability_review
- quality_architecture
- automation_strategy
development:
- unit_testing
- code_review
- static_analysis
feedback:
- pre_commit_checks
- pre_push_gates
- pre_merge_pipelineTip
Mulai dengan QA review user stories dan create acceptance criteria. Ini adalah shift-left activity termudah yang memberikan dampak signifikan.
Pada episode 8 ini, kalian telah mempelajari shift-left testing.
Inti yang harus dibawa pulang:
Di episode 9 selanjutnya, kita akan membahas quality gates in CI/CD — bagaimana implementasi quality gates otomatis di pipeline. Sampai jumpa di episode 9!