— Позитивное тестирование — направлено на проверку того, что приложение работает как ожидается, когда используются правильные входные данные. Цель этого подхода — подтверждение того, что приложение выполняет свои функции корректно в «идеальных» условиях.
— Негативное тестирование — направлено на проверку реакции приложения на неправильные, некорректные или неожиданные входные данные. Цель этого подхода — убедиться, что приложение устойчиво к ошибкам, адекватно обрабатывает исключительные ситуации и не допускает сбоев или некорректного поведения в случае ввода невалидных данных. В негативном тестировании часто используются одновременно корректные данные и некоторая часть некорректных.
— Позитивный — для формы регистрации можно использовать валидный адрес электронной почты и пароль, соответствующий требованиям безопасности. Система в этом случае должна успешно зарегистрировать пользователя.
— Негативный — для той же формы можно ввести невалидный адрес электронной почты, но заполнить остальные поля подходящими данными. Тогда можно ожидать, что система отобразит подходящее сообщение об ошибке.
3.7. Классификация тестирования по целям и задачам
— Функциональное тестирование — проверка соответствия программного продукта его функциональным требованиям и спецификациям. Задача в том, чтобы убедиться, что каждая функция программы работает в соответствии с заданными требованиями.
— Нефункциональное тестирование — тестирование не связанных напрямую с конкретными функциями аспектов программного продукта, таких как производительность, безопасность, удобство использования, совместимость и надежность. Охватывая большое количество подвидов тестирования, этот его вид направлен на проверку того, как система работает и взаимодействует с другими компонентами, а также на обеспечение качества пользовательского опыта.
— Регрессионное тестирование — тестирование с целью убедиться, что изменения, дополнения или исправления в программном продукте не привели к появлению новых ошибок в уже существующих и протестированных ранее частях программы. Задача заключается в повторном выполнении тестов для проверки стабильности и работоспособности существующего функционала.
— Тестирование производительности — проводится для оценки скорости, стабильности, масштабируемости и ресурсоемкости программного продукта под различными нагрузками. Включает в себя проверку времени отклика, пропускной способности, использования ресурсов и способности системы обрабатывать большое количество одновременных запросов.
— Тестирование безопасности — проводится для выявления уязвимостей, дыр в безопасности и потенциальных угроз для программного продукта. Задачи включают проверки на уязвимость к взлому, SQL — инъекциям, переполнению буфера и другим атакам, а также оценку политик безопасности, механизмов аутентификации и авторизации.
— Тестирование совместимости — проводится с целью убедиться, что программное обеспечение совместимо с различными операционными системами, браузерами, устройствами и другим программным обеспечением. Задачи включают проверку работоспособности продукта и его отображения на различных платформах и устройствах.
— Тестирование конфигурации — это оценка работоспособности программного продукта в различных конфигурациях аппаратного и программного обеспечения, проверка системы на устойчивость к изменениям в конфигурации окружения.
— Тестирование локализации — это проверка адаптации продукта под специфику определенного региона или культурного контекста. Включает в себя перевод текстов, контроль корректировки форматов дат и валюты, культурных особенностей и локальных норм.
— Тестирование доступности — используется с целью убедиться, что программное обеспечение доступно для использования широкому кругу пользователей, включая людей с ограниченными возможностями (например, с нарушениями зрения, слуха). Тестирование включает проверку соответствия стандартам доступности.
— Тестирование юзабилити — это оценка удобства и интуитивности интерфейса пользователя, легкости освоения и использования программного продукта. Задачи включают изучение поведения реальных пользователей при работе с продуктом и выявление потенциальных проблем в интерфейсе.
— Тестирование миграции данных — проводится, чтобы убедиться, что данные правильно переносятся из одной системы в другую, без потерь или искажений. Включает проверку корректности миграции, соответствия структур данных и полноты переноса.
— Тестирование восстановления после сбоя — это определение способности программного продукта восстанавливаться после сбоев или ошибок, проверка механизмов резервного копирования и восстановления.
4. БАЗОВАЯ ТЕОРИЯ О ТЕСТИРОВАНИИ