Тестирование ПО
Виды тестирования
Тестирование ПО — проверка соответствия существующего поведения ожидаемому. Тестирование — один из способов контроля качества ПО.
Тестирование, в зависимости от преследуемых целей, можно условно разделить на:
1. Функциональное тестирование - рассматривает внешнее поведение системы, имитируя фактического использование системы. Функциональное тестирование может проверять выполнение всех требований либо правильность прохождения бизнес-процессов.
Одной из разновидностей функционального тестирования является тестирование безопасности, которое позволяет выявить уязвимости в ПО (XSS, XSRF / CSR, Code injections, SSI Injection и прочие)
2. Не функциональные тесты — это тесты, необходимые для определения характеристик ПО. К этому виду тестов относятся тестирование производительности, отказоустойчивости, юзабильности и конфигурационное тестирование.
Производительность проверяется путем создания стрессовой нагрузки и увеличением объема данных в базе данных приложения в течении длительного времени.
Тестирование удобства использования (юзабилити) дает оценку уровня удобства использования приложения по следующим пунктам:
1. производительность, эффективность - сколько времени и шагов понадобится пользователю для завершения основных задач приложения
2. правильность ожиданий пользователя - сколько ошибок сделал пользователь во время работы с приложением
3. эмоциональная реакция – понравилось ли пользователю пользоваться данным ПО
Отказоустойчивость — способность ПО сохранять работоспособность и данные при сбое питания, поломке оборудования или возникновения программной ошибки. Тестирование проводится путем имитации различного вида сбоев.
Тестирование конфигурации подразумевает проверку совместимости ПО с различными аппаратными и программными средствами. Основной целью данного вида тестирования является определение оптимальной конфигурации оборудования, обеспечивающего лучшую производительность тестируемой системы.
Уровни тестирования:
1. Модульное тестирование — проверяет работоспособность отдельного метода, объекта или модуля.
2. Интеграционное тестирование - проверяет взаимодействие между отдельными компонентами ПО
3. Системное тестирование - проверяет работоспособность всей системы в целом. Проверка осуществляется либо на основе требований либо на основе сценариев использование ПО.