-- Виды тестирования по степени изолированности системы

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

Модульным тестированием называется проверка минимально функциональной автономной единицы программы. Чаще всего это проверка функций и процедур внутри кода
программы. Такое тестирование чаще всего автоматизируют и выполняют програмисты. Отчеты об ошибках при таком тестировании создаются редко, потому что всё исправляется “на лету”.
Для проверки функций кода пишется программа, которая подаёт на вход предопределенные
параметры и сравнивает полученный результат на выходе функции с ожидаемым.
 

Интеграционное тестирование (integration testing)

Интеграционное тестирование – это проверка взаимодействия между различными
компонентами системы. Выполняя такую проверку вы проверяете не сами компоненты, а
функциональные связи между ними (информация между компонентами передается без потерь,
формат протоколов общения между компонентами соблюдается и т.п.). Для примера можно
представить какой-то интернет магазин, где вы делаете покупку товара, после этого ваш заказ
сохраняется в базе данных. У нас есть две компоненты – сайт с интерфейсом для покупки товара и база данных для хранения заказа. Вы уже провели компонентное тестирование сайта и базы и они работают нормально. Теперь вы ставите (интегрируете) оба эти компонента в систему и проверяете что, когда вы заказываете товар, в базе данных появляется правильная информация со всеми параметрами относительно вашего заказа, но при этом не углубляетесь в проверку работы самих сайта и базы. Интеграционное тестирование можно разбить на три вида: нисходящее, восходящее и “Большой Взрыв”. 



        Нисходящее интеграционное тестирование используется для отлова ошибок взаимодействия компонент. Вы ставите сначала все компоненты, а потом начинаете по одной убирать их из системы и проверять её на работоспособность. Если, после того как вы убрали очередной компонент, ошибка исчезла, значит вероятнее всего этот компонент и вызывал ошибку интеграции, следовательно – причину неполадки надо искать в нём.

         Восходящее тестирование – самое распространенное. Здесь вы постепенно по одному добавляете компоненты в систему и проверяете не появились ли ошибки интеграции. Применяется для постепенного наращивания функционала программы.

        “Большой Взрыв” – это одновременная установка всех компонентов в систему. Применяется, если есть вероятность что все созданные компоненты сразу будут взаимодействовать нормально. На практике такого не бывает, поэтому после “Большого Взрыва” начинают применять нисходящий подход интеграции компонентов.

Системное тестирование (system/end-to-end testing) 

Системное тестирование – это тестирование полностью собранной системы в том виде, в
котором она будет поставляться заказчику. Тестирование проводится в условиях приближенных к реальным. В рамках этого тестирование проводятся как функциональные, так и не функциональные тесты всей системы. Так же проверяется производительность и надежность системы. Команда ещё раз удостоверяется что все требования выполнены и покрыты тестами. В идеале считается, что на этом этапе новых требований уже появляться не будет, никаких изменений системы не последует и программисты работают только над исправлением ошибок.
Как правило это тестирование проводится уже в конце процесса разработки, когда работа над
программой готова и в скором ожидается её внедрение в реальную рабочую среду. Зачастую, за
ним идет уже приемочное (UAT) тестирование заказчиком.

Комментариев нет:

Отправить комментарий

Что нужно, чтобы найти первую работу тестировщика ПО Часто задаваемые вопросы на позицию QA Trainee/Junior Теория тестирования. Сод...