#Уровнитестирования – группа задач по тестированию, которые управляются совместно.

Для каждого уровня тестирования могут быть определены: цель, объекты тестирования, критерии входа и выхода, тестовые сценарии ,тестовые методики, измерения и метрики, инструментарий.

🔷Тестовые методики, измерения и метрики – это объемная тема, тема будущего поста.

🔷Преимущества и недостатки уровней тестирования также будет отдельный пост.



‼️Уровни тестирования:‼️

*⃣Модульное тестирование (Unit Testing).

Компонентное (модульное) тестирование – тестирование отдельных компонентов программного обеспечения, которое проверяется в частях приложения. Эти части которые доступны и могут быть протестированы по-отдельности (модули программ, объекты, классы, функции и т.д.). Может выполняться разработчиком. Здесь могут быть использованы заглушки, эмуляторы.

♨️Критерии входа:

функциональные и бизнес-требования выработаны и утверждены,

разработка компонентов закончена,

среда разработки стабильна,

тестовые сценарии модульных тестов готовы

♨️Критерии выхода:

все тестовые сценарии модульных тестов исполнены,

обнаруженные дефекты зарегистрированы,

проверка кода завершена,

все серьезные дефекты исправлены и закрыты



*⃣Интеграционное тестирование (Integration Testing) проверяет взаимодействие между компонентами системы после проведения компонентного тестирования. Тестирование функциональных и нефункциональных характеристик программы, выполняемое для выявления дефектов в интерфейсах и взаимодействии между интегрированными компонентами. Выполняется разработчиками или тестировщиками

♨️Критерии входа:

модули для интеграционного тестирования закончены,

компонентное тестирование закончено,

дефекты компонентного тестирования исправлены и закрыты,

сценарии интеграционного тестирования готовы,

тестовая среда готова

♨️Критерии выхода:

все тестовые сценарии исполнены,

дефекты, обнаруженные во время интеграционного тестирования исправлены и закрыты

Методы интеграционного тестирования: Большой взрыв, Сверху вниз и Снизу вверх – это отдельная тема



*⃣Деление тестовых активностей по уровням делается для комплексных систем (системы систем) - системное тестирование на нижнем уровне называется подсистемным.



*⃣Системное тестирование (System Testing)

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

♨️Критерии входа:

модульное и интеграционное тестирование всех модулей закончено,

окружение для системного тестирования готовы,

сценарии системного тестирования готовы,

пользовательский интерфейс и функционал «заморожены»

♨️Критерии выхода:

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

все сценарии системного тестирования исполнены,

дефекты, обнаруженные во время системного тестирования исправлены и закрыты

❗️Техники тест-дизайна применимы: классы эквивалентности, анализ граничных значений, тестирование таблицы решений, тестирование всех пар, тестирование состояний и переходов, тестирование по сценариям использования – отдельные посты☺️



*⃣Приемочное тестирование (Acceptance Testing)

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

Поиск дефектов не является целью.

Эксплуатационное тестирование проверяет насколько, система пригодна для внедрения в конкретном операционном окружении.

Альфа-тестирование выполняется в стенах компании, которая разрабатывает программный продукт.

Бета-тестирование выполняется заказчиком или пользователем на его оборудовании.