QA Тестировщик: Виды тестирования и их назначение

Функциональное тестирование

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

Ключевые аспекты: проверка всех требований системы, тестирование на основе сценариев и пользовательских историй, ручное или автоматизированное тестирование.

Пример: Проверка возможности пользователя заполнить форму регистрации, отправить её и корректно создать учетную запись.

Нефункциональное тестирование

Нефункциональное тестирование проверяет аспекты системы, такие как производительность, безопасность, юзабилити, надежность, не связанные напрямую с функциональностью. Это помогает удостовериться, что система эффективно работает в реальных условиях.

Ключевые аспекты: производительность (скорость выполнения задач), масштабируемость (способность справляться с увеличением нагрузки), надежность (частота сбоев).

Пример: Измерение времени загрузки веб-страницы или проверка способности сайта выдерживать большое количество одновременных пользователей.

Модульное тестирование (Юнит-тестирование)

Модульное (юнит) тестирование – тестирование отдельных модулей или компонентов системы изолированно от других частей. Цель – убедиться, что каждый блок кода работает корректно. Тесты пишутся в виде кода тестировщиками или разработчиками.

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

Интеграционное тестирование проверяет взаимодействие между модулями или компонентами. Это позволяет убедиться, что разные части системы работают вместе корректно.

Пример: Проверка правильности сохранения данных из формы регистрации в базе данных.

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

Системное тестирование – проверка полной системы. Этот этап необходим для проверки всех аспектов работы системы в реальных условиях. Тестируются все аспекты, включая функциональные и нефункциональные. Выполняется перед приемочным тестированием.

Пример: В интернет-магазине – добавление товаров в корзину, оформление заказа и оплата.

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

Приемочное тестирование подтверждает соответствие системы требованиям заказчика. Его выполняют пользователи или заказчики, чтобы удостовериться в готовности системы к выпуску.

Регрессионное тестирование

Регрессионное тестирование проверяет, что внесенные изменения не вызвали новых ошибок в ранее работавших компонентах. Это важный тип тестирования, особенно в системах с регулярными обновлениями. Тестирование может быть ручным, но чаще автоматизируется.

Пример: После добавления новой функции оплаты через PayPal в интернет-магазин, регрессионное тестирование проверит корректную работу других функций (например, оплаты банковской картой).

Рассмотренные виды тестирования играют важную роль в проверке качества программного обеспечения. Функциональное тестирование отвечает за проверку правильности работы системы, нефункциональное – за производительность и безопасность, модульное – за отдельные части программы, интеграционное – за их взаимодействие, системное – за всю систему, а приемочное – за соответствие требованиям клиента.

Что будем искать? Например,программа