Post on 16-Jun-2015
description
Марина Широчкина
Тестирование производительности клиентсайд
ДРАМА
3
4
5
6
7
8
9
10
11
12
• неоптимальная компоновка• тяжелая страница
и т. д.
Неидеальная верстка
13
• меньше ресурсов, доступных браузеру
• замедление работы браузера будет сказываться и на скорости загрузки страницы
Неидеальное железо
14
одной промостраницы
Драматическая история
15
все плохо, нужно что-то делать
Что можно делать?
17
• Можно что-то делать на этапе разработки (best practice, отладка)
• Можно что-то делать на этапе эксплуатации (мониторинг)
• Можно что-то делать на этапе тестирования (тестировать и исследовать)
18
1На этапе разработки
19
1.1. Рекомендации
20
Наиболее известны:
• Stoyan Stefanov (http://www.phpied.com/)
• Steve Souders (http://stevesouders.com/)
• Ilya Grigorik (http://www.igvita.com/)
21
1.2. Инструменты для оценки в
критериях оптимизации
22
Yslow (Firefox/Opera/Chrome/Safari)
PageSpeed (Chrome/Firefox)
23
Firebug / Dragonfly / Developer Tools
1.3. Инструменты для отладки
24
Можно улучшить, но насколько?
25
2На этапе эксплуатации
26
<html><head><script type="text/javascript">
var start = new Date().getTime();function onLoad() { var now = new Date().getTime(); var latency = now - start; alert("page loading time: " + latency);}
</script></head><body onload="onLoad()"><!-- Main page body goes from here. --></body></html>
http://www.w3.org/TR/navigation-timing/
Проблемы тестирования
28
1Инструменты
29
WebPageTest• Онлайн/standalone• IE/Chrome/FF/Android/IOS• Load Time/First Byte/Document Complete/Fully
Loaded – сетевые метрики• Start Render/Speed Index – визуальные метрики• Возможность манипулировать сетью
30
WebPageTest
• не все браузеры• ограниченное количество тестов за раз• тесты выполняются долго• проблемы реализации
31
BrowserMobProxy+
• комбинируется с Selenium, HarStorage, HarViewer, proxy для управления сетью (Charlies, tc и тд)
• почти все браузеры
32
BrowserMobProxy+
• Selenium может аффектить систему/загрузку страницы
• последовательное выполнение тестов (долго)• HAR – сомнительная штука
33
Резюме: с инструментами так себе.
34
2Проблемы с количеством тестов
35
2.1. Комбинаторная проблема
Количество тестов =
= (количество браузеров) *
* (количество сетевых условий) *
* (количество состояний кеша) *
* n
36
2.2 Проблема статистической достоверности
n != 1- чтобы исключить шумы
37
3Нет наработанных практик
38
4Проблемы с метриками
39
Информативность метрик -> 0
Например:- время dns lookup- время установки соединения- TimeToFirstByte- время загрузки страницы
40
5Проблема формулирования требований
41
Правило 0.1 / 1 / 10
• появилось в 1993 году
• все изменилось
42
Альтернатива – это утки
• Не хуже, чем раньше
• Не хуже или лучше, чем у конкурентов
Что делаем мы?
44
Свой инструмент
45
Другие метрики
46
Браузеры /сеть /кеши
47
Проблема количества тестов
48
Учимся трактовать полученные результаты
49
Это дорого и больно
50
Клиентсайд –непаханное поле.
51
Проблема есть и – можно ничего не делать
– можно использовать то, что есть
– можно попробовать зайти дальше
Марина Широчкинаpancakyes@ya.ru
Вопросы?