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

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

В этой статье мы дадим определение нефункционального тестирования и рассмотрим некоторые примеры нефункциональных тестов.

Примечание редакции: о функциональном тестировании читайте в отдельной статье – “Что такое функциональное тестирование?”.

Типы нефункциональных тестов

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

Существует несколько типов нефункциональных тестов. Наиболее распространенными из них являются:

  1. Тесты производительности
  2. Нагрузочные тесты
  3. Стресс-тесты
  4. Тесты объема
  5. Тесты безопасности
  6. Тесты обновления и установки
  7. Тесты восстановления

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

Друзья, подпишитесь на наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.

1. Тесты производительности

Тестирование производительности проверяет, насколько хорошо работают компоненты программы. Эти тесты могут найти проблемы в дизайне ПО и производительности архитектуры.

Обычно это делается путем измерения времени отклика, выявления узких мест и определения точек отказа.

Тесты производительности подтверждают, что ПО быстрое, масштабируемое, стабильное и надежное.

2. Нагрузочные тесты

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

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

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

3. Стресс-тесты

Стресс-тесты проверяют, как ведет себя программное обеспечение в аномальных условиях. Они определяют предел, при котором программа сломается.

Важно выяснить, что происходит, когда система находится в стрессовом состоянии. Появляется ли правильное сообщение об ошибке? Отказывает ли система? Как она будет восстанавливаться?

Стресс-тесты помогают тестировщикам проанализировать, что происходит, когда система дает сбой. Успешно пройденные стресс-тесты подтверждают, что программное обеспечение является восстанавливаемым, стабильным и надежным.

4. Объемные тесты

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

С помощью объемных тестов можно проверить, нет ли потери данных, предупреждений или сообщений об ошибках, а также проблем с сохранением данных при добавлении огромных объемов данных в продукт.

Объемные тесты проверяют, что система реагирует на определенные объемы данных в соответствии с ожиданиями. Это важно для обеспечения производительности и стабильности.

5. Тесты безопасности

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

Общие тесты безопасности включают:

  • сканирование уязвимостей
  • сканирование безопасности
  • тестирование на проникновение
  • оценку рисков
  • аудит безопасности
  • оценку состояния безопасности
  • этический взлом

Проведение этих тестов важно для разработки безопасной, стабильной системы.

6. Тестирование обновления и установки

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

Оба эти типа функциональных тестов важны для удовлетворенности пользователей. В конце концов, каким бы замечательным ни был ваш продукт, если пользователь столкнется с проблемами при его установке или обновлении, он никогда не узнает, насколько он хорош!

7. Тесты восстановления

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

Этот тип тестирования проводится для того, чтобы увидеть, что происходит с программным обеспечением:

  • если вы отключите аппаратное обеспечение
  • при отключении от сети во время передачи данных
  • при неожиданном перезапуске системы.

Тесты восстановления важны для повышения производительности программного обеспечения.

Перевод статьи «Non Functional Testing – With Non Functional Test Examples».

6 комментариев к “Что такое нефункциональное тестирование?”

  1. Пингбэк: Types, tools and best practices of security testing - Prog.World

  2. Пингбэк: Большой учебник по тестированию

  3. Пингбэк: Что такое ручное тестирование?

  4. Пингбэк: Тестирование баз данных

  5. Пингбэк: Руководство по тестированию юзабилити

  6. Пингбэк: Функциональное и нефункциональное тестирование

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *