Я бы назвал это функциональным тестом или системным тестом (хотя и только частичным - должен быть другой тест, который фиксировал бы, известные тестовые векторы выдают правильный известный результат).
В принципе, модульный тест не должен выполнять никакого кода из проекта, кроме тестируемого модуля. И возможно некоторые другие модули, которые независимо тестируются без ссылки на тестируемый модуль и которые в основном предназначены для повторного использования кода. Этот тест не использует такой подход.
Педантически это можно считать модульным тестом исполняемого файла шифрования , однако, если он работает, то запускает программу шифрования из командной строки. Я не думаю, что это так, ваша цитата говорит о «частях программы шифрования и дешифрования», но это аналогичная ситуация. В любом случае, если (возможно) вы RMS не внедряете Unix с нуля с нуля в утренние часы, вы не считаете исполняемый файл «модулем», вы разбираете вещи гораздо меньше этого.
Даже вне зависимости от того, построен ли этот тест как модульный тест, может случиться так, что зашифрованный «модуль» на самом деле вовсе не является модулем, а набором частей, которые сами могут быть протестированы изолированно. Добавив больше инъекций зависимостей или иным образом переработав код, вы можете превратить менее тестируемую систему в более тестируемую систему и, следовательно, превратить часть того, что раньше было модульными тестами, в интеграционные тесты. Мы не знаем, насколько тестируем этот код на самом деле. Поэтому, возможно, вы могли бы описать это как интеграционный тест модуля шифрования. Похоже, что это не стало результатом систематической попытки тестирования интеграции, поэтому было бы немного ошибочно называть это так.
Я думаю, что люди часто описывают тесты как «модульные тесты», хотя на самом деле это не так, и большинство людей могут с этим жить. Особенно, если вы используете тестовый фреймворк с названием «unit» в названии, просто / лениво просто описать это как «unit-тесты», когда на самом деле вы запускаете несколько разных типов тестов в пакете.
Лично я не думаю, что таксономия тестирования чрезвычайно важна, за исключением , что вы не должны обманывать себя, что ваши тесты лучше, чем они есть на самом деле, думая, что вы "тестировали модуль" все, когда на самом деле у вас нет. Я ожидаю, что если вы общаетесь с большой группой по тестированию, терминология становится более важной, потому что все должны знать, о чем они говорят. Но самая большая команда тестировщиков, с которой я когда-либо работал, насчитывает всего 4 или 5 человек.