Ошибки начинающего специалиста по нагрузочному...
DESCRIPTION
Доклад Василия Кудрявцева, SQA Days-13, 26-27 апреля 2013, www.sqadays.comTRANSCRIPT
Ошибки начинающего специалиста
по нагрузочному тестированию
и как их избежать
Слайд 2 из 19
Кудрявцев Василий Сергеевич,Ведущий специалист по нагрузочному тестированиюкомпании «Дататех», ГК «АйТи».
Введение
Кто я?
Выполняю проекты по нагрузочному тестированию разрабатываемых компанией продуктов около полутора лет;Основная схема работы: Заказчик — Разработчик — Тестировщик.
Используемый инструмент: HP LoadRunner;Тип тестируемых приложений: Web;
Суть:Проблемные ситуации на 5-ти основных этапах проведения НТ:1. Инициация;2. Подготовка методики НТ;3. Подготовка средств НТ;4. Проведение тестирования;5. Подготовка отчета.
Введение
О чём я?
Цели:1. Преобразовать проблемы в задачи;2. Найти путь решения на раннем этапе;3. Снизить трудозатраты на НТ в общем.
Слайд 3 из 19
Методика нагрузочного тестирования (НТ) — содержит цели тестирования, ограничения, стратегию тестирования, перечень проводимых тестов и другую информацию о проводимом НТ;
Средства нагрузочного тестирования (СНТ) — cкрипты и сценарии создания нагрузки, средства подготовки БД, средства подготовки тестовых данных, эмуляторы и средства мониторинга;
Инстанс мониторинга — экземпляр мониторинга, описанный назначением и именем машины (аппаратная загрузка машины портала portal1, счетчики СУБД сервисов обработки данных serv-data2);
Количество хитов в секунду (Hits/sec) — показатель интенсивности нагрузки на Систему, выражающий количество запросов в единицу времени.
Введение
НТ, методика? Глоссарий!
Слайд 4 из 19
Инициация
Учет участников проекта«Ты кто такой, давай до свидания!»
# Ситуация: В процессе проведения испытаний, в проект был вовлечен ранее неизвестный сторонний разработчик.
‼ Проблема: Новый участник начал вносить изменения в модель нагрузки на позднем этапе проекта НТ.
Решение: Составлять матрицу участников на этапе инициации, учитывая роль в проекте, заинтересованность и полномочия.
Слайд 5 из 19
Инициация
Выбираем ключевой функционал«Семь операций исключи, одну тестируй!»
# Ситуация: Включено несколько однотипных с точки зрения нагрузки операций.
‼ Проблема: На разработку скриптов ушло больше времени. Решение: Изучать операции на однотипность, выбрать ключевые
из нескольких.
Слайд 6 из 19
Подготовка методики НТ
Неразработанный функционалОперации-призраки.
# Ситуация: В методику включен неразработанный функционал.‼ Проблема: Во время разработки скриптов, функционал уже не
соответствовал документам. Решение: Не включать в методику операции, функционал которых
еще не разработан, либо описывать отступления и ограничения.
Слайд 7 из 19
Подготовка методики НТ
Несоответствие мониторингаМониторь то, не знаю что.
# Ситуация: В методике неверно указали инстансы и метрики мониторинга.
‼ Проблема: Во время проведения испытаний пришлось в срочном порядке искать аналоги метрик и средств мониторинга.
Решение: Подробно описывать в методике действительную конфигурацию стенда, инстансы и метрики мониторинга.
Слайд 8 из 19
Подготовка методики НТ
Помощь при выборе мониторинга500 счетчиков СУБД, какой включить?
# Ситуация: На выбор метрик мониторинга ранее неизвестного инстанса было потрачено несколько дней.
‼ Проблема: Позже выяснилось, что некоторые счетчики лишние, а нужные не добавили.
Решение: Совещаться с командой по поводу выбора метрик и возможных средств мониторинга.
Слайд 9 из 19
Подготовка методики НТ
Критерии времени откликаУгнать за 60 секунд, логиниться за секунду.
# Ситуация: Не был проведен должный анализ предложенных Заказчиком критериев времени отклика.
‼ Проблема: Неутешительные результаты тестирования — несоответствие критериям у большинства бизнес-операций.
Решение: Обсуждать критерии с Заказчиком и разработчиком, аргументировать изменения.
Слайд 10 из 19
Подготовка СНТ
Учетные записи пользователейВходит и выходит.
# Ситуация: Отладка скриптов осуществлялась для одного логина и одной роли.
‼ Проблема: Во время проведения испытаний проявились ошибки, связанные с ролями и логинами.
Решение: Осуществлять проверку всех используемых ролей и логинов.
Слайд 11 из 19
Подготовка СНТ
Фиксация версии ПОБаги пофиксили, скрипты поломали.
# Ситуация: В ходе написания скриптов разработчики обновили версию Системы на стенде.
‼ Проблема: Поменялись ID элементов, скрипты поломались, пришлось перезаписывать.
Решение: Фиксировать версию программных компонентов, в планах учитывать риски перезаписи скриптов.
Слайд 12 из 19
Проведение тестирования
Предварительный запуск тестов70000 пользователей за 1 минуту!
# Ситуация: После запуска нагрузочного теста по методике, Система утратила работоспособность.
‼ Проблема: Восстановление работоспособности заняло много времени, запуск испытаний был отложен.
Решение: Следует проверять сценарии предварительными запусками с уменьшенной нагрузкой и длительностью.
Слайд 13 из 19
Проведение тестирования
Отклонения от методикиТестировали по методике, а в итоге недогрузили…
# Ситуация: Выполнены все тесты из методики, команда оповещена о найденной уязвимости.
‼ Проблема: Не был запущен дополнительный тест для детализации утечки памяти в этой же итерации тестирования.
Решение: Использовать дополнительные тесты для найденных проблем, по возможности в этой же итерации тестирования.
Слайд 14 из 19
Проведение тестирования
«Страховка» мониторинга10-й час 20-ти часового теста и мониторинг отключился…
# Ситуация: В ходе тестирования произошел кратковременный сбой в работе сети.
‼ Проблема: Отключился мониторинг аппаратной загрузки серверов. Решение: Необходимо «страховать» мониторинг фоновыми
средствами и запасными вариантами.
Слайд 15 из 19
Подготовка отчета
Детализации отчетов200 графиков, 400 страниц. А хотели увидеть только выводы.
# Ситуация: Был составлен подробный отчет на 200 страниц с множеством графиков.
‼ Проблема: Требовался краткий отчет, приведенная информация оказалась непонятна Заказчику.
Решение: Следует разделять детализацию отчета на Предварительный, Бизнес-отчет и Большой отчет.
Слайд 16 из 19
Подготовка отчета
Представление графиковКорреляция количества пчел с объемом меда.
# Ситуация: Отчет прошел 15 итераций согласования в течение 2-х месяцев.
‼ Проблема: Требовались различные сравнительные графики результатов теста друг с другом.
Решение: Изначально приводить некоторые сравнительные графики, основные — с хитами в секунду и количеством ошибок.
Слайд 17 из 19
Заключение
Сборник рекомендаций
Инициация Составлять матрицу участников
Выбирать ключевой функционал
Подготовка методики НТ
Осторожнее с еще неразработанным функционалом
Подробно описывать мониторинг
Счетчики мониторинга выбирать вместе с командой
Особое внимание критериям времени отклика операций
Подготовка СНТ
Учитывать роли и логины пользователей
Фиксировать версию Системы
Проведение тестирования
Проверять тесты предварительными запусками
Использовать отклонения от методики при необходимости
«Страховать» мониторинг
Подготовка отчета
Готовить отчеты с разной детализацией
Приводить сравнительные графики показателей
Слайд 18 из 19