Продукт тестируют в несколько этапов. Сначала проводят модульное или юнит-тестирование. В этом случае проверяют работу отдельных функций. К примеру, разработчик написал код для функции «Добавить в избранное» в интернет-магазине и сразу проверяет, работает ли он корректно.
Следующий этап — интеграционное тестирование. Модули объединяют в группы и проверяют, как они друг с другом взаимодействуют. Например, получается ли добавить товар из раздела «Избранное» в корзину или удалить его.
Системное тестирование проводят после интеграционного. На этом этапе систему или приложение проверяют как единое целое и тестируют все компоненты в различных комбинациях. Цель системного тестирования — убедиться, что продукт соответствует техническим требованиям и работает без ошибок. Системное тестирование выполняют инженеры по тестированию (QA) без участия команды разработки — так получается сохранить объективность результатов.
Если системное тестирование проходит успешно, продукт проверяют на соответствие требованиям бизнеса и пользователей, а дальше — выпускают на рынок
Чтобы заниматься системным тестированием, глубокие знания в программировании не понадобятся, но нужно хорошо знать основы тестирования и разбираться в технической документации. Этому учат на курсе «Инженер по тестированию: от нуля до автоматизатора». Студенты начинают с базы — знакомятся с ролью QA, учатся писать тест-кейсы и баг-репорты. В процессе обучения они получают знания и навыки для финального проекта — тестирования веб- и мобильной версии, а также API приложения. Курс на этом не заканчивается — после обучения тестировщиков ждёт карьерный модуль. Выпускникам помогут составить резюме, изучить разные стратегии поиска работы и подготовиться к собеседованию.
Преимущества и недостатки
В системном тестировании используют метод «чёрного ящика». В этом случае тестировщик опирается на документацию, но не знает, как работает код. Его задача — воссоздать условия и сценарии, близкие к реальности, и проверить, как система себя поведёт. Для этого он даже может выйти за пределы документации и проверить систему, опираясь на интуицию и опыт в похожих проектах.
«Чёрный ящик» даёт ответ на два вопроса:
● Что делает система? Тестировщик проверяет, делает ли система то, что от неё ждут. Например, приходит ли письмо пользователю после регистрации.
● Как работает система? Во время тестирования оценивают качественные характеристики системы: насколько она удобна, как быстро работает.
Какие виды системного тестирования могут проводить «по-чёрному», разобрали в таблице.
Представим, что команде QA нужно протестировать приложение по доставке цветов. Разберём этапы системного тестирования на этом примере:
1. Планирование. Тестировщики вместе с бизнес-аналитиками и менеджерами проекта определяют цели системного тестирования для приложения. Они анализируют функциональные требования к приложению, определяют основные сценарии использования (например, оформление заказа, оплата, отслеживание статуса заказа) и разрабатывают план тестирования.
2. Подготовка. Тестировщики готовят тестовые сценарии и данные для проверки функциональности приложения. Например, они создают тестовые заказы с различными типами букетов, адресами доставки и способами оплаты.
На этом же этапе готовят тестовое окружение — это безопасная среда, которая имитирует реальные условия работы приложения. Например, для приложения с цветами понадобится веб-сервер, база данных для хранения информации о заказах, клиентах и продукции, компьютер или устройство (например, смартфон или планшет). В окружении без данных нет смысла, поэтому тестировщики генерируют информацию о цветах, адреса доставки, имена клиентов. Так получится проверить сценарии использования приложения почти как после релиза.
3. Выполнение. На этом этапе тестировщики запускают тестовые сценарии. Проверяют работу функциональности: добавление товаров в корзину, выбор даты и времени доставки, расчет стоимости заказа и процесс оформления заказа. Также они проверяют, что приложение корректно обрабатывает ошибки, например, неправильно введенные данные пользователя.
4. Анализ. Тестировщики оценивают прохождение тестовых сценариев, выявляют дефекты и проблемы с производительностью или стабильностью приложения. Документируют результаты тестирования и делятся выводами с командой разработки.
Какие инструменты выбрать — зависит от проекта и предпочтений специалиста. Разберём программы, которые чаще всего выбирают.
Совет эксперта
Читать также: