Вопрос с собеседования · Тестирование (QA)

Чем функциональное тестирование отличается от нефункционального?

JuniorВиды тестирования
Ещё спрашивают так:
  • Какие виды нефункционального тестирования вы знаете?
  • Что такое нагрузочное тестирование?
Коротко

Функциональное — что система делает (функции по требованиям), нефункциональное — как она это делает (скорость, удобство, надёжность, безопасность).

  • Нефункциональное: производительность и нагрузка, юзабилити, безопасность, совместимость, локализация
  • Нагрузочное: поведение под ожидаемой нагрузкой; стресс — за её пределами

А ещё Приведите по примеру на каждый вид

Подробно

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

Нефункциональное проверяет качественные характеристики:

  • производительность — время ответа и пропускная способность;
    • нагрузочное — работа под ожидаемой нагрузкой (например, 1000 пользователей одновременно);
    • стрессовое — поведение за пределами нормы и восстановление после;
    • тестирование стабильности — долгая работа под нагрузкой (утечки памяти);
  • юзабилити — удобство и понятность интерфейса;
  • безопасность — защита данных, авторизация, уязвимости (SQL-инъекции, XSS);
  • совместимость — браузеры, ОС, устройства, разрешения экранов;
  • локализация — переводы, форматы дат и валют, длина строк;
  • доступность (accessibility) — использование людьми с ограничениями.

На junior-позиции чаще всего делают функциональное тестирование плюс базовые проверки совместимости и юзабилити. Нагрузку и безопасность обычно ведут отдельные специалисты.

Пример

Интернет-магазин. Функциональная проверка: товар добавляется в корзину, сумма пересчитывается. Нефункциональные: страница каталога открывается быстрее двух секунд при распродаже, корзина корректно отображается в Safari на iPhone, при вводе ' OR 1=1 -- в поиск не утекают данные.

Что хотят услышать

  • Формула «что делает» против «как делает».
  • Несколько видов нефункционального тестирования с примерами.
  • Разница нагрузочного и стрессового — плюс.

Частые ошибки

  • Относить юзабилити к функциональному тестированию.
  • Не знать ни одного вида кроме нагрузочного.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

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

Что спросят дальше

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования