Нагрузочное тестирование
Своевременное исправление проблем = удешевление проекта
Принятие решения о проведении нагрузочного тестирования на завершающей стадии проекта зачастую может быть запоздалым, например, ввиду того, что исправление неправильно принятых архитектурных решений на этом этапе повлечет за собой значительное увеличение стоимости проекта.
Мы рекомендуем внедрять нагрузочное тестирование на самых ранних стадиях разработки. Это позволит своевременно обнаружить проблемы производительности, приведет к существенному удешевлению их исправления и позволит завершить разработку в запланированные сроки.
Цели
Нагрузочное тестирование выполняет достаточно широкий круг задач, но в тоже время имеет одну первостепенную цель – убедиться в том, что система способна успешно выдерживать нагрузки, которые она будет испытывать в процессе производственной эксплуатации и иметь необходимый запас прочности.
Нагрузочное тестирование поможет ответить Вам на следующие вопросы:
- Какова производительность системы при нормальных рабочих условиях и плановой нагрузке?
- Как изменится производительность в результате увеличения количества пользователей, изменения интенсивности работы, увеличения количества данных в базе, изменения аппаратной платформы?
- Как будет вести себя приложение в критических условиях и при длительной эксплуатации?
- Какое оборудование мне необходимо для развертывания системы и эксплуатации при заданных параметрах?
Получение ответов на эти вопросы, позволит производителям программного обеспечения быть уверенными в том, что система будет успешно функционировать при запуске в производство и по истечении прогнозируемых сроков эксплуатации.
Экспертиза
В QulixQA направление нагрузочного тестирования поддерживалось и развивалось с момента основания компании, наша команда состоит из высококвалифицированных специалистов, лаборатория оборудована современными стендами и инструментарием от ведущих производителей в этой отрасли.
Мы предлагаем проведение семи основных видов нагрузочного тестирования:
- Оценочное тестирование (Performance testing);
- Нагрузочное тестирование (Load testing);
- Объемное тестирование (Volume testing);
- Тестирование надежности (Reliability or Endurance testing);
- Стрессовое тестирование (Stress testing);
- Тестирование масштабируемости (Scalability testing);
- Тестирование восстанавливаемости (Restore testing).
Оценочное, или как его чаще называют – тестирование производительности, это вид тестирования, который нацелен на проверку того, как быстро работает система при заданной нагрузке и устраивает ли нас быстродействие системы. Другими словами - это выявление проблем функционирования системы при нагрузке, сопоставимой с реальной.
Данный вид тестирования предназначен для проверки того, что происходит с системой при увеличении нагрузки, как правило, количества одновременных пользователей. По результатам выполнения, мы можем определить «запас прочности» системы с точки зрения поддерживаемого количества пользователей, а также смоделировать зависимость производительности от возрастающей нагрузки.
Объемное тестирование предназначено для того, чтобы проверить, как влияет на производительность и стабильность работы системы увеличение количества данных. В результате мы можем спрогнозировать поведение системы в результате роста БД через год и более.
Главной целью этого вида тестирования является проверка способности системы поддерживать полнофункциональный режим работы 24*7, а так же определение всех проблем, связанных с длительной работой системы без перезапуска.
В ряде случаев системы предназначены для работы в жестких эксплуатационных условиях, при этом они должны сохранять работоспособность и стабильно выполнять возложенные на них функции.
Стрессовое тестирование помогает определить, что происходит с системой при значительном превышении расчётной нагрузки, например, при резком возрастании пользовательской активности, увеличении количества одновременных пользователей и данных в БД, снижении пропускной способности сети, недостатке дискового пространства и т.д.
В ряде случаев наши заказчики становятся перед сложной задачей определения необходимой аппаратной и программной конфигурации, при которой их программное обеспечение будет работать с оптимальной производительностью и устойчивостью.
Тестирование масштабируемости помогает определить, как на производительность и стабильность работы системы влияют: добавление ресурсов, применение распределенной архитектуры стенда, изменение программного обеспечения.
Данный вид тестирования предназначен для проверки жизнеспособности системы и времени, необходимого на восстановление в результате сбоев. При данном тестировании рассматриваются случаи, например, выход из строя одного и более функциональных модулей, обрыв сети, и т.д.
Инструментарий
Для выполнения большинства проектов используются:
- HP/Mercury LoadRunner;
- IBM Rational Robot;
- WebLoad;
- Jmeter.
В случае необходимости возможно исследование и применение других средств автоматизации.
Как это работает?
Сотрудники QulixQA помогут Вам проанализировать статистическую информацию использования системы, сформулировать четкие нефункциональные требования к приложению, выделить наиболее уязвимые участки функциональности, составить наиболее объективные сценарии тестирования, разработать тестовые данные.
Разработка и внедрение нагрузочного тестирования проходит, как правило, следующие стадии:
Просмотреть блок-схемуДоставка результатов
По результатам выполнения нагрузочного тестирования мы предоставим:
- Подробные отчеты с результатами выполнения различных сценариев;
- Графики зависимостей;
- Описание вероятных проблем;
- Рекомендации по внесению изменений.
























