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

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

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

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 для некорректного, вызывая функцию напрямую.
б) Проверили, что после успешной оплаты курса в личном кабинете автоматически появляется доступ к его материалам.
в) Прошли весь путь ученика: регистрация -> выбор курса в каталоге -> оплата -> первый урок в личном кабинете.
г) Директор школы лично прошёл на демо сценарий покупки курса и подтвердил, что всё работает так, как он ожидал по требованиям.

Критерий приёмки: пункт (а) отнесён к компонентному уровню — тестируется одна изолированная функция; пункт (б) отнесён к интеграционному уровню — тестируется взаимодействие модуля оплаты и модуля личного кабинета; пункт (в) отнесён к системному уровню — тестируется весь путь пользователя через систему целиком; пункт (г) отнесён к приёмочному уровню (с упоминанием UAT или заказчика) — заказчик лично подтверждает соответствие бизнес-требованиям. Для каждого пункта дано обоснование через масштаб проверяемого — а не просто названа буква ответа без пояснения.

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

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

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

Что дальше

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

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

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