Skip to content

Latest commit

 

History

History
73 lines (57 loc) · 9.47 KB

nefunkcionalnoe-testirovanie-non-functional-testing.md

File metadata and controls

73 lines (57 loc) · 9.47 KB

Нефункциональное тестирование (Non-Functional testing)

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

Нефункциональные требования могут быть отражены как:

  • Пользовательские / Технические истории (User /Technical Stories): запись нефункциональных требований в виде пользовательской истории такая же, как и запись любых других требований. Единственная разница между пользователем и технической историей заключается в том, что пользовательская история требует обсуждения и имеет видимость (? visibility);
  • В критериях приемки (Acceptance criteria): это точка, которая определяется для принятия продукта заказчиком. Нефункциональное требование должно быть включено в критерии приемки, но иногда невозможно проверить нефункциональные требования с каждой историей, то есть с каждой итерацией. Следовательно, требования следует добавлять или тестировать только с соответствующей итерацией;
  • В артефактах (Artifact): для нефункциональных требований следует подготовить отдельный артефакт, это, в свою очередь, поможет лучше понять, что нужно тестировать и как это можно делать в итерациях;

Документ подхода к тестированию (Approach Document):

Разработайте конкретный подход к этапу тестирования, уточнив общую стратегию тестирования. Этот подход к тестированию помогает при планировании и выполнении всех задач тестирования:

  • Объем испытаний (Test Scope);
  • Метрики тестирования;
  • Инструменты тестирования;
  • Основные даты и результаты;

Виды нефункционального тестирования (список не полный):

  • Тестирование производительности (Performance Testing)
  • Нагрузочное тестирование (Load Testing)
  • Стрессовое тестирование (Stress Testing)
  • Объемное тестирование (Volume Testing)
  • Тестирование восстановления (Recovery Testing)
  • Тестирование отказоустойчивости (Failover Testing)
  • Тестирование эффективности (Efficiency Testing)
  • Тестирование аварийного восстановления (Disaster Recovery Testing)
  • Тестирование установки (Installation Testing)
  • Тестирование документации (Documentation Testing)
  • Тестирование на удобство использования (Usability Testing)
  • Тестирование графического интерфейса пользователя (User Interface Testing)
  • Тестирование совместимости (Compatibility Testing)
  • Тестирование обслуживаемости (Maintainability Testing)
  • Тестирование безопасности (Security Testing)
  • Тестирование масштабируемости (Scalability Testing)
  • Тестирование выносливости (Endurance Testing)
  • Тестирование надежности (Reliability Testing)
  • Тестирование соответствия (Compliance Testing)
  • Тестирование локализации (Localization Testing)
  • Тестирование интернационализации (Internationalization Testing)
  • Тестирование переносимости (Portability Testing)
  • Тестирование на основе базового уровня (Baseline Testing)

Примеры чек-листов:

Тестирование производительности:

  • Время отклика (The response time) приложения, то есть сколько времени требуется для загрузки приложения, за какое время любой ввод, предоставленный приложению, обеспечивает вывод, время обновления браузера и т. д.;
  • Пропускную способность (Throughput) следует проверять по количеству транзакций, завершенных во время нагрузочного теста;
  • Настройка среды (Environment) должна быть такой же, как и в реальной среде, иначе результаты не будут такими же;
  • Время процесса (Process time) - такие действия, как импорт и экспорт Excel, любые вычисления в приложении должны быть протестированы;
  • Совместимость (Interoperability) должна быть проверена, т.е. программное обеспечение должно иметь возможность взаимодействовать с другим программным обеспечением или системами;
  • Необходимо проверить время ETL, то есть время, затраченное на извлечение, преобразование и загрузку данных из одной базы данных в другую;
  • Необходимо проверить возрастающую нагрузку (Load) на приложение;

Тестирование безопасности:

  • Аутентификация (Authentication): только достоверный пользователь может войти в систему;
  • Авторизация (Authorized): пользователь должен иметь возможность входить в те модули, для которых он авторизован или к которым пользователю был предоставлен доступ;
  • Пароль: Требование пароля должно быть подтверждено, т.е. пароль должен соответствовать тому, как это требование определяется, то есть длине, специальным символам, числам и т. д.;
  • Тайм-аут: если приложение неактивно, оно должно истечь по таймауту в указанное время;
  • Резервное копирование данных: резервное копирование данных должно быть выполнено в указанное время и данные должны быть скопированы в безопасное место;
  • Внутренние ссылки на веб-приложение не должны быть доступны, если размещены непосредственно в браузере;
  • Вся коммуникация должна быть зашифрована;

Тестирование документации:

  • Пользовательская и системная документация;
  • Документы для учебных целей;

Источник: A Complete Non-Functional Testing Guide For Beginners