SlideShare a Scribd company logo
Сложности performance-тестирования / Андрей Акиньшин (JetBrains)
Часть 1
Общая методология
2/30 1. Общая методология
Цели
3/30 1. Общая методология
Цели
1 Не допустить performance-деградаций
3/30 1. Общая методология
Цели
1 Не допустить performance-деградаций
2 Если допустили, то вовремя об этом узнать
3/30 1. Общая методология
Цели
1 Не допустить performance-деградаций
2 Если допустили, то вовремя об этом узнать
3 Снизить количество ошибок первого рода
(Проблемы нет, а мы думаем, что есть)
3/30 1. Общая методология
Цели
1 Не допустить performance-деградаций
2 Если допустили, то вовремя об этом узнать
3 Снизить количество ошибок первого рода
(Проблемы нет, а мы думаем, что есть)
4 Снизить количество ошибок второго рода
(Проблема есть, а мы думаем, что нет)
3/30 1. Общая методология
Цели
1 Не допустить performance-деградаций
2 Если допустили, то вовремя об этом узнать
3 Снизить количество ошибок первого рода
(Проблемы нет, а мы думаем, что есть)
4 Снизить количество ошибок второго рода
(Проблема есть, а мы думаем, что нет)
5 Автоматизация везде, где можно
3/30 1. Общая методология
Источник для вдохновения
4/30 1. Общая методология
Источник для вдохновения
Rider
• Файлов: 200’000+
• Строчек кода: 20’000’000+
• Тестов: 100’000+
• Рантаймы внутри: JVM, .NET Framework/Mono
• Быстро работает на Windows, Linux, macOS
5/30 1. Общая методология
Источник для вдохновения
Rider
• Файлов: 200’000+
• Строчек кода: 20’000’000+
• Тестов: 100’000+
• Рантаймы внутри: JVM, .NET Framework/Mono
• Быстро работает на Windows, Linux, macOS
Хочется, чтобы Rider продолжал быстро работать...
5/30 1. Общая методология
Источники performance-данных: крупно
Специальные performance-тесты
6/30 1. Общая методология
Источники performance-данных: крупно
Специальные performance-тесты
• Холодный и горячий старт
6/30 1. Общая методология
Источники performance-данных: крупно
Специальные performance-тесты
• Холодный и горячий старт
• Микробенчмарки
6/30 1. Общая методология
Источники performance-данных: крупно
Специальные performance-тесты
• Холодный и горячий старт
• Микробенчмарки
• Performance-тесты на GUI
6/30 1. Общая методология
Источники performance-данных: крупно
Специальные performance-тесты
• Холодный и горячий старт
• Микробенчмарки
• Performance-тесты на GUI
• Нагрузочное тестирование (Яндекс.Танк, JMeter и т.д.)
6/30 1. Общая методология
Источники performance-данных: крупно
Специальные performance-тесты
• Холодный и горячий старт
• Микробенчмарки
• Performance-тесты на GUI
• Нагрузочное тестирование (Яндекс.Танк, JMeter и т.д.)
• Измерение Latency/Throughput
6/30 1. Общая методология
Источники performance-данных: крупно
Специальные performance-тесты
• Холодный и горячий старт
• Микробенчмарки
• Performance-тесты на GUI
• Нагрузочное тестирование (Яндекс.Танк, JMeter и т.д.)
• Измерение Latency/Throughput
• Автоматизированный поиск точек отказа (capacity planning)
6/30 1. Общая методология
Источники performance-данных: крупно
Специальные performance-тесты
• Холодный и горячий старт
• Микробенчмарки
• Performance-тесты на GUI
• Нагрузочное тестирование (Яндекс.Танк, JMeter и т.д.)
• Измерение Latency/Throughput
• Автоматизированный поиск точек отказа (capacity planning)
• Тестирование асимптотики
6/30 1. Общая методология
Источники performance-данных: крупно
Специальные performance-тесты
• Холодный и горячий старт
• Микробенчмарки
• Performance-тесты на GUI
• Нагрузочное тестирование (Яндекс.Танк, JMeter и т.д.)
• Измерение Latency/Throughput
• Автоматизированный поиск точек отказа (capacity planning)
• Тестирование асимптотики
• ...
6/30 1. Общая методология
Источники performance-данных: крупно
Специальные performance-тесты
• Холодный и горячий старт
• Микробенчмарки
• Performance-тесты на GUI
• Нагрузочное тестирование (Яндекс.Танк, JMeter и т.д.)
• Измерение Latency/Throughput
• Автоматизированный поиск точек отказа (capacity planning)
• Тестирование асимптотики
• ...
Обычные тесты
• Все тесты, которые у вас уже есть (>10ms)
6/30 1. Общая методология
Обычные тесты vs. Специальные тесты
Обычные тесты Специальные тесты
7/30 1. Общая методология
Обычные тесты vs. Специальные тесты
Обычные тесты Специальные тесты
Случайные машины Выделенные машины
7/30 1. Общая методология
Обычные тесты vs. Специальные тесты
Обычные тесты Специальные тесты
Случайные машины Выделенные машины
Виртуальное окружение Реальное железо
7/30 1. Общая методология
Обычные тесты vs. Специальные тесты
Обычные тесты Специальные тесты
Случайные машины Выделенные машины
Виртуальное окружение Реальное железо
Легко писать Сложно писать
7/30 1. Общая методология
Обычные тесты vs. Специальные тесты
Обычные тесты Специальные тесты
Случайные машины Выделенные машины
Виртуальное окружение Реальное железо
Легко писать Сложно писать
Много и бесплатно Мало и дорого
7/30 1. Общая методология
Поучительная история
Однажды, после перехода с Mono 4.9 на Mono 5.2 наши
perf-тесты стали падать . . .
8/30 1. Общая методология
Поучительная история
Однажды, после перехода с Mono 4.9 на Mono 5.2 наши
perf-тесты стали падать . . .
private readonly IList<object> array = new string[0];
[Benchmark]
public int CountProblem() => array.Count;
8/30 1. Общая методология
Поучительная история
Однажды, после перехода с Mono 4.9 на Mono 5.2 наши
perf-тесты стали падать . . .
private readonly IList<object> array = new string[0];
[Benchmark]
public int CountProblem() => array.Count;
Linux macOS
Mono 4.9 ≈5ns ≈5ns
Mono 5.2 ≈1400ns ≈2600ns
8/30 1. Общая методология
Источники performance-данных: мелко
Ветки
• Master-ветка
• Все ветки
• Заданные коммиты
9/30 1. Общая методология
Источники performance-данных: мелко
Ветки
• Master-ветка
• Все ветки
• Заданные коммиты
Метрики
• Время прохождения теста
• Время прохождения отдельных частей теста
• "Железные"данные: CPU, Memory, Disk, Network, . . .
• Характеристики рантайма (например, GC.CollectionCount)
9/30 1. Общая методология
Источники performance-данных: мелко
Ветки
• Master-ветка
• Все ветки
• Заданные коммиты
Метрики
• Время прохождения теста
• Время прохождения отдельных частей теста
• "Железные"данные: CPU, Memory, Disk, Network, . . .
• Характеристики рантайма (например, GC.CollectionCount)
Не забываем про проблему множественных сравнений
9/30 1. Общая методология
Оборона против performance-деградаций
10/30 1. Общая методология
Оборона против performance-деградаций
• Merge robot
Проверяем производительность на каждый мердж
10/30 1. Общая методология
Оборона против performance-деградаций
• Merge robot
Проверяем производительность на каждый мердж
• Daily tests
Запускаем тесты каждый день
10/30 1. Общая методология
Оборона против performance-деградаций
• Merge robot
Проверяем производительность на каждый мердж
• Daily tests
Запускаем тесты каждый день
• Retrospective
Анализируем исторические данные
10/30 1. Общая методология
Оборона против performance-деградаций
• Merge robot
Проверяем производительность на каждый мердж
• Daily tests
Запускаем тесты каждый день
• Retrospective
Анализируем исторические данные
• Check points
Проверяем опасные изменения
10/30 1. Общая методология
Оборона против performance-деградаций
• Merge robot
Проверяем производительность на каждый мердж
• Daily tests
Запускаем тесты каждый день
• Retrospective
Анализируем исторические данные
• Check points
Проверяем опасные изменения
• Pre-release
Проверяем регрессию перед самым релизом
10/30 1. Общая методология
Оборона против performance-деградаций
Обнаружение Точность Процесс
11/30 1. Общая методология
Оборона против performance-деградаций
Обнаружение Точность Процесс
Merge robot Вовремя Средняя Автоматический
11/30 1. Общая методология
Оборона против performance-деградаций
Обнаружение Точность Процесс
Merge robot Вовремя Средняя Автоматический
Daily tests Поздно Хорошая Полуручной
11/30 1. Общая методология
Оборона против performance-деградаций
Обнаружение Точность Процесс
Merge robot Вовремя Средняя Автоматический
Daily tests Поздно Хорошая Полуручной
Retrospective Слишком поздно Отличная Полуручной
11/30 1. Общая методология
Оборона против performance-деградаций
Обнаружение Точность Процесс
Merge robot Вовремя Средняя Автоматический
Daily tests Поздно Хорошая Полуручной
Retrospective Слишком поздно Отличная Полуручной
Check points Вовремя Отличная Ручной
11/30 1. Общая методология
Оборона против performance-деградаций
Обнаружение Точность Процесс
Merge robot Вовремя Средняя Автоматический
Daily tests Поздно Хорошая Полуручной
Retrospective Слишком поздно Отличная Полуручной
Check points Вовремя Отличная Ручной
Pre-release Совсем поздно Отличная Ручной
11/30 1. Общая методология
Оборона против performance-деградаций
Обнаружение Точность Процесс
Merge robot Вовремя Средняя Автоматический
Daily tests Поздно Хорошая Полуручной
Retrospective Слишком поздно Отличная Полуручной
Check points Вовремя Отличная Ручной
Pre-release Совсем поздно Отличная Ручной
И ещё несколько важных факторов:
• Время прогона
• Количество билд-агентов и их стоимость
• Спектр проблем, которые можно обнаружить
11/30 1. Общая методология
Alarm-критерии
12/30 1. Общая методология
Alarm-критерии
Ручной
• Специальный программист, который мониторит тесты 24/7
12/30 1. Общая методология
Alarm-критерии
Ручной
• Специальный программист, который мониторит тесты 24/7
Автоматизированный
12/30 1. Общая методология
Alarm-критерии
Ручной
• Специальный программист, который мониторит тесты 24/7
Автоматизированный
• Абсолютный timeout
12/30 1. Общая методология
Alarm-критерии
Ручной
• Специальный программист, который мониторит тесты 24/7
Автоматизированный
• Абсолютный timeout
• Относительный timeout
12/30 1. Общая методология
Alarm-критерии
Ручной
• Специальный программист, который мониторит тесты 24/7
Автоматизированный
• Абсолютный timeout
• Относительный timeout
• Исторические данные и статистика
12/30 1. Общая методология
Alarm-критерии
Ручной
• Специальный программист, который мониторит тесты 24/7
Автоматизированный
• Абсолютный timeout
• Относительный timeout
• Исторические данные и статистика
Полуавтоматизированный
• Система, которая формирует список performance-аномалий
• Специальный программист, который разбирает этот список
12/30 1. Общая методология
Часть 2
Ищем performance-аномалии
13/30 2. Ищем performance-аномалии
Виды performance-аномалий
14/30 2. Ищем performance-аномалии
Виды performance-аномалий
• Деградация производительности (резкая и постепенная)
14/30 2. Ищем performance-аномалии
Виды performance-аномалий
• Деградация производительности (резкая и постепенная)
• Деградация индивидуальная и групповая
14/30 2. Ищем performance-аномалии
Виды performance-аномалий
• Деградация производительности (резкая и постепенная)
• Деградация индивидуальная и групповая
• Внезапное улучшение производительности
14/30 2. Ищем performance-аномалии
Виды performance-аномалий
• Деградация производительности (резкая и постепенная)
• Деградация индивидуальная и групповая
• Внезапное улучшение производительности
• Разная производительность в зависимости от параметров и окружения
14/30 2. Ищем performance-аномалии
Виды performance-аномалий
• Деградация производительности (резкая и постепенная)
• Деградация индивидуальная и групповая
• Внезапное улучшение производительности
• Разная производительность в зависимости от параметров и окружения
• Большая дисперсия
14/30 2. Ищем performance-аномалии
Виды performance-аномалий
• Деградация производительности (резкая и постепенная)
• Деградация индивидуальная и групповая
• Внезапное улучшение производительности
• Разная производительность в зависимости от параметров и окружения
• Большая дисперсия
• Распределения странной формы (например, мультимодальные)
14/30 2. Ищем performance-аномалии
Виды performance-аномалий
• Деградация производительности (резкая и постепенная)
• Деградация индивидуальная и групповая
• Внезапное улучшение производительности
• Разная производительность в зависимости от параметров и окружения
• Большая дисперсия
• Распределения странной формы (например, мультимодальные)
• . . .
14/30 2. Ищем performance-аномалии
Борьба с performance-аномалиями
Наведение performance-чистоты позволяет:
15/30 2. Ищем performance-аномалии
Борьба с performance-аномалиями
Наведение performance-чистоты позволяет:
• Находить проблемы, на которые не стоят assert’ы
15/30 2. Ищем performance-аномалии
Борьба с performance-аномалиями
Наведение performance-чистоты позволяет:
• Находить проблемы, на которые не стоят assert’ы
• Ускорять билд
15/30 2. Ищем performance-аномалии
Борьба с performance-аномалиями
Наведение performance-чистоты позволяет:
• Находить проблемы, на которые не стоят assert’ы
• Ускорять билд
• Находить flaky-тесты
15/30 2. Ищем performance-аномалии
Борьба с performance-аномалиями
Наведение performance-чистоты позволяет:
• Находить проблемы, на которые не стоят assert’ы
• Ускорять билд
• Находить flaky-тесты
• Уменьшать количество тестов, которые в будущем помешают найти
действительно критичные проблемы
15/30 2. Ищем performance-аномалии
Маленькие деградации
16/30 2. Ищем performance-аномалии
Дисперсия
17/30 2. Ищем performance-аномалии
Анализ параметров
18/30 2. Ищем performance-аномалии
Анализ параметров
19/30 2. Ищем performance-аномалии
Анализ параметров
20/30 2. Ищем performance-аномалии
Мультимодальные распределения
21/30 2. Ищем performance-аномалии
Мультимодальные распределения
22/30 2. Ищем performance-аномалии
Проблемы агентов
23/30 2. Ищем performance-аномалии
Ложные друзья performance-инженера
24/30 2. Ищем performance-аномалии
Ложные друзья performance-инженера
• Изменения в тесте
24/30 2. Ищем performance-аномалии
Ложные друзья performance-инженера
• Изменения в тесте
• Изменения в порядке тестов
24/30 2. Ищем performance-аномалии
Ложные друзья performance-инженера
• Изменения в тесте
• Изменения в порядке тестов
• Изменения в агенте
24/30 2. Ищем performance-аномалии
Ложные друзья performance-инженера
• Изменения в тесте
• Изменения в порядке тестов
• Изменения в агенте
• Изменения в окружающем мире
24/30 2. Ищем performance-аномалии
Ложные друзья performance-инженера
• Изменения в тесте
• Изменения в порядке тестов
• Изменения в агенте
• Изменения в окружающем мире
• Любые изменения хоть в чём, кроме того, что вы
действительно тестируете
24/30 2. Ищем performance-аномалии
Часть 3
Performance Culture
25/30 3. Performance Culture
Performance Culture
Внутри команды должно быть единое понимание следующих
вещей:
• Performance-цели
• Идеальная степень performance-чистоты
• Кто за что ответственен
• Что считать регрессией или проблемой
• Что такое правильный tradeoff
26/30 3. Performance Culture
Performance Driven Development (PDD)
27/30 3. Performance Culture
Performance Driven Development (PDD)
• Пишем performance-тест
27/30 3. Performance Culture
Performance Driven Development (PDD)
• Пишем performance-тест
• Изучаем performance-пространство:
Min, Max, Mean, Median, Q1, Q3, Percentiles,
графики и тренды
27/30 3. Performance Culture
Performance Driven Development (PDD)
• Пишем performance-тест
• Изучаем performance-пространство:
Min, Max, Mean, Median, Q1, Q3, Percentiles,
графики и тренды
• Задаём reference state
27/30 3. Performance Culture
Performance Driven Development (PDD)
• Пишем performance-тест
• Изучаем performance-пространство:
Min, Max, Mean, Median, Q1, Q3, Percentiles,
графики и тренды
• Задаём reference state
• Делаем рефакторинг и оптимизации
27/30 3. Performance Culture
Performance Driven Development (PDD)
• Пишем performance-тест
• Изучаем performance-пространство:
Min, Max, Mean, Median, Q1, Q3, Percentiles,
графики и тренды
• Задаём reference state
• Делаем рефакторинг и оптимизации
• Проверяем performance-показатели
27/30 3. Performance Culture
Часть 4
Заключительные мысли
28/30 4. Заключительные мысли
Мораль
• Performance-тестирование — увлекательно, но сложно
• Набор проблем и решений специфичен для продукта.
Хорошие инструменты не помогут вам, если вы не понимаете
мат.части.
• Куча данных бесплатно валяется под ногами.
Нужно просто уметь их собрать!
29/30 4. Заключительные мысли
Вопросы?
Андрей Акиньшин
http://aakinshin.net
https://github.com/AndreyAkinshin
https://twitter.com/andrey_akinshin
andrey.akinshin@gmail.com
30/30 4. Заключительные мысли

