Выбрать главу

— Тестирование безопасности — проводится для выявления уязвимостей, дыр в безопасности и потенциальных угроз для программного продукта. Задачи включают проверки на уязвимость к взлому, SQL — инъекциям, переполнению буфера и другим атакам, а также оценку политик безопасности, механизмов аутентификации и авторизации.

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

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

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

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

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

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

— Тестирование восстановления после сбоя — это определение способности программного продукта восстанавливаться после сбоев или ошибок, проверка механизмов резервного копирования и восстановления.

4. БАЗОВАЯ ТЕОРИЯ О ТЕСТИРОВАНИИ

4.1. Тестирование и его цели

Тестирование имеет два определения:

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

— Тестирование как деятельность — это выполнение тестовых процедур и методик с целью обнаружения дефектов в программном обеспечении и оценки его соответствия требованиям и ожиданиям.

Цели тестирования:

— Подтверждение факта того, что программное обеспечение соответствует различным требованиям и спецификациям на всех этапах тестирования.

— Оценка качества программного обеспечения в каждый момент времени.

— Снижение риска появления дефектов на всех этапах жизни программного обеспечения и уменьшение последствий при их возникновении.

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

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

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

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

— Подтверждение безопасности. Но критерии безопасности в работе приложения — это такие же обычные требования, которые мы проверяем. Кроме области применения они ничем не отличаются от других требований.

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

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

— Обеспечение соответствия стандартам, законам и т. д. Любой стандарт или закон это требование, которое должно быть выполнено или учтено в программном обеспечении и впоследствии проверено.

полную версию книги