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

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

  • Upload
    sqalab

  • View
    583

  • Download
    5

Embed Size (px)

DESCRIPTION

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

Citation preview

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

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

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

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

ДРАМА

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

3

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

4

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

5

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

6

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

7

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

8

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

9

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

10

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

11

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

12

• неоптимальная компоновка• тяжелая страница

и т. д.

Неидеальная верстка

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

13

• меньше ресурсов, доступных браузеру

• замедление работы браузера будет сказываться и на скорости загрузки страницы

Неидеальное железо

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

14

одной промостраницы

Драматическая история

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

15

все плохо, нужно что-то делать

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

Что можно делать?

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

17

• Можно что-то делать на этапе разработки (best practice, отладка)

• Можно что-то делать на этапе эксплуатации (мониторинг)

• Можно что-то делать на этапе тестирования (тестировать и исследовать)

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

18

1На этапе разработки

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

19

1.1. Рекомендации

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

20

Наиболее известны:

• Stoyan Stefanov (http://www.phpied.com/)

• Steve Souders (http://stevesouders.com/)

• Ilya Grigorik (http://www.igvita.com/)

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

21

1.2. Инструменты для оценки в

критериях оптимизации

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

22

Yslow (Firefox/Opera/Chrome/Safari)

PageSpeed (Chrome/Firefox)

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

23

Firebug / Dragonfly / Developer Tools

1.3. Инструменты для отладки

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

24

Можно улучшить, но насколько?

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

25

2На этапе эксплуатации

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

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/

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

Проблемы тестирования

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

28

1Инструменты

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

29

WebPageTest• Онлайн/standalone• IE/Chrome/FF/Android/IOS• Load Time/First Byte/Document Complete/Fully

Loaded – сетевые метрики• Start Render/Speed Index – визуальные метрики• Возможность манипулировать сетью

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

30

WebPageTest

• не все браузеры• ограниченное количество тестов за раз• тесты выполняются долго• проблемы реализации

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

31

BrowserMobProxy+

• комбинируется с Selenium, HarStorage, HarViewer, proxy для управления сетью (Charlies, tc и тд)

• почти все браузеры

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

32

BrowserMobProxy+

• Selenium может аффектить систему/загрузку страницы

• последовательное выполнение тестов (долго)• HAR – сомнительная штука

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

33

Резюме: с инструментами так себе.

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

34

2Проблемы с количеством тестов

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

35

2.1. Комбинаторная проблема

Количество тестов =

= (количество браузеров) *

* (количество сетевых условий) *

* (количество состояний кеша) *

* n

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

36

2.2 Проблема статистической достоверности

n != 1- чтобы исключить шумы

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

37

3Нет наработанных практик

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

38

4Проблемы с метриками

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

39

Информативность метрик -> 0

Например:- время dns lookup- время установки соединения- TimeToFirstByte- время загрузки страницы

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

40

5Проблема формулирования требований

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

41

Правило 0.1 / 1 / 10

• появилось в 1993 году

• все изменилось

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

42

Альтернатива – это утки

• Не хуже, чем раньше

• Не хуже или лучше, чем у конкурентов

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

Что делаем мы?

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

44

Свой инструмент

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

45

Другие метрики

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

46

Браузеры /сеть /кеши

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

47

Проблема количества тестов

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

48

Учимся трактовать полученные результаты

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

49

Это дорого и больно

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

50

Клиентсайд –непаханное поле.

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

51

Проблема есть и – можно ничего не делать

– можно использовать то, что есть

– можно попробовать зайти дальше

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

Марина Широчкина[email protected]

Вопросы?