More Related Content

PPT
Monitoring and Load testing
PDF
Поговорим про performance-тестирование
PPT
Нагрузочное тестирование
PDF
Марина Широчкина - Тестирование
PDF
Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
PDF
JUnit, дай пять!
PPTX
Практические аспекты нагрузочного тестирования
PDF
Проблема наблюдаемости
Monitoring and Load testing
Поговорим про performance-тестирование
Нагрузочное тестирование
Марина Широчкина - Тестирование
Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
JUnit, дай пять!
Практические аспекты нагрузочного тестирования
Проблема наблюдаемости

What's hot (20)

PPTX
Нагрузочное тестирование. С чего начать?
PDF
Теория и практика .NET-бенчмаркинга (02.11.2016, Екатеринбург)
PDF
Евгения Фирсова "Выкладка вёрстки — просто, быстро, безопасно"
PDF
Тестовый оракул: что, где, когда
PPT
Нагрузочное тестирование web-приложений с помощью Load Runner
PDF
Теория и практика .NET-бенчмаркинга (25.01.2017, Москва)
PPTX
Automation testing desktop applications
PPT
6 лекция. тестирование производительности
PPT
02-lection-ka
PPTX
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
PDF
Регрессионное тестирование
PDF
Случайное тестирование
PDF
Дебаггинг
PDF
Грамотная работа с дефект-трекером
PDF
Тестирование ПО (2016)
PPTX
Оракулы в тестировании
PPTX
ОЛЕКСАНДР ЄПІШЕВ «Мутаційне тестування: тести для тестів» Lviv QA Day 2019
PDF
Что такое проект по автоматизации тестирования ПО?
PDF
CodeFest 2012. Липский Н. — JIT vs. AOT. Единство и борьба динамического и ст...
PPTX
"Опыт создания системы управления сборкой и тестированием" (полная)
Нагрузочное тестирование. С чего начать?
Теория и практика .NET-бенчмаркинга (02.11.2016, Екатеринбург)
Евгения Фирсова "Выкладка вёрстки — просто, быстро, безопасно"
Тестовый оракул: что, где, когда
Нагрузочное тестирование web-приложений с помощью Load Runner
Теория и практика .NET-бенчмаркинга (25.01.2017, Москва)
Automation testing desktop applications
6 лекция. тестирование производительности
02-lection-ka
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
Регрессионное тестирование
Случайное тестирование
Дебаггинг
Грамотная работа с дефект-трекером
Тестирование ПО (2016)
Оракулы в тестировании
ОЛЕКСАНДР ЄПІШЕВ «Мутаційне тестування: тести для тестів» Lviv QA Day 2019
Что такое проект по автоматизации тестирования ПО?
CodeFest 2012. Липский Н. — JIT vs. AOT. Единство и борьба динамического и ст...
"Опыт создания системы управления сборкой и тестированием" (полная)
Ad

