Уровни тестирования: компонентное, интеграционное, системное, приёмочное

В прошлом уроке мы разобрали, КОГДА тестировщик подключается к задаче внутри спринта. Но у любой проверки есть ещё одна важная характеристика — МАСШТАБ: тестируем ли мы один изолированный кусок кода, взаимодействие нескольких частей системы или всю систему целиком. Эти масштабы называют уровнями тестирования, и их принято выделять четыре — по возрастанию.

Чему научишься за этот урок:
— называть четыре классических уровня тестирования по возрастанию масштаба;
— объяснять, что именно проверяется на каждом уровне;
— определять уровень тестирования по описанию конкретной проверки;
— называть, какой уровень — основная зона работы ручного тестировщика.

1. Компонентное (Unit)      -> один модуль/функция изолированно
2. Интеграционное           -> взаимодействие нескольких модулей
3. Системное                -> вся система целиком, по требованиям
4. Приёмочное (Acceptance)  -> финальная проверка бизнес-требований (вкл. UAT)

Компонентное (модульное) тестирование

Компонентное тестирование (Unit Testing, модульное тестирование) — тестируется ОДИН отдельный модуль или функция, изолированно от остальной системы. Например: функция расчёта скидки по промокоду возвращает правильное число, если её вызвать напрямую, без интерфейса вокруг. Такие тесты обычно пишут и выполняют сами РАЗРАБОТЧИКИ, а не ручной тестировщик — но важно знать, что этот уровень существует и что-то на нём уже проверено, прежде чем задача попадёт к тебе.

Интеграционное тестирование

Интеграционное тестирование — тестируется ВЗАИМОДЕЙСТВИЕ между несколькими модулями или компонентами. Отдельно модуль применения промокода может работать правильно, отдельно модуль расчёта итоговой суммы — тоже, но по-настоящему интересно, корректно ли они работают ВМЕСТЕ: например, пересчитывается ли итоговая сумма к оплате сразу после того, как промокод применён.

Системное тестирование

Системное тестирование — тестируется СИСТЕМА ЦЕЛИКОМ, как единое целое, на соответствие требованиям. Это уже не отдельная функция и не пара модулей, а весь путь пользователя внутри продукта: например, весь сценарий записи на курс — от каталога до оплаты и получения доступа. Это ОСНОВНАЯ зона работы ручного тестировщика: именно на этом уровне чаще всего работаешь ты.

Приёмочное тестирование

Приёмочное тестирование (Acceptance Testing) — финальная проверка того, что система соответствует БИЗНЕС-требованиям и готова к приёмке заказчиком или пользователем. Частный случай приёмочного тестирования — UAT (User Acceptance Testing, пользовательское приёмочное тестирование): когда сам заказчик или конечный пользователь лично проверяет систему и подтверждает, что она готова.

Простой способ не запутаться: чем БОЛЬШЕ по масштабу то, что проверяется, тем ВЫШЕ уровень — от одной функции (компонентное) до полной готовности продукта для заказчика (приёмочное). Компонентное и интеграционное тестирование чаще выполняют разработчики; системное и приёмочное — типичная зона ручного тестировщика.

Итог:
— компонентное (модульное) — тестируется один модуль/функция изолированно, обычно силами разработчиков;
— интеграционное — тестируется взаимодействие НЕСКОЛЬКИХ модулей;
— системное — тестируется вся система целиком по требованиям, основная зона работы ручного тестировщика;
— приёмочное — финальная проверка бизнес-требований заказчиком, включая UAT;
— уровни идут по возрастанию масштаба: компонентное -> интеграционное -> системное -> приёмочное.

Контрольный вопрос. Что тестируется на компонентном (модульном) уровне?

АВся система целиком, на соответствие требованиям
БВзаимодействие нескольких модулей между собой
ВОдин отдельный модуль или функция, изолированно от остальной системы

Подсказка: Название уровня прямо указывает на масштаб — самый маленький из всех четырёх.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Что проверяется на интеграционном уровне тестирования?

АСоответствие бизнес-требованиям заказчика на финальной приёмке
БВзаимодействие между несколькими модулями или компонентами
ВОдин изолированный модуль сам по себе

Подсказка: В самом слове «интеграция» — идея объединения нескольких частей вместе, а не работы с одной частью.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Какой уровень тестирования — основная зона работы РУЧНОГО тестировщика?

АСистемное
БКомпонентное
ВПриёмочное

