Coding & Testing
Quality through discipline and verification
Coding Standards
- Consistent naming, formatting, and documentation
- Error handling and logging
Code Reviews & Static Analysis
- Peer reviews (pair, PRs) for logic/maintainability.
- Static analysis: linters, type checkers, security scanners (SAST).
- Automate in CI to block regressions.
Testing Levels
- Unit → Integration → System → Acceptance
- Test pyramid: many unit, fewer integration, fewer e2e.
Testing Techniques
- Black-box: equivalence partitioning, boundary value analysis, decision tables.
- White-box: statement/branch/path coverage.
- Test case template: ID, preconditions, steps, expected, actual, status.
Boundary Example
Input range: 1..100 → Pick 0,1,2 and 99,100,101
Coverage & Metrics
- Coverage: lines, branches, conditions.
- Defect metrics: defect density, MTTR.
- Quality gates in CI for minimum coverage.
Types of Tests
- Functional vs non-functional
- Performance (load/stress), security (DAST/SAST), usability, accessibility.
- Regression tests to guard against reintroducing bugs.
Quick Revision
- Write tests first for critical logic.
- Cover boundaries and error paths.
- Automate checks in CI.