Тестирование мутаций - отличная идея.
Я предпочитаю обнаруживать ошибки перед тестированием с помощью стиля проверки , PMD и FindBugs .
Для модульного тестирования JUnit или TestNG .
Чтобы гарантировать, что модульные тесты проверяют значительную часть кода, используйте инструмент покрытия кода, такой как cobertura или EMMA .
Для начала, среда модульного тестирования jUnit .
Однако существует множество различных инструментов, в зависимости от типа тестирования, которое вы проводите.
Вот хороший список.
В дополнение к инструментам модульного тестирования, уже перечисленным в других ответах, вы также можете прочитать о функциональном тестировании. Например: Quick Test Pro
Языком сценариев тестирования в Quick Test Pro является VB Script. но созданные тесты можно запускать для любого приложения с графическим интерфейсом пользователя, включая графические интерфейсы Java.