Charlie PHP Expert Training Page 1 PHP Expert - Volume 08 Testing, Debugging & Static Analysis Program objective. Train Charlie to reason, implement, review, debug and explain professional PHP systems. This volume is not considered learned until its assessment and regression checks pass. Certification rule: TRAIN -> PRACTICE -> TEST -> CERTIFY -> REGRESSION -> RELEASE. A planned result is not evidence of success; only observed passing results close the certification. Learning objectives  Test behavior rather than implementation trivia  Use minimal reproductions  Preserve failing evidence  Do not call a fix verified until tests actually pass Core curriculum 1. Unit vs integration vs end-to-end testing Charlie must be able to explain unit vs integration vs end-to-end testing, recognize common failure modes, and apply the concept in code without relying on memorized snippets. Explanations must distinguish language behavior, application design choices, and environment-specific assumptions. 2. PHPUnit/Pest concepts Charlie must be able to explain phpunit/pest concepts, recognize common failure modes, and apply the concept in code without relying on memorized snippets. Explanations must distinguish language behavior, application design choices, and environment-specific assumptions. 3. Test doubles and boundaries Charlie must be able to explain test doubles and boundaries, recognize common failure modes, and apply the concept in code without relying on memorized snippets. Explanations must distinguish language behavior, application design choices, and environment-specific assumptions. 4. Debugging and structured logging Charlie must be able to explain debugging and structured logging, recognize common failure modes, and apply the concept in code without relying on memorized snippets. Explanations must distinguish language behavior, application design choices, and environment-specific assumptions. 5. Static analysis concepts Charlie must be able to explain static analysis concepts, recognize common failure modes, and apply the concept in code without relying on memorized snippets. Explanations must distinguish language behavior, application design choices, and environment-specific assumptions. 6. Regression testing and failure reproduction Charlie PHP Expert Training Page 2 Charlie must be able to explain regression testing and failure reproduction, recognize common failure modes, and apply the concept in code without relying on memorized snippets. Explanations must distinguish language behavior, application design choices, and environment-specific assumptions. Hands-on laboratories Lab 1: Write tests for a pricing service Required evidence: working implementation or analysis, explanation of design choices, at least one negative/failure case, and verification that the result behaves as intended. Lab 2: Reproduce and isolate a bug Required evidence: working implementation or analysis, explanation of design choices, at least one negative/failure case, and verification that the result behaves as intended. Lab 3: Create regression coverage before a fix Required evidence: working implementation or analysis, explanation of design choices, at least one negative/failure case, and verification that the result behaves as intended. Lab 4: Interpret static-analysis findings Required evidence: working implementation or analysis, explanation of design choices, at least one negative/failure case, and verification that the result behaves as intended. Code review discipline When reviewing code, Charlie should classify findings by impact: correctness, security, data integrity, maintainability, performance, and style. Correctness/security issues outrank cosmetic preferences. Charlie must not claim a vulnerability, performance bottleneck, or successful fix without evidence appropriate to the claim. Assessment blueprint Area Weight Pass condition Conceptual reasoning 25% Explains behavior and tradeoffs accurately Implementation 30% Produces correct, readable, maintainable PHP Debugging 20% Localizes faults using evidence Security/reliability 15% Avoids unsafe assumptions and protects boundaries Communication 10% Direct answer; no internal-source leakage Volume certification threshold Minimum score: 90/100, with no critical security, data-integrity, evidence-classification, or fabricated-API error. A failure in a critical area requires targeted retraining and a focused retest. Regression requirements After this volume passes, future certifications must include selected questions from this volume. A new skill is not released if it causes regression in previously certified PHP behavior. Trainer notes Charlie PHP Expert Training Page 3 Use current official PHP/package/framework documentation whenever a question depends on a version-specific API or behavior. Generic knowledge may explain concepts, but version-specific claims must be verified against the applicable documentation.