Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Нагрузочное тестирование быстро и сердито

Доклад Евгения Батищева на конференции SQA Days-20. 24-26 ноября 2016. Минск
www.sqadays.com

  • Inicia sesión para ver los comentarios

  • Sé el primero en recomendar esto

Нагрузочное тестирование быстро и сердито

  1. 1. Software quality assurance days 20 Международная конференция по вопросам качества ПО sqadays.com Минск. 24–26 ноября 2016 Батищев Евгений Аркадия. Санкт-Петербург, Россия Нагрузочное тестирование. Дёшево и сердито.
  2. 2. Нагрузочное тестирование. Дёшево и сердито. Немного о себе Батищев Евгений Программист, Аркадия. • Разработка. • Разработка очень быстро. • Разработка очень качественно. • “Сделайте так, чтобы работало, пожалуйста”. Batonrain@gmail.com
  3. 3. Нагрузочное тестирование. Дёшево и сердито. Продукты и задачи • Есть портал с посещаемостью в 40 тысяч человек в день. • На портале расположено огромное множество новостных рубрик. • Присутствует работа с личным кабинетом, оплата подписки и прочие милые фишки.
  4. 4. Нагрузочное тестирование. Дёшево и сердито. Задачи портала • Каждый день доносить до пользователей свежую и объективную информацию. • Развивать продукт и совершенствовать способы подачи новостей пользователям.
  5. 5. Нагрузочное тестирование. Дёшево и сердито. Как следствие • Производительность продукта была крайне важна.
  6. 6. Нагрузочное тестирование. Дёшево и сердито. Задачи разработчиков • Поддерживать продукт. • Развивать дополнительные возможности продукта, опираясь на требования заказчика.
  7. 7. Нагрузочное тестирование. Дёшево и сердито. Осознание Средняя статистика в основных браузерах: • Загрузка главной страницы – 19+ секунд. • Подгрузка статей – 10+ секунд. • Подгрузка фотографий – 10+ секунд. • Седые волосы начальника – 15 минут после осознания того, что сайт окончательно перестал открываться.
  8. 8. Нагрузочное тестирование. Дёшево и сердито. Организация нагрузочного тестирования • Со стороны заказчика – никакого. • С нашей стороны – надежда и вера в свои силы.
  9. 9. Нагрузочное тестирование. Дёшево и сердито. Нюансы • Нагрузочное тестирование на стороне заказчика. Частая, в последнее время, практика, которую не очень хочется поддерживать.
  10. 10. Нагрузочное тестирование. Дёшево и сердито. Основные минусы и плюсы подобного подхода Минусы: •Время. Тестировщик на стороне заказчика тратит много времени на разбор стороннего кода, вместо того, чтобы “Быстро-решительно” начать свою работу. •Коммуникации. Не всегда на стороне заказчика может сидеть очень уж грамотный тестировщик, который и логи нужные скинет, и сможет пояснить за проблему. Плюсы: •Беззаботность. Нет нужды заниматься утомительным тестированием, в котором ничего не понимаешь. •Экономия. Не приходится платить тестировщику-дармоеду, который только и делает, что находит проблемы в нашем идеально работающем коде.
  11. 11. Нагрузочное тестирование. Дёшево и сердито. Новые грабли – лучше старых двух, или сказ о том, как мы нагрузочное тестирование автоматизировали
  12. 12. Нагрузочное тестирование. Дёшево и сердито. Проблема • Лень. • Время. • Трудозатраты. • Тестировщики недовольны.
  13. 13. Нагрузочное тестирование. Дёшево и сердито. Что было решено сделать • Автоматизация тестирования только нескольких самых важных элементов функционала. • Выделить отдельный сервер под нагрузочное тестирование. • Распространить подобные практики на остальные проекты.
  14. 14. Нагрузочное тестирование. Дёшево и сердито. Что нам удалось сделать • Автоматизировать тестирование нескольких самых важных элементов функционала.
  15. 15. Нагрузочное тестирование. Дёшево и сердито. Почему не удалось всё остальное?
  16. 16. Нагрузочное тестирование. Дёшево и сердито. Что мы сделали? • В код был добавлен служебный api, через который можно было бы дёргать большую часть “тяжёлого” функционала • Была написана утилита, позволяющая генерировать запросы к нужным нам участкам функциональности через служебный api • Эта же утилита начинала отправлять дикое количество запросов через api и собирать данные об ошибках в системе, о состоянии памяти, загруженности процессора и тд. и тп. • Как настоящие лентяи, мы всё это запускали на нашем тестовом сервере и оставляли на ночь.
  17. 17. Нагрузочное тестирование. Дёшево и сердито. Результаты подобного подхода • Мы действительно начали выделять узкие места и за три месяца подобной практики сумели исправить множество старых огрехов и улучшить работоспособность продукта. • Разработчики стали больше времени уделять тестированию – пришлось поддерживать служебный api в актуальном состоянии, чтобы не было рассинхрона с основной функциональностью.
  18. 18. Нагрузочное тестирование. Дёшево и сердито. Основные плюсы, извлечённые из нашего подхода • Создание служебного api, которым стали пользоваться наши тестировщики для выявления новых проблем в старой функциональности. • Автоматизация нагрузочного тестирования трудоёмких кусков продукта. • Автогенерация отчётов о ночных сборках с возможностью включать и отключать нагрузочное тестирование после прогона основных Uts. • Сохранение нервов разработчиков и тестировщиков.
  19. 19. Нагрузочное тестирование. Дёшево и сердито. Посыл • Хотя всё и начиналось, как попытка просто организовать какое-то, самое минимальное нагрузочное тестирование, проект вылился в совместный внутренний продукт, который проектировали и тестировщики, и программисты. • Программист всегда может чуточку облегчить жизнь тестировщикам. • Облегчая жизнь тестировщикам – программист облегчает жизнь себе.
  20. 20. Нагрузочное тестирование. Дёшево и сердито. Вопросы

×