How would you design an automated test framework that can flash firmware, reboot a system, and run validation tests without human intervention?