64
Субботник, Новосибирск, 19 ноября 2011 года Ведущий инженер по тестированию Илья Кацев Автоматизация тестирования вебформ

Илья Кацев "Автоматизация тестирования веб-форм"

  • Upload
    yandex

  • View
    1.067

  • Download
    4

Embed Size (px)

DESCRIPTION

Илья Кацев "Автоматизация тестирования веб-форм" Я.Субботник в Новосибирске О докладе: Рассказ пойдет о том, как в Яндексе организовано автоматическое тестирование форм в веб-интерфейсах. В зависимости от того, какая информация о форме нам известна, мы можем проводить различные тесты. В каких ситуациях можно автоматически распознать и выделить элементы формы на странице, даже если никакой информации о странице у нас нет? Как мы создаем наборы тестовых сценариев для проверок, когда уже обладаем какой-то информацией о форме?

Citation preview

Page 1: Илья Кацев "Автоматизация тестирования веб-форм"

Субботник,  Новосибирск,  19  ноября  2011  года  

Ведущий  инженер  по  тестированию  Илья  Кацев  

Автоматизация  тестирования  веб-­‐форм  

Page 2: Илья Кацев "Автоматизация тестирования веб-форм"

Примерный  план      

 Зачем?    

 Распознавание  форм    

 Генерация  данных    

 Универсальные  проверки    

 Нерешенные  проблемы      

1

Page 3: Илья Кацев "Автоматизация тестирования веб-форм"

Примерный  план      

 Зачем?    

 Распознавание  форм    

 Генерация  данных    

 Универсальные  проверки    

 Нерешенные  проблемы      

2

Page 4: Илья Кацев "Автоматизация тестирования веб-форм"

Лень  

 Тестирование  вручную          

       

3

Page 5: Илья Кацев "Автоматизация тестирования веб-форм"

Лень  

 Тестирование  вручную      

     Автотесты      

       

3

Page 6: Илья Кацев "Автоматизация тестирования веб-форм"

Лень  

 Тестирование  вручную      

     Автотесты      

         Универсальные  автотесты      

   

3

Page 7: Илья Кацев "Автоматизация тестирования веб-форм"

Роботы  

4

Page 8: Илья Кацев "Автоматизация тестирования веб-форм"

Spidy  

5

Page 9: Илья Кацев "Автоматизация тестирования веб-форм"

Список  проверок:  

Ссылки    Картинки    JS    Стили  

6

Page 10: Илья Кацев "Автоматизация тестирования веб-форм"

Spidy-­‐man  

7

Page 11: Илья Кацев "Автоматизация тестирования веб-форм"

Новые  возможности  

Формы    Верстка  

8

Page 12: Илья Кацев "Автоматизация тестирования веб-форм"

Новые  возможности  

Формы  

   Проверки                                  Обход    

8

Page 13: Илья Кацев "Автоматизация тестирования веб-форм"

Примерный  план      

 Зачем?    

 Распознавание  форм    

 Генерация  данных    

 Универсальные  проверки    

 Нерешенные  проблемы      

9

Page 14: Илья Кацев "Автоматизация тестирования веб-форм"

Сложность  

     

   

10

Page 15: Илья Кацев "Автоматизация тестирования веб-форм"

Сложность  

     

   

44800000  сценариев!    

10

Page 16: Илья Кацев "Автоматизация тестирования веб-форм"

Сложность  

     

   

10

Page 17: Илья Кацев "Автоматизация тестирования веб-форм"

Сложность  

     

   

2800  сценариев!    

10

Page 18: Илья Кацев "Автоматизация тестирования веб-форм"

Структура  формы  

     

   

11

Page 19: Илья Кацев "Автоматизация тестирования веб-форм"

Структура  формы  

     

   

11

Page 20: Илья Кацев "Автоматизация тестирования веб-форм"

Структура  формы  

     

   

11

Page 21: Илья Кацев "Автоматизация тестирования веб-форм"

Определение  формы  

           <form>    

       js                  js:dynamic  

 

12

Page 22: Илья Кацев "Автоматизация тестирования веб-форм"

Как  определить  зависимости?  

         1.  Анализ  JS  

     2.  Анализ  изменений  страницы  

 

12

Page 23: Илья Кацев "Автоматизация тестирования веб-форм"

Релевантные  элементы  

13

Page 24: Илья Кацев "Автоматизация тестирования веб-форм"

Релевантные  элементы  

div  

14

Page 25: Илья Кацев "Автоматизация тестирования веб-форм"

Релевантные  элементы  

       

div  

14

Page 26: Илья Кацев "Автоматизация тестирования веб-форм"

Релевантные  элементы  

       

div  

14

Page 27: Илья Кацев "Автоматизация тестирования веб-форм"

Релевантные  элементы  

       

14

Page 28: Илья Кацев "Автоматизация тестирования веб-форм"

Граф  элементов  

       

15

Page 29: Илья Кацев "Автоматизация тестирования веб-форм"

Граф  элементов  

       

15

Page 30: Илья Кацев "Автоматизация тестирования веб-форм"

Граф  элементов  

16

Page 31: Илья Кацев "Автоматизация тестирования веб-форм"

