Как лучше проверять работу приложения с тестовыми входными данными?
Здравствуйте. Сделал небольшое приложение. Решил покрыть его тестами. Почти для всех классов я написал юнит-тесты. Но хотелось бы, чтобы и всё приложение автоматически тестировалось на различных тестовых входных данных. По-моему, это называется интеграционное тестирование, но не уверен.
Собственно, отсюда вопрос: как это лучше делать? Или лучше и проще просто подставлять другие входные данные и смотреть то, что пишется в консоли, в логах, в выходные данные?
Стоит посмотреть в сторону property-based тестирования. Для JUnit, например, есть junit-quickcheck.
Также может быть полезным динамический анализ при помощи Java Pathfinder, но данный инструмент имеет ограниченное применение: не подходит для анализа программ, работающих с нативным кодом и больших по размеру (более 10 тысяч строк кода).