Тестирование производительности клиентсайда

Post on 16-Jun-2015

583 views 5 download

description

Доклад Марины Широчкиной, SQA Days-13, 26-27 апреля 2013, www.sqadays.com

Transcript of Тестирование производительности клиентсайда

Марина Широчкина

Тестирование производительности клиентсайд

ДРАМА

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

Вопросы?