По поводу автотестов... стандартный набор.
Есть система, есть требования к этой системе, есть требования к покрытию автотестами этой системы на уровне UI, API, UNIT тестов.
Есть тест-фреймворк, там всё по полочкам разложено разбито на разные уровни тестов, для UI Selenium, для API requests допустим, для UNIT - что-то своё... язык на котором написан проект отличается от того на котором написан тестовый фреймворк
Тестовый-фреймворк у нас допустим python, а сама система на Java.