← Тестирование ПО: профессия QA с нуля
Lesson
Урок 2. Функциональное и нефункциональное; чёрный/белый/серый ящик
Классифицировать тестирование по типам: функциональное/нефункциональное и по доступу к коду (чёрный/белый/серый ящик).
Типы тестирования и доступ к коду
Что проверяем и откуда смотрим
Тестирование делят по тому, ЧТО проверяется. Функциональное тестирование отвечает на вопрос «делает ли система то, что должна?». Проверяется поведение: вход → ожидаемый выход. Пример: при вводе верных данных пользователь успешно входит в аккаунт.
Нефункциональное тестирование отвечает на вопрос «КАК система это делает?». Сюда входят: производительность (как быстро?), удобство использования (насколько понятен интерфейс?), безопасность (защищены ли данные?), совместимость (работает ли в разных браузерах/ОС?).
Позитивное тестирование проверяет корректное поведение при правильных данных. Негативное — что происходит при неверных, граничных или неожиданных данных. Например: что выдаёт система, если в поле «возраст» ввести -5 или «абвгд»?
По доступу к коду различают три подхода. Чёрный ящик: тестировщик не знает внутреннего устройства системы и работает только по требованиям — так тестируют большинство QA-инженеров. Белый ящик: тестировщик видит код и строит тесты на основе его структуры (покрытие ветвей, путей) — характерно для unit-тестов разработчиков. Серый ящик: частичное знание внутреннего устройства, например тестировщик знает схему БД, но не видит исходный код.
Lesson notes
Что проверяем и откуда смотрим
Тестирование делят по тому, ЧТО проверяется. Функциональное тестирование отвечает на вопрос «делает ли система то, что должна?». Проверяется поведение: вход → ожидаемый выход. Пример: при вводе верных данных пользователь успешно входит в аккаунт.
Нефункциональное тестирование отвечает на вопрос «КАК система это делает?». Сюда входят: производительность (как быстро?), удобство использования (насколько понятен интерфейс?), безопасность (защищены ли данные?), совместимость (работает ли в разных браузерах/ОС?).
Позитивное тестирование проверяет корректное поведение при правильных данных. Негативное — что происходит при неверных, граничных или неожиданных данных. Например: что выдаёт система, если в поле «возраст» ввести -5 или «абвгд»?
По доступу к коду различают три подхода. Чёрный ящик: тестировщик не знает внутреннего устройства системы и работает только по требованиям — так тестируют большинство QA-инженеров. Белый ящик: тестировщик видит код и строит тесты на основе его структуры (покрытие ветвей, путей) — характерно для unit-тестов разработчиков. Серый ящик: частичное знание внутреннего устройства, например тестировщик знает схему БД, но не видит исходный код.