Нефункциональное тестирование
Здесь разберем все виды нефункционального тестирования. (*)-Запомнить виды и знать где применяются и для чего
Нефункциональное тестирование — это тип тестирования программного обеспечения для проверки нефункциональных аспектов программного приложения: производительность, удобство использования, надёжность и стрессоустойчивости.
Нагрузочное тестирование измеряет производительность системы* по мере увеличения рабочей нагрузки. Он определяет, где и когда происходит прерывание работы приложения, чтобы можно было устранить проблему перед отправкой в рабочую среду. Это делается путем тестирования поведения системы при типичных и больших нагрузках. Вот несколько примеров нагрузочного тестирования:
1. Тестируем веб-сайт электронной коммерции, чтобы оценить, как он справляется с увеличенной нагрузкой во время пиковых периодов продаж.
2. Тестируем банковскую систему, чтобы убедиться, что она может обработать большое количество транзакций одновременно.
3. Тестируем приложение социальной сети, чтобы проверить его способность обслуживать миллионы пользователей одновременно.
4. Тестируем систему онлайн-игры, чтобы убедиться, что она может поддерживать высокое количество игроков без сбоев.
5. Тестируем производственную систему, чтобы оценить, как она справляется с увеличенной нагрузкой при одновременной работе большого количества процессов.
Стресс-тестирование - это часть тестирования производительности, проводимого для проверки того, как система ведет себя при экстремальных нагрузках и как она восстанавливается после сбоя. При стресс-тестировании предел нагрузки выше порога обрыва. Стресс-тестирование проводится для того, чтобы проверить, не повредят ли какие-либо неожиданные сбои безопасности или целостности веб-сайта.
Вот несколько примеров стресс-тестирования:
1. Тестирование нагрузки на веб-сервер: в данном случае, большое количество пользователей одновременно заходят на веб-сайт, чтобы узнать, как мощно сервер может справиться с такой нагрузкой.
2. Тестирование нагрузки на базу данных: в этом случае, большое количество запросов отправляется к базе данных, чтобы узнать, как быстро она может обрабатывать запросы при большой нагрузке.
3. Тестирование нагрузки на приложение: здесь, с помощью различных инструментов, имитируется максимальное количество пользователей, одновременно взаимодействующих с приложением, чтобы определить его стабильность и производительность при большой нагрузке.
4. Тестирование нагрузки на сеть: в данном случае, создается высокая сетевая нагрузка, например, путем отправки большого количества данных по сети, чтобы проверить пропускную способность и устойчивость сети в условиях высокой загрузки.
5. Тестирование нагрузки на мобильные устройства: в этом тесте, различные приложения и функции на мобильных устройствах активно используются одновременно, чтобы проверить производительность и стабильность устройства в условиях максимальной нагрузки.
Тестирование стабильности или надежности (Stability / Reliability Testing)* - один из видов нефункционального тестирования ПО, целью которого является проверка работоспособности приложения при длительном тестировании с ожидаемым уровнем нагрузки. Перед тем как подвергать ПО экстремальным нагрузкам стоит провести проверку стабильности в предполагаемых условиях работы, то есть погрузить продукт в полную рабочую атмосферу Вот несколько примеров тестирования стабильности и надежности :
1. Тестирование на стабильность программного обеспечения: проверка, насколько программа стабильно работает на разных операционных системах и конфигурациях компьютера. Включает тестирование на стабильность приложения при высоких нагрузках и длительной работе.
2. Тестирование на надежность: проверка, насколько программа может успешно выполнять задачи без сбоев или ошибок. Включает тестирование на отказы, при котором система сталкивается с непредвиденными ситуациями, такими как потеря интернет-соединения или отключение электропитания.
3. Тестирование на восстановление: проверка, насколько программа успешно восстанавливается после сбоев или ошибок. Включает тестирование на восстановление после сбоя базы данных, сбоя файловой системы или других системных сбоев.
4. Тестирование на устойчивость: проверка, насколько программа остается работоспособной при возникновении сбоев или ошибок. Включает тестирование на восстановление после сетевых сбоев, сбоев устройств или других системных сбоев.
5. Тестирование на масштабируемость: проверка, насколько программа успешно работает при изменении масштаба загрузки или количества пользователей. Включает тестирование на масштабирование приложения при добавлении новых серверов или увеличении количества пользователей.
Объемное (Volume Testing)*– это вид тестирования, в котором проверяется производительность веб-приложения при работе с большим объемом данных. Цель: проверка способности сайта обрабатывать большое количество данных. При проведении работ проверяется, как веб-приложение обрабатывает большой объем информации, оценивается производительность базы данных, быстродействие запросов, отображение и обработка информации.
Вот несколько примеров объемного тестирования:
1. Тестирование функциональности приложения, чтобы убедиться, что все функции работают должным образом и соответствуют требованиям.
2. Тестирование производительности, чтобы определить, какое количество данных или пользователей приложение может обработать без снижения скорости работы.
3. Тестирование совместимости, чтобы убедиться, что приложение работает правильно на различных операционных системах, браузерах или других целевых платформах.
4. Тестирование безопасности, чтобы проверить уязвимости приложения, такие как возможность взлома или несанкционированный доступ к данным.
5. Тестирование отказоустойчивости, чтобы убедиться, что приложение может продолжать работать даже при сбоях в системе или неполадках.
6. Тестирование на масштабируемость, чтобы проверить, как хорошо приложение может масштабироваться для обработки большого объема данных или пользователей.
7. Тестирование интерфейса пользователя, чтобы убедиться, что пользовательская часть приложения легко понять и использовать.
8. Тестирование совместной работы, чтобы проверить, как хорошо приложение интегрируется с другими системами или приложениями.
9. Тестирование восстановления после сбоев, чтобы убедиться, что приложение может восстановиться после сбоев или перезапусков.
10. Тестирование доступности, чтобы проверить, насколько доступны приложение и его функции для людей с ограниченными возможностями.
Last updated