Автор: Кристин Джеквони (Kristin Jackvony) Оригинал статьи Перевод: Ольга Алифанова
Сегодня мы поговорим о нагрузочном тестировании. Нагрузочное тестирование – это способы измерения надежности и скорости вашего приложения во времена повышенного спроса на него. Это может означать тест-сценарии при приемлемой, разумной нагрузке, или же это могут быть тесты на экстремальный стресс, чтобы выяснить пределы возможностей приложения.
Довольно легко найти инструмент нагрузочного тестирования, создать несколько тестов и прогнать их при нагрузке в пару сотен пользователей, чтобы создать метрики. Но это не особенно вам поможет, если вы не знаете, зачем вы это делаете, и чем вам помогут полученные результаты.
Поэтому, прежде чем приступать, важно ответить на следующие вопросы:
Автор: Кристин Джеквони (Kristin Jackvony) Оригинал статьи Перевод: Ольга Алифанова
Тестирование производительности, как и ряд другой терминологии тестирования ПО, может интерпретироваться по-разному разными людьми. Некоторые объединяют под этим термином все типы тестов, замеряющих поведение приложения, и включают в него нагрузку и стресс-тестирование. Прочие используют его, говоря об отклике приложения при обычных условиях. Я буду пользоваться вторым вариантом определения.
Опыт подготовки и проведения тестирования производительности показывает, что неправильно построенный процесс может привести к неточным результатам и трудностям в поиске решения для улучшения производительности ПО.
В данной статье мы вместе с перфоманс-командой a1qa пройдем все обязательные этапы такой проверки и рассмотрим их особенности, опираясь на реальные кейсы.
Ещё недавно считалось, сервис должен просто работать. Нарисовали, заверстали, написали скрипты — вроде всё ок, можно катить на прод.
Но конкуренты не дремлют, поэтому начинается гонка не только за новыми функциями, но и за скоростью работы. Любое зависание приложения или долгий ответ сервера (не говоря уже про всплывающие 500-е ошибки) портят впечатление от сервиса и вынуждают пользователя уходить куда-то ещё. Наверняка, каждый сталкивался с ситуациями, когда вместо покупки билета на самолет, поезд или концерт на экране отображалось «Internal server error», и вы в ярости хотели разбить монитор.
Я — Виктор Бодров, работаю в Яндекс.Деньгах в команде исследований производительности и хочу рассказать о том, чем полезно изучать производительность прямо на продакшене
Финальная статья Алексея Остапова об инструменте для нагрузочного тестирования Locust. Сегодня поделюсь наблюдениями, которые накопил в процессе работы. Как всегда, видео прилагается.
Для тех, кому понравилась предыдущая статья Алексея Остапова, продолжаем публикацию его статей об инструменте для нагрузочного тестирования Locust.
В этой статье Алексей постарается наглядно показать преимущества написания нагрузочного теста python кодом, в котором можно удобно как подготавливать любые данные для теста, так и обрабатывать результаты.
Публикуем подборку докладов с конференции SQA Days 24, посвященную вопросам нагрузочного тестирования и тестирования безопасности.
Агент для симуляции трафика. Кто он – Николай Миронцев, СмартБеар Софтваре (Тула).
Интеллектуальное игровое моделирование в нагрузочном тестировании бизнес приложений – Владимир Крючков, Группа Полипластик (Москва).
CWE, CERT, MISRA, OWASP - просто модные слова или способ повысить качество программного обеспечения? – Евгений Рыжков, PVS-Studio (Тула).
Сломай меня, если сможешь! Или как протестировать устойчивость сложных распределенных системы к нештатным ситуациям? – Павел Липский, Сбербанк-Технологии (Санкт-Петербург).
Нагрузочное тестирование не так сильно востребовано и распространено, как иные виды тестирования — инструментов, позволяющих, провести такое тестирование, не так много а простых и удобных вообще можно пересчитать на пальцах одной руки.
Когда речь заходить о тестировании производительности — в первую очередь все думают о JMeter’е — он бесспорно остается самым известным инструментом с самым большим количеством плагинов. Мне же JMeter никогда не нравился из-за неочевидного интерфейса и высокого порога вхождения, как только возникает необходимость протестировать не Hello World приложение.
И вот, окрыленный успехом проведения тестирования в двух различных проектах, решил поделится информацией об относительно простом и удобном софте — Locust
Материал подготовлен компанией «Яндекс.Деньги». Оригинал статьи
Публикуем четыре доклада с митапа по тестированию BugsBusters (Яндекс.Деньги) от 18 декабря 2018 года о том, как правильно и со смыслом нагружать сервера в платёжных системах, банках и онлайн-играх.
Темы такие:
— регулярные боевые стрельбы и как их можно провести; — исследования производительности в рамках capacity management; — применение BDD для непрерывного нагрузочного тестирования; — как тестируют игровые сервера в World of Warships.
Такие термины, как тестирование производительности, нагрузочное и стресс-тестирование часто используются как синонимы. Однако замер скорости работы сервиса и измерение возможной нагрузки на него – это не одно и то же, а подтверждение способности сервиса справиться с нормальным уровнем нагрузки не означает, что он так же среагирует на очень высокую. Как же создавать высокоэффективные тесты производительности, не налепив распространенных ошибок?
Вначале определитесь, чего вы ожидаете от сервиса, и что именно вы хотите проверить. Ваше приложение – "заяц", обязанный максимально быстро отвечать на вопросы? А может, это "черепаха", которая выигрывает гонку благодаря постоянно поддерживаемой скорости?
В реальной жизни веб-сервисы имеют как качества зайца, так и качества черепахи, и эти качества должны быть сбалансированы. Они проверяются по-разному в зависимости от природы вашего теста. Без глубокого понимания сервиса, его применения пользователями, пользовательской базы и целей теста вы потратите много времени, гоняясь за несуществующими проблемами, в то время как реальные риски утекут у вас сквозь пальцы.