Функциональное тестирование — это тестирование, которое направлено на то, чтобы убедиться в том, что ПО способно выполнять свои функции и соответствовать функциональным требованиям, установленным для него.
Нефункциональное тестирование включает в себя проверку соответствия нефункциональным требованиям, таким как удобство использования для конечных пользователей, масштабируемость, производительность, безопасность, надежность и др. Виды нефункционального тестирования:
— Тестирование пользовательского интерфейса (UI Testing) — это процесс проверки интерфейса на соответствие заданным требованиям, таким как размер, шрифт, цвет и последовательность действий.
— Тестирование удобства использования (Usability Testing) — это метод проверки, который оценивает удобство использования, обучаемость, понятность и привлекательность продукта для пользователей в соответствии с контекстом использования. Он состоит из UX (User Experience), который описывает взаимодействие пользователя с продуктом, и UI (User Interface), который представляет собой инструмент для взаимодействия между пользователем и веб-ресурсом.
— Тестирование безопасности (Security Testing) — это стратегия, которая используется для проверки безопасности системы и анализа рисков, связанных с защитой приложения от атак хакеров, вирусов, несанкционированного доступа к конфиденциальным данным и другими видами угроз.
— Инсталляционное тестирование (Installation Testing) — это проверка успешной установки и настройки, обновления или удаления приложения на различных платформах.
— Конфигурационное тестирование (Configuration Testing) — это специальный вид тестирования, который проверяет работу программного обеспечения в разных конфигурациях системы, включая заявленные платформы, поддерживаемые драйверы и различные конфигурации компьютеров.
— Тестирование на отказ и восстановление (Failover and Recovery Testing) — это проверка, которая оценивает способность продукта успешно восстанавливаться после возникновения сбоев, связанных с ошибками программного обеспечения, отказами оборудования или проблемами связи.
— Тестирование локализации (Localization Testing) — это проверка адаптации программного обеспечения для определенной аудитории в соответствии с ее культурными особенностями, включая язык, формат даты и времени, валюту и т. д.
Однако виды тестирования можно классифицировать по различным параметрам. Например:
Классификация тестирования по позитивности сценария:
— Позитивное тестирование — использует только корректные данные для проверки правильности функций приложения.
— Негативное тестирование — использует как корректные, так и некорректные данные для проверки исключительных ситуаций и часто включает некорректные операции.
Классификация тестирования по знанию системы:
— Тестирование белого ящика (White Box) — тестирование ПО с полным доступом к коду проекта, при котором тестировщик знает внутреннюю структуру, устройство и реализацию системы.
— Тестирование серого ящика — метод тестирования ПО, который предполагает частичный доступ к коду проекта, объединяя в себе White Box и Black Box методы.
— Тестирование чёрного ящика (Black Box) — метод тестирования ПО, при котором тестировщик не имеет доступа к внутренней структуре и реализации системы, а основывается на работе с внешним интерфейсом тестируемой системы.