Граф  элементов  

16

Page 32: Илья Кацев "Автоматизация тестирования веб-форм"

Граф  элементов  

16

Page 33: Илья Кацев "Автоматизация тестирования веб-форм"

Граф  элементов  

16

Page 34: Илья Кацев "Автоматизация тестирования веб-форм"

Граф  элементов  

16

Page 35: Илья Кацев "Автоматизация тестирования веб-форм"

Граф  элементов  

16

Page 36: Илья Кацев "Автоматизация тестирования веб-форм"

Граф  элементов  

16

Page 37: Илья Кацев "Автоматизация тестирования веб-форм"

Распознавание  полей  ввода  

           input                                            имя                                        тип  поля  

17

Page 38: Илья Кацев "Автоматизация тестирования веб-форм"

Распознавание  полей  ввода  

           input                                            имя  

17

Page 39: Илья Кацев "Автоматизация тестирования веб-форм"

Распознавание  полей  ввода  

     

18

Page 40: Илья Кацев "Автоматизация тестирования веб-форм"

Распознавание  полей  ввода  

     

getText = “”

18

Page 41: Илья Кацев "Автоматизация тестирования веб-форм"

Распознавание  полей  ввода  

     

getText = “Пробег до(тыс. км.)”

18

Page 42: Илья Кацев "Автоматизация тестирования веб-форм"

Распознавание  полей  ввода  

     

getText = “”

18

Page 43: Илья Кацев "Автоматизация тестирования веб-форм"

Распознавание  полей  ввода  

     

getText = “Объём двигателя отдо(л)”

18

Page 44: Илья Кацев "Автоматизация тестирования веб-форм"

Примерный  план      

 Зачем?    

 Распознавание  форм    

 Генерация  данных    

 Универсальные  проверки    

 Нерешенные  проблемы      

19

Page 45: Илья Кацев "Автоматизация тестирования веб-форм"

Схема  

           

информация            о  форме        

20

Page 46: Илья Кацев "Автоматизация тестирования веб-форм"

Схема  

           

информация            о  форме          покрытие      

20

Page 47: Илья Кацев "Автоматизация тестирования веб-форм"

Схема  

           

информация            о  форме  

                 алгоритм        покрытие      

20

Page 48: Илья Кацев "Автоматизация тестирования веб-форм"

Схема  

           

информация            о  форме  

                 алгоритм        покрытие      

               количество  сценариев  

20

Page 49: Илья Кацев "Автоматизация тестирования веб-форм"

Тестовые  значения  

   e-­‐mail        

Значение   Вес  

[email protected]   1  

[email protected]   1  

[email protected]   0.8  

[email protected]   0.7  

…   0.5  

0.5  

0.3  

0.1  

21

Page 50: Илья Кацев "Автоматизация тестирования веб-форм"

Тестовые  значения  

         вес            

   

Поле  

От  

До  

Год  

Модель  

Пробег  

21

Page 51: Илья Кацев "Автоматизация тестирования веб-форм"

Тестовые  значения  

         0.5            

   

Поле  

От   10  

До   10  

Год   7  

Модель   12  

Пробег   5  

21

Page 52: Илья Кацев "Автоматизация тестирования веб-форм"

Тестовые  значения  

         0.8            

   

Поле  

От   3  

До   3  

Год   1  

Модель   4  

Пробег   2  

21

Page 53: Илья Кацев "Автоматизация тестирования веб-форм"

Схема  

           

                 вес    

                 алгоритм        покрытие      

               количество  сценариев  

22

Page 54: Илья Кацев "Автоматизация тестирования веб-форм"

Поисковые  формы  

           набор  условий  

23

Page 55: Илья Кацев "Автоматизация тестирования веб-форм"

Поисковые  формы  

           набор  условий                                                  0  результатов  

23

Page 56: Илья Кацев "Автоматизация тестирования веб-форм"

Поисковые  формы  

           набор  условий                                        

поднабор  

поднабор  

поднабор  

23

Page 57: Илья Кацев "Автоматизация тестирования веб-форм"

Примерный  план      

 Зачем?    

 Распознавание  форм    

 Генерация  данных    

 Универсальные  проверки    

 Нерешенные  проблемы      

24

Page 58: Илья Кацев "Автоматизация тестирования веб-форм"

25

Page 59: Илья Кацев "Автоматизация тестирования веб-форм"

26

Page 60: Илья Кацев "Автоматизация тестирования веб-форм"

27

Page 61: Илья Кацев "Автоматизация тестирования веб-форм"

28

Page 62: Илья Кацев "Автоматизация тестирования веб-форм"

Примерный  план      

 Зачем?    

 Распознавание  форм    

 Генерация  данных    

 Универсальные  проверки    

 Нерешенные  проблемы      

29

Page 63: Илья Кацев "Автоматизация тестирования веб-форм"

Нерешенные  проблемы      

     

     Сложные  формы                      

       ajax      

30

Page 64: Илья Кацев "Автоматизация тестирования веб-форм"

 

bromozel@yandex-­‐team.ru  

 

Ведущий  инженер  по  тестированию  Илья  Кацев