selenium нетрадиционной ориентации или Тестирование...

Post on 19-Nov-2014

2.108 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Selenium нетрадиционной ориентации или

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

О себе

• В IT c 2006• В автоматизации

тестирования с 2007

• Руковожу автоматизацией с 2009

@PapaMinos

2

Когда-то давно…

3

UI – сейчас…

4

GWT ???

5

Google Web Toolkit

Server Side – Java

Client Side – Java (JavaScript)

SWING style

6

Почему это важно

7

8

Метрики

9

Navigation Timing API– Firefox 7.0 +– Google Chrome 6.0 +– Internet Explorer 9.0 +

http://www.w3.org/TR/navigation-timing/

Как собрать метрики

10

В реальности…

11

Более подробно

12

Но есть один момент… (с)

13

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

36,6

Сбор метрик с пользователей

14

• исполнять JavaScript• учитывать сетевые особенности

пользователей• учитывать программно-аппаратные

особенности

Собирать метрики до того как…

15

16

Фермы

• 100 % virtualization (VMWare)

• Jenkins – Remote Control

• Windows, Linux, Zabbix monitoring

• Infrastructure – Squid, Artifactory, iptables

17

Цели

18

Обычное выполнение тестов

19

После рефакторинга

20

• Squid• Но есть и другие

– Windows – • netbalancer, netlimiter

– Linux• netem

Сеть - Ограничение скорости канала

21

• iptables + stats module• Но есть и другие

– Windows• Network simulator

– Linux• netem

Сеть – Потеря пакетов

22

Сбросить кэш браузера – Google Chrome

23

Сбросить кэш браузера – Google Chrome

24

Ключи запуска Google Chrome

http://peter.sh/experiments/chromium-command-line-switches/

chrome://cache – просмотр содержимого кэшаchrome://about – служебные страницы Google Chrome

Еще о Google Chrome

25

Сбросить кэш браузера – Firefox

26

Сбросить кэш браузера – Opera

27

Сбросить кэш браузера – Opera

opera:cache

28

Сбросить кэш браузера – Internet Explorer

1. Как писать плагин

2. Исполнить код на клиенте (Embedded Jetty)

29

Загрузить страницу

No comments

driver.get(url);

30

Снимаем метрики

1.360503424038E121360503333655

vs.

31

Отчеты - Jenkins

32

Отчеты - Jenkins• Имя метрики • Количество измерений (план, факт)• Описательная статистика

– минимум, максимум– среднее значение– 50% перцентиль – 90% перцентиль

33

Средние + перцентили

34

Перцентили в динамике

35

Логи - Jenkins

36

Об этом мы уже рассказывали на ADD-3http://bit.ly/JG632d

Аналитика – DWH (BI)

37

Возьмите готовый тестовый фреймворкСделайте рефакторингОграничьте скорость каналаСбросьте браузеру кэшЗагрузите страницу, с которой хотите собрать

метрикиСнимите метрикиСкладируйте метрики

Наш «рецепт»

38

• Точность • Технические ухищрения• Экономия ресурсов

Чего здесь нет

39

• Ускорение процесса сбора метрик• Управление аппаратной конфигурацией

клиента• Географически распределенная ферма для

проведения замеров• Встраивание в процесс

Что дальше

40

• Встраивайте метрики в приложение • Собирайте метрики• Анализируйте метрики

Итого

Спасибо!Никита Макаров Руководитель группы автоматизации тестирования,Одноклассникиnikita.makarov@odnoklassniki.ru

42

есть такая работа – сидеть в «Одноклассниках»

http://v.ok.ru

И, да…

top related