Раз в тегах есть bdd, то вы уже знаете, что такое Given, а что такое When.
Так вот, два теста зависимы, если начало второго теста не возможно, без предварительного выполнения первого теста (корректного выполнения). Так по началу многие разрабатывают. Тест1 создаёт объект с наименованием objectName123, а Тест2 ищет объект objectName123 в Given и выполняет некие действия с ним в When, плюс десяток проверок успешности выполнения действий в Then.
И так делать не надо по очевидным причинам.
Независимый тест устроен так.
Тест1 создаёт объект objectNameTest1_123 работает с ним, делает десяток проверок в Then.
Тест2 в Given вызывает те же методы, что создают объект в тесте Тест1, создаёт объект objectNameTest2_123, но выполняет одну базовую проверку, или не выполняет никаких проверок на корректность создания вообще (вызывается только часть Given и When из Тест1).
Тест2 предполагает, что Тест1 работает. И если Тест1 упадёт, то не выполняется предусловие начала тестирования для Тест1 (вызываются, ведь, одни и те же методы в одном случае, как основная логика теста, во втором как предусловия). И в отчёте будет видно, какие тесты были были провалены, а какие даже не начались (из-за того, что другие тесты были провалены).
Независимость в том, что Тест2 сам создаёт для себя нужный контекст. Не надеясь, что этот контекст подготовлен во время выполнения предыдущих тестов (Тест1).