Что ж, у вас есть модульное тестирование, точное определение которого варьируется, но, безусловно, содержит все эти тесты, определенные с помощью JUnit-подобного инструмента и организованные так же, как и исходный код.Если для какого-либо файла с исходным кодом вы можете найти один и только один тест, то вы нашли модульный тест.
А затем идет системное тестирование, которое тестирует всю систему как можно ближе кпуть к клиенту увидит.
Любое тестирование, которое находится в промежутке между этими двумя вещами, является интеграционным тестом - ни изоморфным с исходным кодом, ни представительным для конечного пользователя.
Это довольно большой разрыв между двумя категориями, которые сами по себе сильно различаются на практике.Этот пробел может содержать множество потенциально полезных тестов, но характер этих тестов, естественно, будет сильно различаться.