Phase 6Days 26-30

Testing, Debugging, Performance & Security

Table tests, fuzzing, race detection, benchmarks, pprof, and govulncheck

Phase Goal

Prove correctness and improve performance using evidence from Go’s standard toolchain.

Progress

Day 26: Table-Driven Tests & Testable Design

Day 27: Fuzzing & Property Thinking

Day 28: Benchmarks, Allocations & pprof

Day 29: Debugging, Race Detector & Security

Day 30: Mini Project — Untrusted Telemetry Decoder Lab

Capstone
Untrusted Telemetry Decoder Lab

Harden a binary-and-text telemetry decoder against truncation, corrupt lengths, duplicate fields, oversized payloads, and pathological nesting.

  • Minimized fuzz failures promoted to regression tests
  • Before/after CPU and allocation evidence
  • Documented resource ceilings and vulnerability scan

Phase Complete!

After this phase, you'll be able to:

  • testing.T, subtests, helpers, and failure messages
  • Table-driven tests and boundary selection
  • Fakes, stubs, and interface seams
  • httptest and filesystem test isolation
  • Seed corpus and FuzzXxx structure
  • Properties, invariants, and deterministic targets
  • Reproducing and promoting failures to regression tests
  • Where fuzzing helps and where it wastes time

You can apply Phase 6 skills in a finished, explainable Go project.