بنقرة واحدة
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.