How do you approach creating a test plan for a complex system that integrates both hardware and software components?