3.1 Test Framework Layers
┌─────────────────────────────────────────────┐
│ Testing Framework │
├─────────────────────────────────────────────┤
│ ┌─────────────────────────────────────────┐ │
│ │ Test Runner │ │
│ │ (Discovers and executes tests) │ │
│ └──────────────┬────────────────────────┘ │
│ │ │
│ ┌──────────────▼────────────────────────┐ │
│ │ Test Suites │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ Unit │ │ Integration│ │ Hardware │ │ │
│ │ │ Tests │ │ Tests │ │ Tests │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │
│ └─────────────────────────────────────────┘ │
├─────────────────────────────────────────────┤
│ ┌─────────────────────────────────────────┐ │
│ │ Test Utilities │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ Assert │ │ Mock │ │ Bench │ │ │
│ │ │ │ │ Framework│ │ mark │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │
│ └─────────────────────────────────────────┘ │
└─────────────────────────────────────────────┘