Ну, есть, к примеру, 2 теста. 1й создаёт пользователя, 2й логинится и выполняет что-то. Есть 2 варианта как это реализовать:
1. Сделать зависимый тест(2й). Из плюсов - всё просто. Из минусов - если что-то пойдёт не так, то 2й тест не выполнится, хотя всё будет работать верно. Это создаст некоторое напряжение и лишние затраты на проверку.
2. Эти тесты независимы, 2й тест использует заранее созданного юзера. Из плюсов - в таком случае 2й тест 100% выполнится при фейле 1го. Из минусов - новые юзеры могут быть с багом и всё будет плохо, а ваши тесты будут зелёненькими и все будут счастливы, кроме заказчиков и руководства.
Пример произвольный, но вы поняли. Селениум тесты - не модульные тесты, об этом уже давно много написано. В основном, зависимые тесты сложнее отлаживать и поддерживать. Как-то так.