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    │  │ │
│  │  └──────────┘ └──────────┘ └──────────┘  │ │
│  └─────────────────────────────────────────┘ │
└─────────────────────────────────────────────┘