Viewers also liked (20)

PDF
Как мы сделали многопользовательскую браузерную игру для HL++ с воксельной гр...
PDF
Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу д...
PPTX
Lua в нагруженных телеком-системах / Дмитрий Борисов (ИП Борисов Дмитрий Нико...
PPTX
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
PPTX
Безболезненный Fallback cache на Scala / Олег Нижников (Tinkoff.ru)
PPTX
Хранилище данных Avito: аналитика для микросервисной архитектуры / Артем Дани...
PDF
ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)
PDF
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
PDF
Все, что тимлид должен знать о найме и увольнении / Степан Овчинников (ИНТЕРВ...
PDF
Блокчейн. Lego для интересующихся / Александр Боргардт (GolosCore)
PDF
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
PPTX
Организации в бирюзовом цвете / Мария Груздева (НИУ ВШЭ)
PDF
Проксирование HTTP-запросов web-акселератором / Александр Крижановский (Tempe...
PDF
После подключения DDoS-защиты: как "положат" Ваши ресурсы / Рамиль Хантимиров...
PPTX
Приключения проекта от компьютера разработчика до серьезных нагрузок / Андрей...
PPTX
Как построить хороший performance review: опыт Badoo / Алексей Рыбак (Badoo)
PDF
Рост с нуля до 15000 сообщений в секунду. Мучительный и поучительный / Юрий К...
PDF
Database First! О распространённых ошибках использования РСУБД / Николай Само...
PDF
BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...
PDF
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
Как мы сделали многопользовательскую браузерную игру для HL++ с воксельной гр...
Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу д...
Lua в нагруженных телеком-системах / Дмитрий Борисов (ИП Борисов Дмитрий Нико...
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
Безболезненный Fallback cache на Scala / Олег Нижников (Tinkoff.ru)
Хранилище данных Avito: аналитика для микросервисной архитектуры / Артем Дани...
ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
Все, что тимлид должен знать о найме и увольнении / Степан Овчинников (ИНТЕРВ...
Блокчейн. Lego для интересующихся / Александр Боргардт (GolosCore)
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Организации в бирюзовом цвете / Мария Груздева (НИУ ВШЭ)
Проксирование HTTP-запросов web-акселератором / Александр Крижановский (Tempe...
После подключения DDoS-защиты: как "положат" Ваши ресурсы / Рамиль Хантимиров...
Приключения проекта от компьютера разработчика до серьезных нагрузок / Андрей...
Как построить хороший performance review: опыт Badoo / Алексей Рыбак (Badoo)
Рост с нуля до 15000 сообщений в секунду. Мучительный и поучительный / Юрий К...
Database First! О распространённых ошибках использования РСУБД / Николай Само...
BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
Ad

Similar to Сложности performance-тестирования / Андрей Акиньшин (JetBrains) (20)

PPT
Анализ конкурентов с помощью юзабилити-тестирования
PDF
Victor Kuliamin.CSEDays
PDF
10M tests per day
PPTX
Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...
PDF
тестирование
PPT
КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения
PDF
Марина Широчкина: Тестирование
PPTX
организация и проведение тестирования
PPTX
Илья Фомин - Проблемы автоматизируемости тестирования и их решения
PDF
Дмитрий Исаев - Теория тестирования
PPT
Автоматизация тестирования на крупных проектах
PPTX
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
PPTX
Обзор методов юзабилити-тестирования
PPTX
Надежный тест-дизайн
PDF
Марина Широчкина — «Тестирование»
PDF
«Я спросил у сервера...», Илья Пастушков
PDF
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
PPTX
ACC - конструируем тест-план методом Google
PDF
Test plan Толстова Ольга
PDF
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Анализ конкурентов с помощью юзабилити-тестирования
Victor Kuliamin.CSEDays
10M tests per day
Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...
тестирование
КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения
Марина Широчкина: Тестирование
организация и проведение тестирования
Илья Фомин - Проблемы автоматизируемости тестирования и их решения
Дмитрий Исаев - Теория тестирования
Автоматизация тестирования на крупных проектах
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Обзор методов юзабилити-тестирования
Надежный тест-дизайн
Марина Широчкина — «Тестирование»
«Я спросил у сервера...», Илья Пастушков
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
ACC - конструируем тест-план методом Google
Test plan Толстова Ольга
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...

More from Ontico (20)

PDF
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
PDF
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
PPTX
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
PDF
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
PDF
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
PDF
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PDF
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
PDF
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
PPTX
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
PPTX
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
PDF
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
PPTX
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
PPTX
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
PDF
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
PPT
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
PPTX
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
PPTX
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
PPTX
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
PPTX
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
PDF
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...

Сложности performance-тестирования / Андрей Акиньшин (JetBrains)