Подход нагрузочного тестирования:
- Оценить критерии приемлемости производительности
- Определить критические сценарии
- Модель рабочей нагрузки
- Определить целевые уровни нагрузки
- Дизайн тестов
- Выполнить тесты
- Проанализировать результаты
Задачи нагрузочного тестирования: время отклика, пропускная способность, утилизация ресурсов, максимальная пользовательская нагрузка, бизнес-метрики.
Стресс-тестирование (Stress Testing) проверяет систему на ее устойчивость и обработку ошибок в условиях чрезвычайно высокой нагрузки (оценивает как система работает в экстремальных условиях, за пределами ограничений и лимитов). Стресс-тестирование проводится, чтобы убедиться, что система не будет аварийно завершать работу в критических ситуациях.
Тестирование стабильности/надежности (Stability/Reliability Testing) – тип тестирования программного обеспечения, который проверяет, может ли программное обеспечение выполнять безотказную работу в течение определенного периода времени в указанной среде.
Объемное тестирование (Volume Testing) – тип тестирования программного обеспечения, проводится для анализа производительности системы за счет увеличения объема данных в базе данных.
Тестирование параллелизма (Parallel Testing) – тип тестирования программного обеспечения, который проверяет несколько приложений или подкомпонентов одного приложения одновременно, чтобы сократить время тестирования. При параллельном тестировании тестировщик запускает две разные версии программного обеспечения одновременно с одним и тем же вводом. Цель состоит в том, чтобы выяснить, ведут ли себя прежняя система и новая система одинаково или по-разному.
🎃 Тестирование безопасности.
Направлено на оптимизацию безопасности системы при проектировании, разработке, использовании и обслуживании программных систем и их интеграции с критически важными для безопасности аппаратными системами в производственной среде.
Аспекты безопасности программного обеспечения:
- Функциональное программное обеспечение не должно создавать опасностей (например: управление современным самолетом НЕ должно направляться в океан).
- Системы мониторинга должны работать без сбоев (например: резервный компьютер должен запускаться автоматически при сбое основного).
Цели в тестировании безопасности:
- в сложных системах, где задействовано много взаимодействий, критически важные для безопасности функции должны быть идентифицированы и тщательно проанализированы;
- ошибки определены и устранены;
- количество критических ошибок поддерживается на низком уровне, чтобы избежать неработоспособности системы;
- атрибуты безопасности должны рассматриваться как часть всех уровней тестирования ПО.
Дополнительную информацию по безопасности приложений можно посмотреть тут: CHECK, ISACA, NIST Guideline, OSSTMM, OWASP Guide.
Принципы безопасности:
1. Конфиденциальность (ограничение или предоставление доступа к информации).
2. Целостность (возможность восстановить данные в полном объеме при их повреждении; доступ на изменение информации только определенной категории пользователей).
3. Доступность (иерархия уровней доступа и четкое их соблюдение).
Обработка ошибок и регрессионное тестирование.
После завершения разработки веб-приложения следует провести оценку и анализ выявленных ошибок для дальнейшего предотвращение их повтора. А также выполнить регрессионное тестирование.
🎃 Регрессионное тестирование.
Использует технику тестирования черного ящика (повторное выполнение тестов), на которые влияют изменения кода. Эти тесты должны выполняться как можно чаще в течение всего ЖЦПО при изменениях кода для исправления дефектов или для улучшения работы веб-приложения.
- Оценить критерии приемлемости производительности
- Определить критические сценарии
- Модель рабочей нагрузки
- Определить целевые уровни нагрузки
- Дизайн тестов
- Выполнить тесты
- Проанализировать результаты
Задачи нагрузочного тестирования: время отклика, пропускная способность, утилизация ресурсов, максимальная пользовательская нагрузка, бизнес-метрики.
Стресс-тестирование (Stress Testing) проверяет систему на ее устойчивость и обработку ошибок в условиях чрезвычайно высокой нагрузки (оценивает как система работает в экстремальных условиях, за пределами ограничений и лимитов). Стресс-тестирование проводится, чтобы убедиться, что система не будет аварийно завершать работу в критических ситуациях.
Тестирование стабильности/надежности (Stability/Reliability Testing) – тип тестирования программного обеспечения, который проверяет, может ли программное обеспечение выполнять безотказную работу в течение определенного периода времени в указанной среде.
Объемное тестирование (Volume Testing) – тип тестирования программного обеспечения, проводится для анализа производительности системы за счет увеличения объема данных в базе данных.
Тестирование параллелизма (Parallel Testing) – тип тестирования программного обеспечения, который проверяет несколько приложений или подкомпонентов одного приложения одновременно, чтобы сократить время тестирования. При параллельном тестировании тестировщик запускает две разные версии программного обеспечения одновременно с одним и тем же вводом. Цель состоит в том, чтобы выяснить, ведут ли себя прежняя система и новая система одинаково или по-разному.
🎃 Тестирование безопасности.
Направлено на оптимизацию безопасности системы при проектировании, разработке, использовании и обслуживании программных систем и их интеграции с критически важными для безопасности аппаратными системами в производственной среде.
Аспекты безопасности программного обеспечения:
- Функциональное программное обеспечение не должно создавать опасностей (например: управление современным самолетом НЕ должно направляться в океан).
- Системы мониторинга должны работать без сбоев (например: резервный компьютер должен запускаться автоматически при сбое основного).
Цели в тестировании безопасности:
- в сложных системах, где задействовано много взаимодействий, критически важные для безопасности функции должны быть идентифицированы и тщательно проанализированы;
- ошибки определены и устранены;
- количество критических ошибок поддерживается на низком уровне, чтобы избежать неработоспособности системы;
- атрибуты безопасности должны рассматриваться как часть всех уровней тестирования ПО.
Дополнительную информацию по безопасности приложений можно посмотреть тут: CHECK, ISACA, NIST Guideline, OSSTMM, OWASP Guide.
Принципы безопасности:
1. Конфиденциальность (ограничение или предоставление доступа к информации).
2. Целостность (возможность восстановить данные в полном объеме при их повреждении; доступ на изменение информации только определенной категории пользователей).
3. Доступность (иерархия уровней доступа и четкое их соблюдение).
Обработка ошибок и регрессионное тестирование.
После завершения разработки веб-приложения следует провести оценку и анализ выявленных ошибок для дальнейшего предотвращение их повтора. А также выполнить регрессионное тестирование.
🎃 Регрессионное тестирование.
Использует технику тестирования черного ящика (повторное выполнение тестов), на которые влияют изменения кода. Эти тесты должны выполняться как можно чаще в течение всего ЖЦПО при изменениях кода для исправления дефектов или для улучшения работы веб-приложения.