Подсказка: Раздел про этот уровень прямо называет его основной зоной работы ручного тестировщика — перечитай абзац после ASCII-схемы.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Что такое UAT?

АUser Acceptance Testing — приёмку системы делает сам заказчик
БUnit Acceptance Test — юнит-тест, написанный вручную тестировщиком
ВUniversal Automated Testing — автоматизация всех проверок сразу

Подсказка: Расшифровка аббревиатуры — в разделе про приёмочное тестирование, последний абзац перед выводом-подсказкой.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Какие из утверждений про уровни тестирования верны (выбери все подходящие)?

Выберите все верные варианты.

АУровни идут по возрастанию масштаба: компонентное -> интеграционное -> системное -> приёмочное
БКомпонентное тестирование обычно пишут и выполняют сами разработчики
ВСистемное тестирование проверяет только ОДИН модуль изолированно от остальной системы
ГИнтеграционное тестирование проверяет систему целиком глазами заказчика
ДПриёмочное тестирование выполняется раньше системного
ЕUAT — часть приёмочного тестирования, где сам заказчик или пользователь подтверждает готовность системы

Подсказка: Сверь каждое утверждение с определением своего уровня тестирования из этого урока.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Как называется уровень тестирования, который обычно пишут и выполняют сами разработчики, а не ручной тестировщик? Ответь двумя словами.

Подсказка: Это самый первый, самый маленький по масштабу из четырёх уровней урока.

Онлайн-проверка ответа появится позже

Контрольный вопрос. В каком порядке по возрастанию масштаба идут четыре уровня тестирования из этого урока?

АПриёмочное → системное → интеграционное → компонентное
БСистемное → компонентное → приёмочное → интеграционное
ВКомпонентное → интеграционное → системное → приёмочное

Подсказка: Вспомни ASCII-схему в начале урока, где уровни пронумерованы от 1 до 4.

Онлайн-проверка ответа появится позже

Задание. На каком уровне тестируется взаимодействие МОДУЛЯ каталога курсов и МОДУЛЯ корзины — например, появляется ли выбранный курс в корзине? Ответь одним словом.

Подсказка: Речь про работу ДВУХ модулей вместе, а не про один из них по отдельности.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Онлайн-проверка ответа появится позже

Задание. Проверили, что функция расчёта скидки по промокоду возвращает правильное число, если вызвать её напрямую, без интерфейса вокруг. К какому уровню тестирования это относится? Ответь одним словом.

Подсказка: Здесь проверяется РОВНО ОДНА функция сама по себе, без взаимодействия с другими частями системы.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Онлайн-проверка ответа появится позже

Задание. Объясни в 2-3 предложениях: почему нельзя сказать, что «прошли весь сценарий записи на курс от каталога до оплаты и получения доступа» — это интеграционное тестирование, хотя там тоже участвуют несколько модулей?

Подсказка: Сравни МАСШТАБ: интеграционное тестирование берёт несколько конкретных модулей, а здесь описан весь путь пользователя через продукт целиком.

✅ Готово, если: программа запускается без ошибок и выводит то, что просят в задании.

Онлайн-проверка ответа появится позже

Задание. Ниже — четыре описания разных проверок. Классифицируй КАЖДУЮ по уровню тестирования (компонентное, интеграционное, системное или приёмочное) с обоснованием в одно-два предложения на каждую:

а) Проверили, что функция проверки формата email при регистрации возвращает true для корректного адреса и false для некорректного, вызывая функцию напрямую.
б) Проверили, что после успешной оплаты курса в личном кабинете автоматически появляется доступ к его материалам.
в) Прошли весь путь ученика: регистрация -> выбор курса в каталоге -> оплата -> первый урок в личном кабинете.
г) Директор школы лично прошёл на демо сценарий покупки курса и подтвердил, что всё работает так, как он ожидал по требованиям.

На полигоне курса QA-школы проходит финальная проверка перед релизом новой версии платформы записи на курсы. За день до этого разработчики уже закончили и слили в основную ветку код нескольких мелких изменений.

Подсказка: Для каждого пункта задай себе один и тот же вопрос: что именно проверяется — одна функция, несколько модулей вместе, вся система или мнение заказчика на приёмке?

Онлайн-проверка ответа появится позже

Что дальше

Мы разобрали, на каком УРОВНЕ по масштабу может идти проверка. В следующем уроке разберём ещё одно деление — по ТИПУ проверки: функциональное и нефункциональное тестирование, black-box и white-box подходы, а также тестирование изменений.

← Назад  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева