Эволюция нагрузочного тестирования – от простой...
TRANSCRIPT
Deutsche Bank Technology CentreDeutsche Bank
Эволюция Нагрузочного Тестированияот Автоматизации до BDDАлексей Рагозин
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29
Нагрузочный тест
Развёртывание >> Прогон >> Обработка Результатов
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29
Традиционный подход
Развёртывание Прогон Обработка результатов
Инструменты нагрузочногоо тестирования
Прогон сценария Поддержка стандартных протоколов
Подготовкатестовых данных
Традиционныесредства
развёртывания
? Самописный код awk, Excel, R, …
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29
Тестирование на ранней стадии разработки
Новый проектНет инфраструктуры развёртыванияНет выделенного инженера по производительностиНет времени гонять тесты
Непрерывное тестированиеТестирование на последней версии кодаТестирование в нерабочие часыТребуется полная автоматизация цикла тестирования
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29
Распределённое нагрузочное тестированиеТестовый стенд – распределённая система
Развёртывание- координация развёртывание между узлами
Подготовка данных- параллельная генерация данных
Сценарий тестирования- координация фермы нагрузки
Сбор результатов- распределённые источники данных
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29
Вариации на тему KPIВремя выполнения
запросаВремя
прохождения события через
систему
Время восстановления
после сбоя
C S I S1 S2 O
Предельно допустимая
нагрузка
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29
Синдром “полураспада” тестов
λ
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29
«Эталонный» стек нагрузочного тестирования
Управление распределённой
средой
Координациясценария
тестирования
Сборрезультатовизмерений
Обработкарезультатов и
подготовка отчета
Развёртывание Обработка результатов
Функционал типового инструмента нагрузочного тестирования
Прогон
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29
Развёртывание Vs. Прогон
Развёртывание Прогон
StartStorage
StartStorage
StartStorage
Wait forCluster
StartService
StartService
StartService
Warm up Warm up
ProduceLoad
ProduceLoad
Kill cluster node
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29
Сбор и Обработка Результатов
ПроблемыОбъём данныхМножество распределённых источников данныхОбработка данных не должна влиять на тестируемую
систему
РешенияРаспределённая обработка данных – слишком сложноПакетная обработка после завершения прогона
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29
Full Java Performance Testing Stack
Презентация фреймворкаhttp://www.slideshare.net/aragozin/java-57296922https://www.youtube.com/watch?v=70y83wBGhOUhttps://www.youtube.com/watch?v=By1reBt7pwg
Open Source компонентыNanoCloud – управление распределённой средой https://github.com/gridkit/nanocloud http://blog.ragozin.info/2013/01/remote-code-execution-in-java-made.html Координация / Мониторинг / Сбор данных https://github.com/gridkit/nimble/
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29
Проверка временем
Плюсы
ГибкостьЕстественная интеграция
в цикл разработки
Минусы
Слишком много Java кода Проблема “полураспада”
тестов до конца не решена Проблема качества тестов
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29
Качество тестов
AssertionError: expected: 1 but was: 0
Как это затрагивает пользователей системы?Возможна ли эксплуатация системы с дефектом?Какие бизнес-требования нарушены?Является ли проблема критической?
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29
Выбор метрик
•Применимость критерия успешности•Понятный бизнес смысл•Понятный физический смысл (часы, пользователи, попугаи)•Устойчивость к изменениям в системе
Пример хорошей метрикиКоличество пользователей в системе при сохранении SLA
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29
Lucene – непрерывное тестирование
http://people.apache.org/~mikemccand/lucenebench
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29
BDD Подход
Выражаясь BDD языком, нагрузочный тест - это
Given Тестовое окружение подготовленоWhen Прогон сценария законченThen Метрика X лежит в диапазоне […]Then Метрика Y лежит в диапазоне […]
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29
BDD ПодходНавязывание структуры
Параметры среды / Параметры сценария / КритерииРазделение кода и назначение тестаВыделение компонентов для повторного использованияФормализация критериев успешности теста
Уменьшение стоимости владения тестовым портфелем!
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29
Заключение
•Критерий успешности – признак “хорошего” теста•Границы теста:
[Развертывание – Вычисление критерия успешности]•BDD помогает поддерживать качество тестов
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29
Спасибо
Алексей Рагозинhttp://[email protected]
12.5
cm
(4.9
2 in
)
0.5
cm (0
.20
in)
0.5
cm (0
.20
in)
12.5
cm
(4.9
2 in
)
13.2
5 cm
– id
entif
ier (
5.51
in)
Deutsche Bank Technology Center
Deutsche Bank Alexey RagozinCEE SECR, October 28-29 20
Данный материал не является предложением или предоставлением какой-либо услуги. Данный материал предназначен исключительно для информационных и иллюстративных целей и не предназначен для распространения в рекламных целях. Любой анализ третьих сторон не предполагает какого-либо одобрения или рекомендации. Мнения, выраженные в данном материале, являются актуальными на текущий момент, появляются только в этом материале и могут быть изменены без предварительного уведомления. Эта информация предоставляется с пониманием того, что в отношении материала, предоставленного здесь, вы будете принимать самостоятельное решение в отношении любых действий в связи с настоящим материалом, и это решение является основанным на вашем собственном суждении, и что вы способны понять и оценить последствия этих действий. ООО “Технологический Центр Дойче Банка" не несет никакой ответственности за любые убытки любого рода, относящихся к этому материалу.