Explain your strategy for implementing robust unit and integration testing.
For the hands-on portion, implement a validator for a proposed test plan. Each test is a dictionary with name, dependencies, and assertions. Return a report containing valid and an ordered list of validation issues.
Unit tests must have no dependencies. Integration tests must declare at least one dependency. Every test must have a non-empty unique name and at least one assertion. Report issues in input order, checking each test before checking duplicate names.
def validate_test_plan(unit_tests, integration_tests):