Юнит vs регрессивное тестирование
Вы путаете теплое с мягким. Юнит тесты относятся к категории размера тестируемого объекта — юнит-тесты тестируют отдельный модуль (класс или метод), интеграционные тесты тестируют сопряжение нескольких модулей, а системные тесты тестируют полностью систему сверху донизу.
Регрессионные тесты — это тесты, помогающие заметить (и предотвратить) повторную поломку функционала. Т.е. любые тесты (юнит и др.), неудалённые после первичного тестирования функционала, а оставленные в наборе тестов и (самое главное!) запускаемые достаточно часто будут являться регрессионными, если они помогают предотвратить поломку существующего функционала.
Мне кажется может, но это только тогда, когда необходимо будет отрефакторить библиотеку, а потом проверить выполняются ли тесты, которые были ранее написаны.