Исходный код не нужен, а вот структуру классов, открытые методы, и логику работы знать нужно. А иначе, что тестировать? Иногда автотесты пишут до того, как появится исходный код, после чего создается код, который будет удовлетворять эти тесты. Называется TDD.
А инструменты используются такие-же как и при разработке. Android Studio.