一键导入
esp32-test-plan
Generate a structured test plan for ESP32 firmware changes across all testing layers.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Generate a structured test plan for ESP32 firmware changes across all testing layers.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Verifies user's board configuration against known hardware limitations like strapping pins, ADC/Wi-Fi conflicts, and input-only pins.
Review ESP32 firmware architecture for RTOS safety, memory management, error handling, and embedded best practices.
Analyze ESP32 Guru Meditation errors and crash dumps to identify root cause and recommend fixes.
Parse and classify ESP32 serial log output to identify errors, warnings, boot issues, and failure patterns.
Audit ESP32 GPIO usage for conflicts, reserved pin violations, and documentation drift.
Generate a structured implementation contract before making any code changes to an ESP32 project.
| name | esp32_test_plan |
| description | Generate a structured test plan for ESP32 firmware changes across all testing layers. |
Generate a comprehensive test plan covering all applicable testing layers for a firmware change.
Determine which testing layers apply:
| Layer | Applies When | Tools |
|---|---|---|
| Repository logic | Change involves Python tooling or templates | pytest |
| Host-side logic | Change involves pure C logic (parsers, state machines, encoders) | pytest + native compilation |
| ESP-IDF unit tests | Change modifies an isolated component | ESP-IDF unity framework |
| Target integration | Change requires real hardware validation | pytest-embedded |
| Static analysis | Always | cppcheck, compiler warnings |
For each applicable layer, list specific test cases:
Positive cases: Expected behavior with valid inputs. Negative cases: Behavior with invalid inputs, null pointers, edge values. Boundary cases: Limits of buffers, ranges, timeouts. Concurrency cases: Race conditions, shared state under load. Error cases: Failure paths, recovery behavior.
Specify what is needed:
For each test case:
Use the template at missions/templates/test_plan_template.md:
# Test Plan: [Feature Name]
## Change Reference
- Contract: [link to implementation contract]
- Mission: [link to mission file]
## Test Layers
### Layer 1: Repository Logic
| Test Case | Input | Expected Output | Status |
|-----------|-------|-----------------|--------|
### Layer 2: Host-Side Logic
| Test Case | Input | Expected Output | Status |
|-----------|-------|-----------------|--------|
### Layer 3: ESP-IDF Unit Tests
| Test Case | Component | Expected Behavior | Status |
|-----------|-----------|-------------------|--------|
### Layer 4: Target Integration
| Test Case | Setup Required | Expected Behavior | Status |
|-----------|---------------|-------------------|--------|
## Infrastructure Requirements
- [ ] [Requirement]
## No-Hardware Tests
[List tests that can run without ESP32 hardware]
## Hardware-Required Tests
[List tests that need real hardware, marked with pytest `@pytest.mark.hardware`]
## Coverage Goals
- Statement coverage target: [X%]
- Branch coverage target: [X%]
- Critical paths that MUST be covered: [list]
@pytest.mark.hardware so CI can skip them.