How do you design a comprehensive test plan for a system that integrates both software components and physical hardware?