@Donald_Duck

Как научится четко понимать где модульное тестирование, а где функциональное?

Здравствуйте! Разбираюсь с тестированием и периодически не могу понять, где использовать модульное, а где функциональное. Например, проверить какое значение возвращает функция - это функциональное тестирование, сделать POST или GET запрос и проверить результат - это уже модульное тестирование. С этим вроде все четко ясно. А вот, например, тестирование моделей в laravel это какой вид тестирования? А если идет тестирование отношений модели? В общем как научится четко понимать, где какое тестирование использовать? Помогите пожалуйста.
  • Вопрос задан
  • 1631 просмотр
Решения вопроса 3
AlexMaxTM
@AlexMaxTM
Функции - это манипуляции с данными: есть данные на вход, и есть возвращаемое значение.
Модули - это уже логика, которая зависит не столько от данных, сколько от условий/параметров.
Когда проводим функциональные тесты - тогда проверяем правильно ли функция работает с данными. Когда проводим модульное тестирование, тогда проверяем правильно ли обрабатываются условия/параметры (какие данные при этом не так важно).
Ответ написан
sim3x
@sim3x
Функциональное тестирование - тестированием черным ящиком. Тест и его писатель, могут ничего не знать об внутренностях

Модульное тестирование - писатель знает, что за связку модулей он тестирует. Частично может обращаться к функционалу модулей
Ответ написан
Комментировать
@kn0ckn0ck
Продюсер
Функциональные тесты относятся к системе в целом и проверяют выполнение бизнес-функций системы. Система обычно состоит из нескольких модулей. Модульные тесты применяются к модулям. Также модульность - многоплановое понятие. Может быть модуль (unit) "класс", а может быть модуль "сервис". Главное то, что модуль - это техническое понятие (пользователю все равно как вы там внутри на модули все разложили), а функции системы всегда имеют бизнес смысл.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
kit_de
@kit_de
Моя... Твоя... Привет!
Мне кажется ты смешиваешь мух и котлеты в блендере.

ВВОДНАЯ
  • Функциональное тестирование это вид тестирования. Всего их два: функциональное и нефункциональное. Функциональное тестирование проверяет функционал продукта - ЧТО он делает. Нефункциональное проверяет характеристики функционала - КАК он это делает (пример: скорость загрузки сайта).
  • Компонентное тестирование это уровень тестирования. Всего их 4: приемка, системное, интеграционное, модульное. Различаются они (!не запоминать - очень кратко!) глубиной проверки системы. Модульное тестирование это насколько возможно подробное тестирование одного компонента (изолированно).


ОБОСНОВАНИЕ
Глоссарий ISTQB
  1. component: A minimal software item that can be tested in isolation.
  2. component testing ("unit testing" and "module testing" are synonyms of CT): The testing of individual software components. [After IEEE 610]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы